Why are little kids in Japan so independent? - <AUTHOR> http://www.citylab.com/commute/2015/09/why-are-little-kids-in-japan-so-independent/407590/ <comment><USER2> I would love to be able to do this with my 3yo son...but there are two things stopping me: Cars and helicopter parent culture.

Cars, and the entitled culture we have fostered around them, make streets hostile to pedestrians and likely fatal to small children, even if children followed the laws and common sense. I experience it practically daily. Every time I cross the street at a marked intersection, cars will stop for me 9/10 times. At unmarked intersections, its more like 5/10\. Crossing at a stoplight with a walk signal on is still precarious because of the tendency of many drivers to blow through crosswalks without stopping so they can turn right on red. _Every single day_ I experience a situation that could be fatal to a less visible child with a more fragile body and slightly worse situational awareness. No way.

The second problem is the CPS story. My neighborhood is extremely safe, but the parents here are borderline psychotic about helicoptering their way through their children's lives. Every time I take my kid to a playground, I end up witnessing helicopter parents freaking out about how my kid will climb a ladder by himself or jump off of a piece of equipment by himself... sometimes they swoop in to "parent" for me...and other times they will chew me out for being so irresponsible as to let my kid learn his own boundaries. As much as I respect the mission of CPS, I've heard enough horror stories about their enforcement of parenting methodology that I wouldn't ever risk having them called because my kid walked to the park by himself.

It's a shame.

<comment><USER3> As a foreigner, "right on red" seems insane to me.

<comment><USER4> I agree entirely, I also have an issue with "yield on green".

Green means "go" at 99% of the lights I run into. Then there's that _one_ left turn I make that's "yield on green" and I'm not supposed to turn. I'm not surprised at all that the intersection has the most accidents annually. I don't think many people are used to yield-on-green lights... so many T-bones its amazing they haven't changed the traffic flow.

<comment><USER5> What's yield on green? Isn't that a regular green light (you can't turn left unless nobody is coming at you)?

That's how the vast majority of green lights work here in Canada...

<comment><USER4> It's a rarity in my part of the state. There are only 2 intersections that don't have protected left turns and are yield-on-green. They both have triangular signs stating they are yield-on-green and those signs get ignored.

I've been honked at and nearly rear-ended because I yield-on-green on protected turns at unfamiliar lights where I expect them to be yield-on-green (I assume any lane without a dedicated _arrow_ light to be yield-on-green.)

The intersections around here give opposite sides protected left turns, then normal straight traffic flow. None but the "weird two" are yield-on-green and those two intersections, as a result, have a ton of accidents caused by people not yielding properly.

It probably wouldn't be as big of an issue if every other light in the town was yield-on-green instead of protected. It's the fact that those two lights are the only "special" ones that I think causes the problem. Since everyone is used to having a protected turn, people ignore the "yield on green" sign and turn into oncoming traffic (whom they think have a red light).

</comment></comment></comment></comment></comment><comment><AUTHOR> OP here - just my own thoughts:

I've lived here 13 years & am raising 2 girls who both have been able to live in the manner described in the article.

1) The number one reason why we feel comfortable is the number of "safe" people constantly around. In Japan, every apartment building of size has maintenance people who stay several years and know all the children in the neighborhood, and recognize strangers. Every supermarket has parking attendants. Every construction site has "guards" to make sure people cross the area safely. Every train station has staff around. Many grade schools have patrols of parents who literally "sweep" the neighborhood right before school lets out, just checking that no "out of place" people are hanging around in the parks and neighborhoods.

What this REALLY adds up to is like the article said - there are always people out there keeping an eye on things.

2) "Japan is safe" \- yes, but assaults on children/young people are a problem, and parents worry. My first point prolly rules, but we are still selective in when & where they can do that. We make sure someone is meeting them on the other end. It IS safe, but not all "roses".

Just my thoughts

<comment><USER6> > In Japan, every apartment building of size has maintenance people who stay > several years and know all the children in the neighborhood, and recognize > strangers. Every supermarket has parking attendants. Every construction site > has "guards" to make sure people cross the area safely. Every train station > has staff around.

It is difficult to have this when a man interacting with a small child is at risk of being accused of being a pedophile.

<comment><USER7> I fully agree agree. The most shameful moment I experienced in England, when I lived there with my small children whom we'd previously raised in Japan, was when I was asked by a concerned parent whether I had a permit to be in a place where children were present. Apparently all of those other parents had already applied to the government and been vetted to be in a play room attached to a public library.

That was when I realised things were not the same in England. I felt sickened and angry at a such society-wide presumption of guilt.

<comment><USER8> I am a Spaniard who lived in UK and I feel that this is the most sick aspect of British society. For them, every single man is a monster that will molest children if he has the opportunity.

Things like sitting on a bench to read next to the children's playground, or crossing a park next to them, can put you in trouble.

</comment></comment></comment></comment><comment><USER9> Japanese parents probably were never warped by "milk carton kids" \-- throughout the 1980s and 1990s in the U.S., we'd see missing kids plastered on the sides of our milk cartons. It made people think that kids were being kidnapped by strangers all the time, when in fact nearly all the missing kids shown on the cartons were either runaways or were taken by a parent involved in a custody dispute (bad, sure, but not the same thing as a stranger kidnapping them). The national hysteria that resulted from this led to our current era of helicopter-parented kids. I was a kid just before all this happened, so I consider myself a member of the last generation of free range kids in the U.S.

For more information see [http://www.straightdope.com/columns/read/2402/how- many-kids-...](http://www.straightdope.com/columns/read/2402/how-many-kids- are-found-as-a-result-of-missing-child-posters)

</comment><comment><USER10> > This assumption is reinforced at school, where children take turns cleaning > and serving lunch instead of relying on staff to perform such duties. This > "distributes labor across various shoulders and rotates expectations, while > also teaching everyone what it takes to clean a toilet, for instance," Dixon > says.

> Taking responsibility for shared spaces means that children have pride of > ownership and understand in a concrete way the consequences of making a > mess, since they'll have to clean it up themselves. This ethic extends to > public space more broadly (one reason Japanese streets are generally so > clean). A child out in public knows he can rely on the group to help in an > emergency.

This sounds alot like a Montessori school philosophy. I've got two kids in one and that's one of the biggest things we love about the school.

The freedoms that the kids are allowed and the lack of constant hand holding is something that we really appreciate.

<comment><USER11> Also a Montessori parent and I couldn't agree more.

Our kids were in a private Montessori school from Pre-K to 1st. Due to some issues with the owner (that unfortunately forced her to shut the school down) we had to put my daughter in public school for the remainder of 1st grade. She hated it. She kept asking us, "Why do I have to sit at that desk all day?"

Contrast that to their new school where on the first Back To School Night, one kid was literally jumping up and down excited to start school the next day.

</comment></comment><comment><USER12> > "Japan has a very low crime rate, which is surely a key reason parents feel > confident about sending their kids out alone. But small-scaled urban spaces > and a culture of walking and transit use also foster safety and, perhaps > just as important, the perception of safety."

Honestly, this perception – that they try to place secondary – is KEY. Living in Japan, it's a stark contrast to walking around the States in any major city. Japan feels – and is – significantly safer.

<comment><USER13> New York has a walking and transit culture similar to Tokyo. Yet most New Yorkers would not feel comfortable sending a six year old out alone. I don't think walking and transit use is alone responsible for the difference.

<comment><USER14> I don't think anyone perceives New York as safe enough for sending children out alone.

<comment><USER15> Native New Yorker here. Growing up in the 80's and 90's (when crime was at it's peak), it was common among everyone I grew up with to ride the subway/bus alone and generally explore the neighborhood alone/with friends. I remember my mother being slightly apprehensive when I started commuting to school alone in 4th grade, but it wasn't a major issue.

As many have pointed out, the culture has simply changed. Crime is way down, but ironically people are more afraid to let their children travel unsupervised than when I was a kid.

As a side note, I did get lost on the train once (while in the care of a relative. She got off the train and forgot to take me with her.) I was asleep and woke up at a stop I didn't recognize. While I remember being a little apprehensive, I simply walked over to the woman in the token booth, explained I was lost and had gotten separated from my aunt. She let me inside the booth and called my mom, who came and picked me up. All in all, it wasn't a huge affair. I think if that happened today police and CPS will probably turn it into a major incident of possible child neglect.

<comment><USER16> Part of the problem is that there is no longer a woman in the token booth.

</comment></comment></comment></comment></comment><comment><USER17> I spent four years growing up in Japan (my parents were ESL teachers) and I attended Japanese public schools for 2nd/3rd grade and sophomore year of college. What the article says is very true; I feel like strangers can be trusted in Japan but not here in NYC. There is strong pressure in Japan to do what's good for others: be clean, be quiet, be honest, be economical. There is also strong pressure to follow the social norm and to not take risks, which affects startup culture in Japan like [https://news.ycombinator.com/item?id=8573992](https://news.ycombinator.com/item?id=8573992) describes well. Both these traits have one thing in common: they point to Japan's exceptionally homogenous culture. I really wish we could have the ubiquitous "care for others" mentality alongside the "be yourself" mentality, but so far I've not seen anywhere that is very much the case. If anyone has seen it I'm really interested to know.

<comment><USER18> > I really wish we could have the ubiquitous "care for others" mentality > alongside the "be yourself" mentality

Agreed. I'm not even sure if it's possible for those to coexist, but it's wonderful to imagine - discover yourself and your place in the world while respecting others and recognizing that your actions can negatively affect them. The US has too little of the "care for others" mentality, as evidenced by the large number of individuals who do not believe in climate change and see environmentalism in general as useless government meddling.

<comment><USER19> They can, but it's a balancing act. One that is constantly under threat by advertisement and similar that push the self above all else.

I sometimes wonder if one need to experience real hardship for the idea to set in. To really experience the need for cooperation to get something done.

</comment></comment></comment><comment><USER20> It's impolitic to notice it, but America used to be a lot like this as well. See, e.g., _Bowling Alone_ by Harvard political scientist Robert Putnam ([http://www.amazon.com/Bowling-Alone-Collapse-American- Commun...](http://www.amazon.com/Bowling-Alone-Collapse-American- Community/dp/0743203046)). One of Putnam's main conclusions: a principal factor undermining social cohesion (corresponding to a decline in "social capital") is _diversity_. We're constantly bombarded with messages that "diversity is our strength," etc., but you'll note that Japan isn't exactly _diverse_ by our standards. Neither does it face much pressure to allow massive immigration to change that.

You may still believe in the benefits of diversity, but there are also costs. One of them is that little kids can't ride American subways alone.

</comment><comment><USER21> I'm from Spain and I've traveled Europe a bit. Kids here go to school alone since they are 6-8 years old, they take the bus/metro, they do errands alone. That's the norm. It also happens in North Africa and Middle East. And, as the article says, it's the norm in Japan too.

Actually, the headline should read "why are USA little kids the only ones so dependent?"

I could go ahead and be a demagogue and say it's because all the helicopter parenting and the fear mass media... but I think it has more to do with the fact that we can go walking anywhere.

Europeans in general, and Spaniards in particular, live on the streets. We hardly use cars: most things are at walking distance, and public transportation is fine. Real crime, like abductions and violence, is very rare, and people help each other.

Local policemen (non-militarized) are everywhere and they help any lost kids. I have been lost maybe a couple times, in a supermarket and in a foreign city and, while I lament the stress that caused on my parents, they knew that I would turn up at some point. And I did. I was a little kid and I was just... lost. That happens and it's not a huge deal.

I'll turn the argument 180 degrees: the USA is a very, very young country. You know what they say, in Europe, 1000 km is a long distance, and in the US, 1000 years is a long time. We've been living in small cities literally since the dawn of time. We've walked. Many cities have streets where cars don't even fit.

It is mainly a car and culture problem. However, it'd be an improvement if you americans could convince your mass media not to constantly spread fear. We also have those fake-fear-documentaries but most people disregard them for what they are: yellowish press crap.

</comment><comment><USER22> They have "My First Errand", we have Dateline NBC and America's Most Wanted. What else should we expect?

I think Americans have an almost pathological reflex to gaze at sentimental stories that are sensational because they are exceptional, then use them as guidelines for how the world is now.

The sentimentality aspect, which drives interest, outrage and action, is what makes it so pernicious. Sentimental appeal is what drives our politics, media and fundraising. If there's no emotional aspect, our media is quick to invent one by creating angles like arguments between talking heads.

I know many on HN understand that there are fewer than 200 stranger abductions of children per year in the US. Maybe you even know that runaways have decreased by over 70% in the last ten years.

How would the US public ever know this?

In the emotional marketplace, that simple fact can't compete with these facts which, when conflated in the media, produce utter paranoia:

[http://www.missingkids.com/KeyFacts](http://www.missingkids.com/KeyFacts)

I have nothing against the work this organization does; they are as captive to the existing narrative as police or parents or anyone else.

I think the progress in this area is that through electronic media, we can actually measure pretty easily how informed the public is by the media they consume. Hopefully we can get closer to news that demonstrably informs people.

<comment><USER23> _Americans have an almost pathological reflex to gaze at sentimental stories that are sensational because they are exceptional_

I don't think those stories are sentimental - sentimental to me means stories like 'adopted siblings reunited after 40 years or something.' The crime- centric TV shows you mention tap into a kind of latent sadism which allows people to vicariously enjoy the violence of gruesome crimes and then project their bad feelings about themselves on the perpetrator, revving up the sadism again in anticipation of an impending execution or a lifetime rotting away behind bars. They are a form of ritually desexualized pornography.

</comment></comment><comment><USER24> The real question is: why are kids in the US lacking in independence? Most of what this article says about kids in Japan applies to a lot of countries in the EU as well. Why is the US somehow different?

<comment><USER25> The US has an outsized culture of fear that's far in disproportion to other countries. The reasons are complex but I'd posit one major factor is that the US has, by far, the most commercial and competitive media market of any country. This leads to the normalization of sensationalism in the chase for ratings and a systematic distortion of reality.

Watch the movie Nightcrawler for an example of the type of culture that pervades newsrooms around the country and understand the effect that has on people's decisions regarding safety.

</comment></comment><comment><USER26> Interestingly, the same also tends to happen in Germany frequently.

Helicopter parents tend to be more of a US-American invention.

The question is how helicopter parents will change the way the next generations behave in society, as children have to take responsibility and become independent at some point.

</comment><comment><USER27> And this is in stark contrast to my neighborhood in the USA, where parents will wait with their children for the schoolbus pickup... not even a block from their own house.

Now granted, we occasionally have reckless drivers speeding down the street. There isn't as much respect for pedestrians in the USA, so I guess that's a factor.

<comment><USER28> A lot of this is because of assumptions made by other people & law enforcement. A couple friends of mine had DSS called on them for letting their two daughters, ages 10 & 5, walk to a park a block away, with a cell phone, within shouting distance, while their mother was at home. The charges were eventually dropped, but it's not really a hassle that any parent wants to go through.

The assumption in many parts of the U.S. is that if kids don't have a parent standing next to them, they aren't safe. In many cases, they're not safe _because_ that's the assumption.

<comment><USER29> I agree that there seems to be a state of constant paranoia, but could you elaborate on this:

> In many cases, they're not safe _because_ that's the assumption.

<comment><USER30> Many people are now overprotective of their children not because of fear of crime but because of fear that the state will take those children away if they're not kept in bubble-wrap and on leashes 24/7.

</comment></comment></comment></comment><comment><USER31> _Japan has a very low crime rate, which is surely a key reason parents feel confident about sending their kids out alone._

They mention a lot of good things. What they don't mention is that Japan has a relatively high average age. It is a country full of old people.

In Africa, when too many adult elephants get killed, you see unsupervised adolescent elephants get injuries that essentially never happen if there are enough adults around. Countries with an average young age for the population tend to have more problems, generally speaking, especially with a violent angle, whether violent crimes or civil war or terrorist groups or what have you.

This is not the sort of thing where you directly observe "Specific old person does X, young people respectfully go along and we can see how it happens." It is more subtle than that. But the effect nonetheless exists.

I think it is a good article, but I think that detail is one they overlooked.

<comment><USER32> It was extremely safe 20, 30 years ago too. I don't believe this is a factor.

<comment><USER31> I am 50 years old. When I was a child in the U.S., I also went where I wanted without a parent and so did other kids.

The world was different 20-30 years ago. I don't know that how safe it was 20-30 years ago has any bearing on the current conditions in Japan as compared to the rest of the world currently.

<comment><USER32> Japan wasn't always filled with old people (even this is overstated as a percentage of the population,) and it was still extremely safe. I witnessed this firsthand.

Japan has a culture that expects and reinforces cooperation and responsibility and respect, and it's ethnically homogeneous enough that this is manifested even between strangers. It also doesn't have the kind of downright devastating poverty that I've seen in the USA even in well-off cities. There are a lot of reasons that Japan can do things we can't do, but I don't believe the percentage of old people has much if anything to do with it.

<comment><USER31> This is where we agree to disagree. "Old people" is just one factor in my opinion. It doesn't throw any of the others out. (For that matter, "high average age" doesn't mean "a country of old people." It can also mean "A country with fewer children." Edit: I guess I am the person who used that phrase to start with, but I feel like you are twisting my meaning, I guess.)

Have a good day.

<comment><USER32> I interpreted it in the context of repeated "demographic crisis" claims about Japan getting older. I still read it that way, but if that wasn't your intent, I apologize.

<comment><USER31> I used to have several friends in Pakistan, a country with a relatively low average age. IIRC, Pakistan is the "youngest" country on the planet, demographically speaking, and has a lot of problems that grow out of that. So I have read up a bit on how average age interacts with things like crime rates, tendency to be involved in violent organizations, etc.

More adults/higher average age/demographic shift in one direction or the other has a known impact on group tendency towards either civility or violence. The most violent groups on the planet are predominantly made up of young men under a certain age. Governments take advantage of that reality for filling the ranks of their military branches.

Anyway, maybe I am just saying it badly.

Have a good day.

<comment><USER33> Why the "used to"? Did they all leave?

<comment><USER31> Friends come and go. We fell out of touch.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER34> Why single out Japan? Come and visit most of Europe and observe the same.

<comment><USER35> I seriously think it's the car culture of US. You move around outside of your immediate neighborhood enclosed in your car, cut off from others except for occasional eye contact or hand motion at stop signs.

And that somehow seems to have translated into a mentality of cannot trust anyone other than immediate family/friends.

</comment></comment><comment><USER36> This sounds normal where I'm from (Norway). The cities are slightly smaller here though.

<comment><USER37> "Sligthly smaller"? The article mention Tokyo, that has more than twice the population of the whole Norway :-)

<comment><USER36> On the other hand, people here are a bit larger on average. Evens out I guess.

</comment></comment></comment><comment><USER38> I saw the same elsewhere except for US.

Not only we drive kids all around in the car to get things done, we also need tell them "not talk to strangers" etc if they happened to be walk home from nearby school.

And the school always need more parents to be lunch helpers or recess watchers, of course PTAs etc, all the way so kids entering college are still treated like a baby to some extent. no wonder many of them live with their parents at adult age after they graduate, we just blame the economy for that though.

In addition, soon we may need armed guards on k-12 campus to keep them safe? for some colleges they will need learn how to carry a gun to stay safe.

</comment><comment><USER39> >Kaito's stepmother says she wouldn't let a 9-year-old ride the subway alone in London or New York—just in Tokyo.

If you do it in New York, you'll probably get a visit from Child Protective Services.

<comment><USER40> In London it would be moderately unusual - children have to pay for the metro, but buses are free, so they often use buses.

Wealthy children are more likely not to go to their local school, so they might need the metro.

</comment></comment><comment><USER41> > A popular television show called Hajimete no Otsukai, or My First Errand, > features children as young as two or three being sent out to do a task for > their family.

I want to try this with my 3 year old. Find a very large park which has a canteen or shop at one end and send him off to buy something. I'd still like him to be visible, but it seems like it would be really fun and empowering.

<comment><USER42> Keep us posted on your endeavour!

</comment></comment><comment><USER43> It seems driving kids in cars (to school etc) is unsafer (due to more obesity and car accidents) than letting them walk after a certain age. I think in Canada there have been no cases [citation needed, maybe a handful] of children abducted by strangers, they are always family members.

</comment><comment><USER44> > _Ideally, any member of the community can be called on to serve or help > others._

After 9 years living in North America, that one line explains the difference between here and my home country better that I've ever been able to.

On a daily basis, it just feels like Americans are not in a unified society working together to help each other and have a common good - it's a much more individualistic society where everyone is looking out for number one. If someone else has shitty healthcare and is on hard times, too bad for them.

The Police in my home country are friendly and helpful, and I fondly remember asking them for help as a child and young teen. Upon arriving in NYC, I asked a policeman for directions and he barked at me for not calling him "Sir". Wow.

</comment><comment><USER35> Same thing in Seoul, South Korea also. Little kids walk/subway to school or go to friends' place without parents or older siblings. No such thing as play date being arranged by parents as done in US. Kids do it themselves.

All within artillery range of North Korea too.

</comment><comment><USER45> Reading this article, I can forsee comments about how American kids are being messed up since they can't go and do things freely, pointing to this story about Japan as an example.

While I myself would wish to live in a community where this kind of behavior is OK or encouraged (I'd like for my son to be able to walk to the grocery store a quarter mile away at age 6 or 7 without fear of societal repercussions), I also reject some of the narrative that this article seems to be putting forth (and I predict the comments here will also put forth) that if we let our kids be independent, they'll turn out better. They might, they might not. They'll definitely have a different set of problems, just like every generation before them.

<comment><USER46> There were articles from just a couple of months ago about parents being charged with child endangerment for allowing their 10 year old to walk home from the bus stop in a safe neighborhood.

[http://www.usatoday.com/story/news/nation/2015/04/13/parents...](http://www.usatoday.com/story/news/nation/2015/04/13/parents- investigated-letting-children-walk-alone/25700823/)

</comment></comment><comment><USER47> Because Japan is a cohesive, rather than atomized, society.

</comment><comment><USER4> Honestly - a large amount of crimes in Japan go unreported. Many murders are written off as suicides (which contributes to the high suicide and low murder rates reported by the government...). I don't really trust crime statistics coming from a country that's heavily influenced by Yaks.

This has to do entirely with _public perception_ (as user alexleavitt also mentioned).

In Japan, I feel safe to leave my bag on a bench while I go use a public restroom. I expect my bag to be there when I return. It's probably not any safer, in reality, than it is where I am in the States - but I would never leave my bag on a table unattended where I live. I would expect it to be stolen.

In reality, it would probably be there when I get back. No different than in Japan.

When I walk around Los Angeles at night, I walk defensively and make sure I keep alert at all times and I'm always paying attention to my surroundings. When I was walking around Tokyo at night - it felt no different than the day. Except it was dark outside. I'm certain that had I had better knowledge of the "dangerous" streets of Tokyo, my perception would be different.

If I feel safe, I'm likely to feel my child is safe. In the US, a child walking on the streets in most suburbs is likely just as safe as in Japan... but public perception means you'll get child protection services called on you if you think about letting your 9 year old walk down the block to the store to buy a soda.

<comment><USER48> You were doing so well until you brought up the CPS boogeyman, which is as much a part of the baseless fear culture you're deriding as anything else.

Getting in trouble with CPS over letting your kid be independent is as unlikely as any of the other horror stories the media (and your friend's cousin's hairdresser) pushes about childhood. CPS employees are stretched thin on full-blown abandonment and horrifying abuse cases, and don't care if some kid walks down the street alone.

<comment><USER4> The CPS boogeyman was hyperbole, yes. Few freerange parents get charged with anything, but a few do still have to deal with investigations or charges by local police. Is it isolated? Yes. But it happens. Even if police don't get involved, you get flak/judgement from neighbors and nosy busy bodies butting into your business and trying to parent your kid(s). That happens a _lot_ more and is something most any free range parent in a suburb knows the feeling of.

The fear is there and my father had plenty of issues with busy body neighbors and the police being called because of an "unattended child" (me). The shit happens and my own mother is one of the judgmental busy bodies herself; looking down on her neighbor for letting their 11 year old child to play jump rope with her friend in the front yard of their house. Has my mother called CPS on the neighbor? No. But she treats them like shit and refuses to let my sisters' visit their house in fear they'll do something "unattended".

Yes - those two examples were very personal anecdotes. But it's not like I'm the only person to ever deal with this stuff. A great thing about the internet is you get to meet countless other people who have the same issues you have:

[http://www.freerangekids.com/why-do-i-keep-scaring-people- wi...](http://www.freerangekids.com/why-do-i-keep-scaring-people-with-stories- of-good-parents-hounded-by-the-authorities/)

If the US didn't have a culture of fear and nosy busy-bodies butting into other peoples' business at every turn, this wouldn't even be a discussion and "free range parenting" wouldn't even be a term. It would be called "parenting". Like how it is in the UK, Japan, and many other countries.</comment></comment></comment>


How Twitter Users Balanced the Budget - <AUTHOR> http://www.nytimes.com/interactive/2010/11/21/weekinreview/21leonhardt-graphic.html <comment><USER2> I wonder why the NYTimes only publishes this data for Twitter users. It's not like it would be hard to store it for everyone...

<comment><USER3> Just a guess - but might have gone against the privacy policy. At no point did it mention it would collect and aggregate data. But once you tweet it then it's in public view then... Plus it's easier to map 1 verified twitter user to a real person.

</comment></comment><comment><USER4> I find it interesting that no radical approaches were asked. I wonder, for instance, how people would feel about a VAT tax or flat income tax.

<comment><USER5> The only proposals for a "national sales tax", which was listed, have been VATs.

</comment></comment><comment><USER6> Notice that those favoring tax increases are consistent _except_ expiration of tax cuts for those making under 250k.

<comment><USER7> Yes, interesting. One might almost cynically suggest that they're in favour of all tax increases as long as they're paid by somebody else.

<comment><USER8> Rational self interest in economics? How un-American.</comment></comment></comment>


GPT-3 on the Future of Bitcoin and Cryptocurrency - <AUTHOR> https://medium.com/@kirkouimet/my-conversation-with-an-artificial-intelligence-gpt-3-about-the-future-of-bitcoin-and-7f1e3bac27d8 <comment><USER2> >A common feature of most blockchain systems is that they store the entire history of every transaction ever made in a public ledger. This type of system works well when you have just a few users transacting with each other, but it is inefficient when you try to scale to large numbers. The reason for this is that the entire history of all transactions must be downloaded by everyone, which grows the ledger faster than it can be downloaded. With the block lattice approach, each user can store only the last part of the transaction history and not the entire chain. If you want to look back into the past, then you must communicate with other users who are further back in the history.

This ignores the fact a full node must download and verify the entire history of every transaction ever made in a public ledger. Block lattice or not.

This Initial Block Download still limits scalability.

Furthermore, most Bitcoin full nodes forget most of the history (called pruning) after they verified it, keeping only the set of unspent transaction outputs (UTXO set).

It certainly speaks to GPT-3's qualities that I find it worthwhile to debate its "wisdom":-)</comment>


Unnoticed leak answers and raises questions about operation Eikonal - <AUTHOR> http://electrospaces.blogspot.com/2015/11/unnoticed-leak-answers-and-raises.html <comment><USER2> Origin of the name rhymes with fiber optics: [https://en.wikipedia.org/wiki/Eikonal_equation](https://en.wikipedia.org/wiki/Eikonal_equation)

I guess they hire physics majors there...

</comment><comment><USER3> This is pretty damning. Telekom raised legal questions and it went as high as the Chancellory, who said it was legal.

Telekom's expenses: 6.500,- euro a month

</comment><comment><USER4> electrospaces is an absolutely top tier resource if you're interested in OSINT about US surveillance programs</comment>


The Most Memorable Quotes (I Could Capture) From Startup School 2012 - <AUTHOR> http://www.jasonshen.com/2012/the-most-memorable-quotes-from-startup-school-2012/

<comment><USER3> Technology companies follow an extreme power law curve.

Of all tech companies started in the US in any one year, around 15 ever generate $100M in annual revenue.

Those 15 companies are ultimately be responsible for 97% of the market cap for all companies started that year. 15 companies! That's way harder than making the NBA in any given year – most of you would never attempt such a difficult thing. And yet here you are.

\---

Wow.

Edit: I mean you hear a lot about it's near impossible to have a super profitable startup and that most fail, but when you say 15 only ever generate 100mm in revenue, that puts a new perspective on it. For me anyway.

<comment><USER4> The counter-complimenting (but not contradictory) point is that it's also true that you could create a business, especially a purely software-based business in terms of how it scales, and it could hit only say $1M or even $200k in revenue or profit each year, and that would be a huge success -- as long as you kept the team small, the ownership in your hands, etc., ideally as close to 1-2 people as possible even. Getting say $200k/year of mostly passive income would be a huge life-changing state of affairs. We don't all need to become GitHub or Pinterest or Facebook, etc. In business, a homerun is relative. FU money for a single founder with 100% ownership is pretty small in the grand scheme of things.

</comment></comment><comment><USER5> jasonshen, you misspelled at least 4 of the names of the people you covered. I wouldn't have said anything if it was just one or two (everyone makes mistakes), but 4 (at least) is kind of excessive.

Edit: in fear of downvotes for calling jason out on such a detail: I think getting people's names right is important; it shows attention to detail and respect for the people you're naming. (It's also a pet peeve of mine, but that's irrelevant). So my comment is meant to be constructive criticism. BTW, the names that are misspelled (that I know of) are:

Kalanik -> Kalanick; Collision -> Collison; Andressen -> Andreessen; Preston Warner -> Preston-Werner

(I didn't write them before because I was on my phone and it was time- consuming to do)

<comment><AUTHOR> Woops, thanks! Meant to go back and fix those at the end but forgot. Fixed Travis Kalanick and Tom Preston Werner but didn't see any other typos - <USER2> were they?

edit: got the rest, thanks! You might have to hard refresh to see the changes.

</comment></comment><comment><USER6> Funny, I just did the same: <http://news.ycombinator.com/item?id=4685011>.

<comment><AUTHOR> Nice! These two are also good:

Startup School and Surviorship Bias -<http://news.ycombinator.com/item?id=4685042> My Key Takeaways from Startup School 2012 - <http://news.ycombinator.com/item?id=4681791>

</comment></comment><comment><USER7> Thanks Jason and everyone else updating us on Startup School 2012. Really good to still hear this stuff without actually being there.

I can just imagine how funny it must have been for Travis Kalanick to whip out the Uber revenue graph like that haha.

</comment><comment><USER8> You missed the most important one by jl :p

<http://www.teespring.com/fundraising>

<comment><AUTHOR> True. Everyone laughed at that one. How are sales? =)

<comment><USER8> haha, looks like 5 people reserved it so far. No one gets anything if 100 people haven't reserved one in 21 days though :)

</comment></comment></comment><comment><USER9> I love Jason's Hen. Great site.

<comment><AUTHOR> "I love Jason's Hen. Great site."

I didn't realize I had a chicken. Thanks =)

</comment></comment><comment><USER10> "The greatest thing about being rich is that you don't have to do business with people you like.'""

That was 'people you don't like' :)

<comment><AUTHOR> Thanks, fixed.</comment></comment>


How to architect a Qt/C++ Application - <AUTHOR> https://www.cleanqt.io/blog/crash-course-in-qt-for-c%2B%2B-developers,-part-7 <comment><AUTHOR> Hi guys, This is the 7th post in the series "Crash course in Qt for C++ developers." Do you structure and architect your application in a similar way? Let me know what you think and I would appreciate if you have any feedback.

<comment><USER2> I'm going to write a GUI in 3 months using qt + rust. Bookmarking for later.

<comment><USER3> You should checkout gtk-rs[0] too if you're settled on rust but have an option to pick other GUI library.

0: [https://gtk-rs.org/](https://gtk-rs.org/)

<comment><USER4> Can you say a little bit about what makes it great? Is it just a well designed wrapper? Super easy to use? Good documentation? More mature than Rusts Qt bindings?

Personally, I like Qt a lot more than GTK (both as a programmer and a user), but to each their own. QtQuick/QML is really great way of quickly whipping together complex UI's. I've never used Qt on Rust though.

<comment><USER5> Hopefully my experience could be useful, having tried rust-qt just a while ago on a project. Bottom line: it is usable.

It is pretty trivial if you want to build an almost purely QML app. As soon as you want to do some C++ stuff (e.g. registering new C++ classes, using QtWidgets), however, things go south _very_ quickly. The main problem is that Qt has its own ideas about ownership (QObject-parent-stuff), and Rust really does not like that. You end of working a lot with raw pointers and boxes. It feels like you're writing C++ but in Rust (if that makes sense).

Rust-qt is really nice IMO, and I would extremely encourage anyone interested to take a look, and provide more feedbacks and contributions to the maintainers (I am not one of them). Some non-trivial examples would help a lot. But expect sharp edges.

</comment></comment></comment></comment></comment><comment><USER6> Hey thanks, I'm really enjoying this series. It's nice to read a clear approach after the many revisions to the C++ standard.

Keen to see more on the QtQuick/QML stuff. I keep reading things about how great it is but never had the time to get into it.

For your "good-to-know topics" perhaps a brief direction for deploying applications? Bonus points for mobile deployment.

</comment><comment><USER7> I disagree with your diagram of model-view-controller. Traditionally, the view and the controller are both part of the user interface, so should be on the top part of your diagram. In fact the controller is _higher level_ than the view.

The distinction between these two parts is that the view is just a display of the data (model) whereas the controller is a way for the user to edit it. This was more relevant back in the 1970s where these things were more often separate. For a modern(ish) example, think of Vim's separation between the main display of your text file (the view) and its command line at the bottom (the controller). In most modern GUIs this distinction is meaningless, so you would group controller and view into the view and have a simple overall model- view separation.

Now I'm not saying that all of the classes you've called (something)Controller should be moved to the UI, I'm just saying that they're misnamed (at least by the traditional definitions). I _think_ that your interpretation of model vs controller is raw model data vs non-graphical operations that act on them. But operations on the data are just as much part of the model as the data itself. For example, if I have a word processor then my model is a document, including operations on it. If I want to update the document programmatically (bypassing the GUI), for example to add a word, then I expect to call a method of the model. This should do everything to keep the model consistent, such as returning an updated word count. But that still doesn't need anything called a controller.

I just said that I'm not telling you to move your controller classes to the UI (view) layer. But that's a general comment about the meaning of "model view controller". The specific example you present on that page is "MenuModel" and "MenuController". These sound like things that _both_ belong in the UI layer. Going back to the word processor example, your model might have a SaveToFile() method (although it would expect a file name parameter - popping up a save file dialogue box is the UI's job). But it won't know whether that came from a File->Save menu item or the user hitting ctrl+S. It's the UI's (view's) job to create a menu, choose what commands go on it, and map the OnClick events to actions on the model.

No doubt others will disagree with my understanding of the definition of "controller". This is the one thing you can be really sure about with that term! And it's another good reason to avoid it. Everyone agrees with "model" and "view" mean, so if you use those terms then people will know what you mean, but if you describe something as a "controller" then it just causes confusion.

<comment><USER8> > so you would group controller and view into the view and have a simple > overall model-view separation.

> ...

> But operations on the data are just as much part of the model as the data > itself.

So you want to move controller into the view or to the model? I can't tell. :)

<comment><USER7> Sorry if that wasn't clear.

I understand the term "model" to include non-graphical operations on model data. For example, SaveToFile() or InsertTextAtPosition() methods. These should definitely NOT be merged with the view!

\--> I believe that the linked article called these non-graphical operations "controllers", but I disagree.

\</comment></comment></comment><comment></comment><comment>----

I understand the term "controller" to be graphical controls that allow manipulation of the data. For example, a the QMenuItem "save" along with its associated signal (which of course will just call a method on the model), or the OnKeyPress handler on an edit control.

\--> I believe that the linked article just considers these to be part of the "view". I'm actually OK with this, because I the distinction between controller (in this sense) and view is not very useful.

</comment><comment><USER9> You go just use QML and C# as well.

[https://github.com/qmlnet/qmlnet](https://github.com/qmlnet/qmlnet)

Disclaimer: I'm the author.

<comment><USER7> Apologies for the somewhat off-topic questions:

* Could this be mixed into an existing C# WinForms applications? I'm just talking about using a mix of different window types; I don't want/expect a mix within individual windows.

* Do you know if QT Quick has significantly better performance than WinForms for 2D graphics? I know that WinForms is not hardware accelerated (because it's based on GDI+ which was abandoned by Microsoft before they added hardware acceleration support). But I find documentation about QT Quick's hardware acceleration vague and confusing e.g. [1].

I work on an old WinForms application that makes heavy use of traditional 2D graphics APIs (i.e. Pen and Brush objects used during OnPaint events) but performance is a significant practical problem, and I'd like to find a way to move to something faster somewhat incrementally. My current thinking is to use WPM for new windows, but QT might be a bit nicer.

[1] [http://doc.qt.io/QtQuick2DRenderer/qtquick2drenderer- perform...](http://doc.qt.io/QtQuick2DRenderer/qtquick2drenderer- performance.html#2d-hardware-acceleration)

<comment><USER10> Well, you are looking at the description of the software renderer. Qt Quick is hardware accelerated (OpenGL) by default. A subset of it is supported by the software renderer. With hardware acceleration, performance is generally great.

Actual rendering overview (rather technical): [http://doc.qt.io/qt-5/qtquick- visualcanvas-scenegraph.html](http://doc.qt.io/qt-5/qtquick-visualcanvas- scenegraph.html)

Cool blog post about performance improvement through draw call batching: [http://blog.qt.io/blog/2013/09/02/new-scene-graph- renderer/](http://blog.qt.io/blog/2013/09/02/new-scene-graph-renderer/)

<comment><USER7> Thanks for the help!

</comment></comment></comment></comment><comment><USER11> re: clean. What happened to Qbs? [1] Is it still not popular?

I ask because this same tutorial has an explanation on how to use CMake with Qt. Arguably Qbs is a lot "cleaner" than CMake scripting... but it doesn't appear to be a popular choice.

1: [http://doc.qt.io/qbs/](http://doc.qt.io/qbs/)

<comment><AUTHOR> Agree, unfortunately the Qt company decided to "deprecate" it, or rather to not put anymore resources into it: [http://blog.qt.io/blog/2018/10/29/deprecation-of- qbs/](http://blog.qt.io/blog/2018/10/29/deprecation-of-qbs/)

<comment><USER12> Reading that post and the comments makes me want to try out Qbs! I was vaguely aware of its being announced a few years ago, but I hadn't realised it had even become mature, let alone deprecated. Sounds like a good match for some of my gnarlier qmake-based projects. (Can't abide CMake)

</comment></comment></comment><comment><USER13> How can I follow this blog? I don't see RSS. Feedly doesn't know it. And there seems to be no email option either.

How do you follow blogs in general these days. My twitter is too full of things, so I'd probably miss the posts sometimes.

<comment><AUTHOR> Hey buddy! I've meant to add RSS and email to the blog but haven't got around to do it yet. Sorry... Thanks for the reminder though, I'll see what I can do over the weekend! Cheers, Alex

</comment></comment><comment><USER14> I just want to ask, why?

Today we've a superior technology like Electron. Why should we use old technology like Qt?

VSCode is built in Electron.

<comment><USER15> In the embedded world, you have much more chance to run QT than Electron, because QT also supports RTOS like VxWorks or QNX.

<comment><USER16> Qt also has a renderer that's simply superior by design for embedded use cases. A web engine has to bent over backwards to do anything comparable.

<comment><USER10> Yes. HTML + DOM + CSS + JS was not created to write interactive applications, and it _still_ shows. Most of the inconvenience can now be worked around with frameworks, but a large performance penalty remains. And Moore's Law is over.</comment></comment></comment></comment>


Red Hat releases Ansible 2.3 with network automation capabilities - <AUTHOR> http://sdtimes.com/red-hat-releases-ansible-2-3-network-automation-capabilities/?utm_content=buffer26d92&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer <comment><USER2> Now if only they could merge in modules that have been sitting in Pull Requests for months at a time. I submitted a module that has been requested since 2015 and it can't seem to find its way into the main project ([https://github.com/ansible/ansible/pull/22097](https://github.com/ansible/ansible/pull/22097))

Also there are currently over 1000 open PR's. RH needs to devote more bandwith to community integration then they have been.

<comment><USER3> (Ansible lead here) As I responded to a similar comment on Twitter the other day, part of the issue is our volume. When I looked, we had merged 395 PRs in the last month (via github pulse), which is ~33/day, assuming we work every day (which some of us do). That also includes a large period of time in which we were in a feature freeze for 2.3, meaning we weren't merging things in for a bit of the time. That's still about 3 prs per day per team member working on the code on top of everything else we do. This does not take into account the triaging of new issues, dealing with existing open issues, the mailing list, IRC questions, running public meetings... We've grown the team quite a bit (and are continuing to do so), but you can only do so much so fast.

We have recently enhanced ansibot to automerge PRs much more quickly without a core team member needing to be in the loop (the community is responsible for getting things automerged), so this will hopefully help even more so with getting PRs merged.

As for your PR, I'm a little confused as it says it was submitted on Feb 28th? Was that moved over from one of the modules repos? If so, I couldn't find any references to `iam_managed_policy` in either the -core or -extras repos.

<comment><USER4> I also submitted a very simple module which might benefit from improvement by other developers in a PR. It just integrates Facebook's osquery with the Ansible facts.

I'm pretty sure it is nothing special. It was my first Ansible module and later on I discovered the library pattern (putting modules in ./library makes them accessible to ansible and ansible-playbook).

So I propose to have a more open ansible-library repository which users would be able to git clone or symlink to ./library. This should increase eyeballs on the new modules and maybe we could have a voting system in place to promote modules from there into the main repository.

</comment></comment></comment><comment><USER5> Great!

But I wonder if/when Ansible Tower is going to get open sourced.

I remember some posts from RedHat people saying it'd be open sourced "very soon" ~1.5 years ago, but other than a landing page nothing has come of it...

<comment><USER6> I was always surprised that Ansible didn't ever think to offer Tower as SaaS. I'd like to use it, but I'm really not interested in managing another box just for it.

<comment><USER7> This is really a thing that cannot be SaaS. You can't allow a remote software in a random place in the world ssh to your servers as root and execute random commands.

<comment><USER6> That just shows a lack of imagination, I can think of many ways to do it securely. Also, in many cases there is no longer any "on-site" location to run things from. If your servers are in AWS, your code in GitHub/BitBucket/AWS CodeCommit, your CI pipeline is in Circle/Travis/Codeship/AWS CodePipeline... running an Ansible playbook on a service professionally managed by Red Hat is fine. It's likely to be better managed and more secure than your average never-been-patched ad-hoc on-site Jenkins box or your devops guy running the play from his MacBook.

<comment><USER7> Just because it's possible doesn't mean it's a good idea.

RFC 1925: [https://www.ietf.org/rfc/rfc1925.txt](https://www.ietf.org/rfc/rfc1925.txt)

            With sufficient thrust, pigs fly just fine. However, this is
            not necessarily a good idea. It is hard to be sure where they
            are going to land, and it could be dangerous sitting under them
            as they fly overhead.

<comment><USER6> Unless you are doing deploys from on-prem, to on-prem servers (a shrinking market), I think it is a good idea for the average company to let a professional company manage the infrastructure for them. I've never seen a self-hosted git, CI, etc. be more reliable or secure than the SaaS equivalent in any of the companies I've been, big or small.

<comment><USER8> > I've never seen a self-hosted git, CI, etc. be more reliable or secure

E.g. a self hosted subversion repo sitting on a network share is 100% reliable. What's so special about such things. It's a solved problem.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Here is a more detailed article from Ansible: [https://www.ansible.com/blog/network-device- authentication-w...](https://www.ansible.com/blog/network-device- authentication-with-ansible-2-3)

I wonder why they didn't just work on improving integration with napalm.

[https://github.com/napalm-automation/napalm- ansible](https://github.com/napalm-automation/napalm-ansible)

<comment><USER9> [https://napalm.readthedocs.io/en/latest/index.html](https://napalm.readthedocs.io/en/latest/index.html)

</comment></comment><comment><USER10> Official press release from Red Hat is at [0].

[0]: [https://www.ansible.com/press/advanced-network-automation- wi...](https://www.ansible.com/press/advanced-network-automation-with-2-3)

</comment><comment><USER11> > This includes enhanced network capabilities such as persistent connections > framework, which allows for one SSH connection to stay active across > multiple Ansible tasks. This reduces the total time for completion, and > according to Cramer, it improves performance as well.

Can confirm, this helps tremendously.

<comment><USER12> How is this different from pipelining?

<comment><USER13> Pipelining is a method to stream the module code over the ssh connection straight into the interpreter without first writing it to disk.

Connection persistence is identical to openssh's controlpersist mechanisms to reduce the amount of setup/teardown on connections. The networking modules in ansible make use of paramiko for ssh, which could not take advantage of controlpersist. In ansible 2.3 we wrote a tool to emulate controlpersist for paramiko.

</comment></comment></comment><comment><USER14> I tried to browse to the article using the link on the headline and was presented with an odd message:

Bad Request

Your browser sent a request that this server could not understand.

Request header field is missing ':' separator. Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chro Apache/2.4.7 (Ubuntu) Server at sdtimes.com Port 80

A better link is: [http://sdtimes.com/red-hat-releases-ansible-2-3-network- auto...](http://sdtimes.com/red-hat-releases-ansible-2-3-network-automation- capabilities/)

Looks like the poster is trying some special tracking that is breaking on Chrome on Mint.</comment>


Ask HN: Where is the line between being challenged and being set up to fail? - zz-anon I'm struggling in my job to overcome some of the corporate structure that his been setup for my team. We are a high-performing agile team with all development based in one area, with product and business leadership in a time zone 7 hours away. This gives us, in theory, 1 hour of overlap a day meaning that if anything comes up outside of that we end up blocked or confused about what product and the business want. When it comes to things we've learned about running an efficient team, we're forced to put those aside (i.e. not do them) because they are incompatible with the time zone difference. I'm a hard worker but after months of this new structure, I certainly feel like we're being set up to fail. I'm trying to understand if that's a reasonable feeling or not. I figured I'd ask the community for advice and input: Where does one draw the line between being challenged and being set up to fail? When you're in a tough situation, how do you know which category you fall into? Thanks in advance. <comment><AUTHOR> See

[https://www.amazon.com/Have-Fun-at-Work- Livingston/dp/093706...](https://www.amazon.com/Have-Fun-at-Work- Livingston/dp/0937063053)

it has a checklist to answer your question.

I am not so sure it is either/or. Probably your product/business people are as concerned about the success of your product as you are, so if you bring up this issue that communication is a problem, maybe they'll be responsive.

Working across time zones require some adaptation. Often I have meetings at 8am in the morning with people in Europe and Asia, sometimes I have meetings at 8pm at night. If you have a few people who do liasoning on each side, they could each shift schedules by 1 hour and then you have a three hour overlap. You can get better at written communications, there really are a lot of options.

Definitely when you can't get in the face of a "product manager" there are some people who really won't do the job, and sometimes they won't if you can get in their face.

</comment><comment><USER2> You have to go with your gut on this.

I've come to believe that most corporate actions can be seen as obstructive to progress. It's just a matter of what you are willing to put up with. It doesn't hurt to always be on the lookout for a new gig.</comment>


LodePNG: All-in-one PNG image decoder and encoder for C and C++ - <AUTHOR> http://lodev.org/lodepng

<comment> f- Please be _very_ careful when using less popular C/C++ image parsing libraries on anything that is user-controlled or that comes from the Internet.

Image, multimedia, and archive parsing are notoriously prone to security bugs. In fact, so are most other types of complex parsing. There are months of researcher work and decades of CPU time that went into auditing and fuzzing libraries such as libpng or libjpeg-turbo, identifying and fixing lots of vulnerabilities. The same isn't true for libraries with much smaller following, especially if their documentation doesn't contain any discussion of security risks and countermeasures taken.

<comment><USER2> And a quick glance shows that the code isn't written in a terribly obvious and defensive manner. For example, just by skimming you can spot loads and loads of unchecked arithmetic. How can you know none of that can be exploited? The code doesn't do a lot to assure you of that.

</comment></comment><comment><USER3> I'm reminded of stb_image... [https://github.com/nothings/stb/blob/master/stb_image.h](https://github.com/nothings/stb/blob/master/stb_image.h)

<comment><USER4> +1 for stb_image

its a very good cross platform bit of code. even though it has some annoying compiler warnings, i've managed to get this to work just fine on Windows, Mac, Linux (ubuntu, CentOS, RHEL at least...), Android (even the obscure mips configs), iOS, Windows Phone 8, Windows 8 Store and other platforms that must remain nameless.

</comment></comment><comment><USER5> Well this is a little strange to link. I've been using this small library for years, last update was 2005. Hardly 'news'

<comment><USER6> The linked homepage states that the latest update was in 2012: "Revamped interface with more consistent names, rewrote some parts, bugfixes.".

<comment><USER7> Now it says "2014: Moved the code to GitHub"

</comment></comment></comment><comment><USER8> Small image libraries are fun!

jpeg writing & loading: [https://code.google.com/p/jpeg- compressor/](https://code.google.com/p/jpeg-compressor/)

jpeg loading: [https://code.google.com/p/picojpeg/](https://code.google.com/p/picojpeg/)

jpeg loading: [https://code.google.com/p/jpgd/](https://code.google.com/p/jpgd/)

OpenEXR writing: [https://github.com/aras-p/miniexr/blob/master/miniexr.cpp](https://github.com/aras-p/miniexr/blob/master/miniexr.cpp)

PNG writing (and zlib + ZIP file handling): [https://code.google.com/p/miniz/](https://code.google.com/p/miniz/)

Newest version of miniz reads and writes zip64 archives and is part of vogl project: [https://github.com/ValveSoftware/vogl/tree/master/src/voglco...](https://github.com/ValveSoftware/vogl/tree/master/src/voglcore)

And of course already mentioned stb_image: [https://github.com/nothings/stb/blob/master/stb_image.h](https://github.com/nothings/stb/blob/master/stb_image.h)

</comment><comment><USER9> I wrote a png writer[1] a few years ago with no dependencies that adds about 3k to the resulting binary.

It doesn't deflate, but it's useful if you need to take a screenshot where space is at a premium.

[1]: [http://geocar.sdf1.org/pngw.tgz](http://geocar.sdf1.org/pngw.tgz)

</comment><comment><USER10> Funny that this shows up today, as what I've spent time on today is to create an image reader for sending images over the NFC protocol.

I've been so frustrated today by trying to get libpng to work, but landed on this library one hour ago and now everything just works sweet! :-)

<comment><USER11> Umm...

As is mentioned elsewhere in the thread: this does not seem to be secure software. As such, think twice about using this: do you really want anyone within NFC range to be able to exploit your app?

<comment><USER10> Thanks for the warning.

Of course using a secure library is preferred. Though it's really hard to use something that isn't very well documented and I just have a few months of experience working with C. Which is also a potential dangerous combination.

I found another library that wraps libpng [https://github.com/nilx/io_png](https://github.com/nilx/io_png) Maybe I could be more successful with that library.

</comment></comment></comment><comment><USER12> Just had fun clicking on the other projects link and finding LodePaint and the esoteric languages and ... you go take a look yourself! :D

</comment><comment><USER13> I don't want to sound rude, but based on the title, I understand that this has something to do with PNG files.

It might be worth putting a bit more details there.

<comment><USER14> I don't know if the URL has changed or something, but:

> LodePNG is a PNG image decoder and encoder, all in one, no dependency or > linkage to zlib or libpng required. It's made for C (ISO C90), and has a C++ > wrapper with a more convenient interface on top.

Or you mean the title here in HN? That's an unfortunate consequence of the "keep titles verbatim" rule.

<comment><USER15> > That's an unfortunate consequence of the "keep titles verbatim" rule

I fear that you're misunderstanding the rule a little. There's nothing wrong with including an explanatory phrase from a subtitle, or from the introductory sentence of the page, which is often a de facto subtitle. (We added that when we saw this title earlier today). What we're strict about avoiding is submitters rewriting titles to make their own point about the content, rather than preserving what the author wrote.</comment></comment></comment>


Google Sawzall now open source - <AUTHOR> http://code.google.com/p/szl/ <comment><USER2> I took a Sawzall class for a week at Google along with my team, our manager had requested it because there was a lot of things that we wanted to do with logs in the long-term, which were quickest to do with Sawzall. The people who taught the class were awesome, but I can't help feeling that they were a bit apologetic for 1) knowing so much about the language, 2) having to teach us, and 3) not being able to change the language in any way. But maybe that's hindsight and altered memories based on the dinner and drinks we shared after the week of classes.

The opacity of the language lead to a shared conclusion of those in the class (some of whom were taking it as a refresher), that all of the unique Sawzall code at Google had already been written in the first few months of it's use, and everyone else had just been copying and pasting snippets from everyone else's scripts.

I can understand why Google released it, it's the start to a halfway decent map-reduce implementation, having a low-overhead startup, quick runtime, etc. (compared to Python, which had been an initial logs processor, but which was punted for logs-processing mapreduces thanks to it's relatively high startup costs compared to processing time). But with things like Hadoop (and it's support for arbitrary languages for operations), I can't help but feel like this is a little late to the open source game.

Also, back at Google, I had the start to a project to translate a subset of Python to Sawzall in order to allow for people to not have to suffer, and potentially to write better logs processing code. Left before even getting close to finishing it.

<comment><USER3> I'm wondering if this is the start of a set of open source lunching from google of its core tools. AFAIK, sawzall without mapreduce is like a car without the engine, but anyway I'm very pleased to read the code and start trying the language. Kudos to Google!

<comment><USER4> Do you mean an engine without a car? It seems like you mean sawzall is only useful for mapreduce.

<comment><USER2> Sawzall as a language is quite a bit uglier than the vast majority of general purpose languages. Couple this with the read/emit nature of the language, and it's either useful as a stream processing language, or as a step in a mapreduce chain.

Given how easy other languages are at processing streams, tagging output, etc., and that Sawzall doesn't really have an idea of shared state between "records" (aside from data emitted), it's hard to find things that Sawzall is good at _other_ than mapreduce.

<comment><USER5> You can always use it with Yahoo!'s s4 (released yesterday). <http://wiki.s4.io/Manual/S4Overview>

<comment><USER2> Or I could use any one of a dozen other languages that are more convenient to use, already available on my system, already works with S4, and with a syntax that doesn't make me want to cry :P

</comment></comment></comment></comment></comment></comment><comment><USER6> Sawzall Language spec: <http://szl.googlecode.com/svn/doc/sawzall-spec.html>

You might also want to take a look at Cascalog. It offers a much nicer API — just list the various predicates and it'll take care of the rest for you, e.g. to find all the guys following Emily:

      (follows "emily" ?person) (gender ?person "m")

[http://nathanmarz.com/blog/introducing-cascalog-a-clojure- ba...](http://nathanmarz.com/blog/introducing-cascalog-a-clojure-based-query- language-for-hado.html)

<comment><USER7> blech. html with content-type: text/plain == :(

<comment><USER8> That's because it's being served as raw text data from the Subversion repo.

<comment><USER9> That's no excuse. You can always set the svn:mime-type property.

<comment><USER8> Haha, I think it's a great excuse. But I just don't see the value in telling my version control software about the MIME type of every single file in my project.

</comment></comment></comment></comment></comment><comment><USER10> The paper: <http://research.google.com/archive/sawzall.html>

On a related topic about another Google project: <http://sergey.melnix.com/pub/melnik_VLDB10.pdf>

</comment><comment><USER11> If you want to compile on a Mac and you use Homebrew:

      brew install binutils
      cd /usr/bin/local; ln -s gobjdump objdump
      brew install icu4c
      brew link icu4c
      ./configure
      make

</comment><comment><USER6> It's worth noting that you can trace parts of Google Go's lineage to Sawzall.

<comment><USER12> Interesting. Can you elaborate?

<comment><USER13> R. Pike was involved in both projects, if that's what is meant by lineage. I am basing this on the author list in the sawzall paper, I am not working at google.

</comment></comment></comment><comment><USER14> Why has Sawzall not experienced the Firebird moment yet?

<http://news.cnet.com/2100-7344-5156101.html>

<comment><USER2> Before Google's Go, there was another language named Go. "Chrome" is the name of the UI outside of the content in Mozilla's browser, email client, etc. Google has a smaller-scale ad-hoc SQL-inspired language and system for log queries called Dremel (which is awesome to use, I miss the hell out of it).

Sawzall as a physical tool falls into the same category as Dremel, which hasn't seemed to have been an issue. Never mind the "Go" and "Chrome" names.

<comment><USER14> What happened to Dremel (software)?

<comment><USER2> As far as I know, nothing. But since I no longer work for Google, I would need to set up a dremel-like system (which would minimally include needing to inject logs, etc., into an new or existing hosted system), which increases the barrier to entry until I have the time to do so.

</comment></comment></comment></comment><comment><USER15> Anyone got an idea how hard it might be to port this to work on top of Hadoop?</comment>