The top 9+7 things every programmer or architect should now - <AUTHOR> http://www.javacodegeeks.com/2011/07/top-97-things-every-programmer-or.html

<comment><USER2> it's "know" with a K.

1\. I understand this as "don't wait for perfection before committing", not "try to improve every code you checkout". If I have no good reason to touch some code I won't, even if it looks ugly (and I'll be dealing with some horrendous things in the coming months.)

2\. Simple code is boring. Boring can be good. Code that I find beautiful is more clever than simple (as in, after that "AHA!" moment the cleverness appears that would have required tons more simple code when here these 2 lines do the same.) I find

        foo = ( bar ) ? bla : bli;

much more beautiful than

        if ( bar) {
            foo = bla
        } else {
            foo = bli
        }

<comment><USER3> I kind of prefer

        foo = bar ? bla : bli;

</comment></comment><comment><USER4> The book that was reviewed is here: <http://oreilly.com/catalog/9780596809485/>

</comment><comment><USER3> I see your #4 (Performance) and raise you one "premature optimization is the root of all evil" -- Donald Knuth

<comment><USER5> I'll see your out-of-context quote and raise you the more subtle, sensible, and actually correct quote from Donald Knuth.

[http://programmers.stackexchange.com/questions/39/whats- your...](http://programmers.stackexchange.com/questions/39/whats-your- favourite-quote-about-programming/816#816)

            There is no doubt that the grail of efficiency leads to abuse. Programmers
        waste enormous amounts of time thinking about, or worrying about, the speed
        of noncritical parts of their programs, and these attempts at efficiency
        actually have a strong negative impact when debugging and maintenance are
        considered. We should forget about small efficiencies, say about 97% of
        the time: premature optimization is the root of all evil.

        Yet we should not pass up our opportunities in that critical 3%. A good
        programmer will not be lulled into complacency by such reasoning, he will be
        wise to look carefully at the critical code; but only after that code has been
        identified. It is often a mistake to make a priori judgments about what parts
        of a program are really critical, since the universal experience of
        programmers who have been using measurement tools has been that their
        intuitive guesses fail. (…)

</comment></comment><comment><AUTHOR> Thank you all for your comments! I am sorry for the "now" typo ... its obviously know!

BRs</comment>


Does OS Really Matter for PHP Development? - <AUTHOR>

<comment><USER2> For PHP development? No. However it can be useful to have the development machine match the expected deployment machine so you can spot bugs earlier.

Windows and UNIX-like systems in particular handle files very differently and understanding the edge cases (e.g. what can filenames contain character wise?) can be important.

I'd say that Linux is by far the most popular PHP host, however Windows desktop might be the most popular development platform.

<comment><USER3> I have been bitten at least once for forgetting that Linux and Windows disagree on the case sensitivity of filenames and directories when dealing with namespacing in PHP...

</comment></comment><comment><USER4> In what sense? Matching dev to prod? If so, I think the question ought to be: what justification is there for not matching prod?

I know some devs like their Windows desktops. That's fine. But it's 2014 and we have nice things like virtualisation, vagrant, containers, puppet and ansible.

</comment><comment><USER5> Hardly, however there are a few routines that only function properly on Linux, such as syslog(), one or two of the date formatting libs. The cause: these routines depend on system libraries for functionality which don't exist on Windows.

</comment><comment><USER6> I would recommend OS X for PHP.

Things just work better on a mac for development. This is true for Rails and PHP development. Things just never seem to work as easily on windows.

I would also recommend checking out Laravel and using Laravel Homestead (Vagrant) for development also check Laravel Forge for deployment.

[https://laracasts.com/lessons/introducing-laravel- homestead](https://laracasts.com/lessons/introducing-laravel-homestead)

Laracasts is a great place to learn the Laravel Framework. Jeremy uses a mac so using OS X makes the tutorials easier.</comment>


Olark + Mixpanel Platform + Holiday Cheer = !! - <AUTHOR> http://www.olark.com/blog/

<comment><USER2> Just got an account with the appsumo deal... Noah better stop this or I'll end up with buying one account for each YC company offered.

<comment><USER3> My bad. We do have a sponsorship program :)

</comment></comment><comment><USER4> I am very excited about this bundle. I've previously used Olark at other companies, and it's a great tool. Can't wait to introduce it at my current company!</comment>


13900+ of these devices have their password as "123456" - <AUTHOR> https://twitter.com/ankit_anubhav/status/1017836336672399361 <comment><USER2> I haven't tested, but this appears to be (mostly) "Unidentified" and a few LANDesk Remote Control or Remote Management. That makes me wonder if they all are, and whether they are in fact remote console/desktop access to systems.

</comment><comment><USER3> Is anyone able to clarify what 'these devices' refers to?

<comment><USER4> port 37777 looks to be commonly used for tcp video streaming

[https://www.cctvcameraworld.com/port-forwarding-for-dvr- and-...](https://www.cctvcameraworld.com/port-forwarding-for-dvr-and-nvr/)

</comment></comment><comment><USER5> Obligatory reminder that trying to access one of these devices is a felony (under the CFAA). You probably probably won't be prosecuted, but it's a possibility.</comment>


Happy Birthday, GNU: Why I still love GNU 35 years later - <AUTHOR> https://opensource.com/article/18/9/happy-birthday-gnu <comment><USER2> Happy Birthday indeed.

I think there is not enough appreciation how GNU and GPL improved technology in these last decades. Just imagine how many tools we get as open source today and expect to be open source - OS kernels, compilers, databases, desktop environments, browsers, libraries, toolkits, etc. They are not all GPL, but strongly believe that had GPL and Stallman not been there we wouldn't have had other open source licenses either and we would have had to pay for most of it.

At the same time I think we are losing a lot of that due to the trend of everything becoming a service. We losing tremendously in regards to privacy in general. The other story on the front page today is how Facebook is using 2FA phone numbers and selling them to advertisers. Yesterday we talked about Google moving to China where people can and will be imprisoned, tortured and killed as a result of a company like Google turning over users data. The irony there is that many of the tech giants that do those things have built their stack on GNU software (GCC, Linux), can imagine a bit how Stallman would feel about that.

EDIT: Found this recent 2018 interview with him regarding privacy and what the tech giants are doing these days : [http://nymag.com/selectall/2018/04/richard-stallman-rms- on-p...](http://nymag.com/selectall/2018/04/richard-stallman-rms-on-privacy- data-and-free-software.html)

<comment><USER3> > Found this recent 2018 interview with him regarding > privacy and what the > tech giants are doing these days

Isn't it an cutting irony that you can not read it without accepting cookies from nymag.com?

<comment><USER4> You could buy the magazine...

<comment><USER5> You could stop using software to escape its privacy invasion, but I'd rather not.

</comment></comment></comment></comment><comment><USER6> I'm going to go with the guys who said gcc - I was thinking that as I read the subheading before I read the individual comments. It's just _there_ on every system I use, or available to install quickly.

I've used C and C++ compilers that compiled code quicker, or compiled it smaller, or more optimized, that have more copyright notices when invoked, or take more or less time to install, but gcc is ubiquitous, easy to use and (mostly) stays out of your face.

The other day I wanted to write some code for an emulator which uses Musashi (68000 CPU emulator). In about 30 or so minutes, I was able to grab the latest binutils+gcc source from ftp.gnu.org, build a cross compiler and compile some code for m68k-elf, objdump it and load it in the emulator. To me anyway, that is pretty awesome.

<comment><USER7> I remember times where compilers were hard to come by, expensive and buggy, most people take gcc for a given nowadays, but it's such a treasure.

</comment></comment><comment><USER8> I think GNU and open source will have a long-lasting impact on science as well. One of its contributions is that now we can point to computer science (esp. in areas like cryptography) as an example of an area where code and methodology etc. are shared openly, setting an example for scientists in more traditional areas, like chemists and biologists, in becoming less closed-fist about their experiments.

Going forward, I think we should also emphasize "free data" practices.

<comment><AUTHOR> When you say free data, how does that compare, in your mind, to open data? Are they the same?

</comment></comment><comment><USER9> Happy Birthday, GNU.

While we live in an Open Source World, we wouldn't have the world of Apache2.0, BSD, and MIT that we currently enjoy without the hard fought cultural and legal battles GNU and its GPL fought and won.

While people may say GPL's time has passed, let them. Their comments aren't visible to us without dozens of GPL'd systems (linux servers) silently and faithfully providing the strongest counter point possible just outside of sight.

</comment><comment><USER10> Happy birthday to the project that enabled the revolution in computing that we are enjoying today. Free access to quality code and stuff that helps us all grow as human beings!

\o/

</comment><comment><USER11> I'm a bit sad when I read the url of this post.

<comment><USER12> y2k was a long time ago and y3k isn't our problem. :p

<comment><USER13> It was a good guess. I hadn't noticed, but it's a bit ironic that after y2k, we're still making our software work with 2 digit years.

</comment></comment></comment><comment><USER14> Considering the crucial role of Linux in bringing free software to the mainstream, this discussion is particularly interesting [https://lists.linuxfoundation.org/pipermail/ksummit- discuss/...](https://lists.linuxfoundation.org/pipermail/ksummit- discuss/2016-August/thread.html#3542)

</comment><comment><USER15> I wonder if GNU project will ever be complete. I mean - the main goal was to create an operating system, correct? And AFAIK thanks to Linux it was possible to run plenty of GNU stuff but kernel (GNU Herd) is still not done. Does it mean that GNU project will never be completed? It's kind of sad if you ask me.

<comment><USER16> GNU project was already complete in late 80s -- early 90s. Hurd is currently a research project with no intention to replace linux. See, GNU and Linux have a sort of bittersweet history, but no matter which side you are in, if you just think rationally for a bit you'll realize GNU+Linux is the only future of both GNU and Linux. Even leaders of both parties, Stallman and Torvalds agree with this.

<comment><USER17> _GNU+Linux is the only future of both GNU and Linux_

Android is Linux without GNU, so it's not hard to imagine a different future (whether it's desirable is a different question). Android has no GNU in user space -- it's almost all Apache and BSD licensed.

And I'm pretty sure the build toolchain is Clang and not GCC.

Though I hope the values of GNU continue to be important in the software world. Linux and GNU have different viewpoints and I think we need them both.

<comment><USER18> > And I'm pretty sure the build toolchain is Clang and not GCC.

Yes, Google took the effort of making Linux compilable with clang, then they deprecated gcc and with the latest NDK release (R18) gcc has gotten finally the boot from Android.</comment></comment></comment></comment>


Why It Doesn't Pay to Be a People Pleaser - <AUTHOR> http://greatergood.berkeley.edu/article/item/why_it_doesnt_pay_to_be_a_people_pleaser <comment><USER2> Pleasing people most definitely pays. That is how the world works; you give people what they want, and you get paid. Supply and demand.

Preachers of self-reliance seem to confuse "not letting other people affect you" and "not caring about other people".

Self-reliance and people-pleasing are two separate axes on a Cartesian plane. You can be both self-reliant and people-pleasing.

Being self-reliant, but not people-pleasing is trivial. If you isolate yourself, there is nobody to rely on!

In the same vein, it's easy to be moral and idealistic when alone. The real test is with real people, and whether you are still able to keep those ideals.

Wield both: self-reliance and people-pleasing. Then you will be a force to be reckoned with.

EDIT: Talking about truth and white lie as a dichotomy is childish. They are tools in a toolbox. If you feel guilty because you lied, then you are a slave to the principle of honesty. If you are thinking about which (truth or white lie) is better for the relationship, then you are a master in command of both principles.

<comment><USER3> The author defines people pleasing:

> People pleasing, in my extensive personal experience, is a process of > guessing what other people want, or what will make them think favorably of > us, and then acting accordingly.

People pleasing isn't caring about other people. It's being selfish and manipulative in interactions with other people (often without realizing it). Quite the opposite.

<comment><USER2> Okay. Let's take an example from the article.

 _Be transparent, honest, and authentic. Do not ever waiver from this; white lies and false smiles quickly snowball into a life lived out of alignment._

Let's say John is this guy who is "transparent, honest, and authentic, and never waivering."

And say Jack, John's friend, is addicted to playing Overwatch.

John comes by and says, "Jack, you shouldn't play Overwatch. You are wasting your time and energy."

Jack responds, "I know, but just this one match."

John comes back a week later and says, "Jack, I am really fucking frustrated you are still playing that shitty game. I want you to quit right this fucking moment." The article advised to never hide your emotions, so I am following that mantra.

How is Jack going to feel after that? Is he going to stop playing video games? Have parents yelling stopped children from playing Minecraft?

No. Why? The world really isn't that simple. Just saying "Be honest all the time" is the worst advice you can give. The principle is nice and impressive (because you always keep it!) but in reality, John is either a loner or a hypocrite.

Consider Steve, one who wields both self-reliance and people-pleasing, visiting Jack who is still addicted to Overwatch. Steve knows Overwatch is killing Jack's life, and deeply concerned for him. But he does the not lazy thing and waits. Instead of admonishing Jack, Steve becomes interested in Jack. Steve asks Jack how this game works, which hero he is playing, etc.

Then Jack opens up to Steve, which, in due time, can allow Steve to change Jack's mind.

If you want to have the feeling that you changed people's minds, be honest all the time. But if you actually want to change people's minds, then don't be honest all the time. Utilize white lies.

In that sense, people who are always honest are incredibly selfish.

In the quotation far above, I would just add two more words. _To myself._ Be transparent, honest, and authentic to yourself.

Being honest to others always sounds cool, but is in reality excruciating lazy. So lazy that I wouldn't want a friend like that, ever. I want a friend who is more wise and less automatic about his choice between truths and lies.

<comment><USER4> > "Jack, I am really fucking frustrated you are still playing that shitty > game."

That is not being authentic, and that's the problem. In our heads we know what we want, but we ask for something else.

Why do you want your friend to get off the computer. To be off the computer? No. You miss your friend and you want him to hang out with you. You are worried that he is missing out on life by living in the game and you're both going to pay for it later.

Just ask, man.

<comment><USER5> Moreover, by phrasing it like that ("I'm getting frustrated"), you are imposing your demands on your friend without even informing about their state of mind. Not acknowledging them is not the way to keep friends close.

<comment><USER4> Yes, and what's worse is that the reason you're upset is not even that you miss your friend, but fear that your friend has decided that a game is more important than you are, and so you are demanding that he prove that he isn't rejecting you by making a gesture.

</comment></comment></comment></comment></comment></comment><comment><USER6> There's a lot of truth here, and I generally agree with the sentiment, and can think of close friends of mine who are unusually good at this and are unusually successful and well liked.

As a prescriptive piece of advice though, it has a semi-fatal flaw. It is based on the concept of what you "really" feel and what you "really" think. Which of course isn't how the human mind works at all. Some days we think our job is the best thing in the world and we're grateful for it, some days we think it's the one thing holding us back from glory. Sometimes we feel connected to a person, sometimes resentful of the same person.

What do we do if our rational brain says that our boss is totally being a reasonable person but our lizard brain wants to choke him because he just told to do something all over again. Must we not speak the white lie that it's "no problem"?

What if one finds their emotions are all over the place, and just not evenly regulated, and you have unexplained and somewhat destructive impulses to say tactless and hurtful things to people? Should we go ahead and do that because it's a more "transparent, honest, authentic" version of ourselves? Or should we aim to be more stable, and do our best to "fake it" until it becomes second nature?

Here's a secret nobody tells you: The internal conflict and struggles in life you encounter are almost never of the bad/good variety. Such problems create failures of will rather than failures of reasoning, since choosing between being purely cruel and being kind requires little insight.

The conflicts that vex us are are between two positive things we value, like balancing giving and sharing and being a team player with independence and growth and looking out for ones self, or balancing being responsible and consistent with being adaptable and curious.

Or in this case, balancing being authentic and honest with being focused, professional, and pleasant to be around.

You'll never reduce the tradeoff between those values down to simple rules of thumb, they will always be complex, outcomes will always be uncertain, and scenarios will never present themselves again in precisely the same way.

You'll have to mostly make it up as you go along, forever. Get a helmet.

</comment><comment><USER7> That it were so simple...

There is utility in people pleasing that does not end with self-satisfaction. There are costs, sometimes immediate, to conveying your thoughts and feelings directly. Examples from the workplace:

Your colleague is a bit chatty and annoying, so the last thing you want to do is start a conversation about how bad your weekend was. It takes more mental energy to deal with them than not, so smile and say 'My weekend was great!'.

More seriously, it is necessary for your boss to want to keep you around and letting your emotions hang out on topics not related to work may get them wondering about your focus and productivity. This is particularly important if you're supporting a family, and in practical terms, you really have to be judicious about being true to yourself vs. keeping your job. Not that it's that precipitous, but over time, you'll establish an image.

From the boss's perspective, people respond well to confidence, and letting your team know you're true feelings needs to be thoughtfully considered in each case. Showing lack of confidence in the right places can elicit helpful ideas and volunteers. In the wrong place, it can really kill your team.

So for me, it's a trade off. I know when I'm being less than truthful, and it is deliberate and purposeful in each case.

<comment><USER8> I took the article to be about the more extreme side of people-pleasing. It's one thing to do this as a one-off. Or with people you have to interact with in limited/confined contexts (your boss). But it's another to extend it to your entire life.

Have you ever met the person that, as soon as you say you went skiing _once_ , starts saying how much they love skiing? Then later you see them do the same thing, but this time it's about traveling, with someone else. And later, you invite them to your ski trip (could be months or years), and they say, "I don't like skiing."? They were gushing about it when you met, but it was a complete lie. They may have even repeated it a few more times, but one day they forgot.

That's the extreme people-pleaser. They're never honest with other people, and consequently none of their relationships are real. They're all predicated on falsehoods (what they like, what they don't like, what they're interested in, etc.). So every time they go out they have to remember what lies they told this group, and oh shit now two groups are meeting and they have two conflicting lies.

What you're talking about is not this. False bravado or confidence is sometimes what you have to do to make it through. But make it a perpetual thing, in all situations, it either becomes true, or it wears you out.

</comment></comment><comment><USER9> > Live with total integrity. Be transparent, honest, and authentic. Do not > ever waiver from this; white lies and false smiles quickly snowball into a > life lived out of alignment.

Words to live by

<comment><USER10> Not at all. If you don't understand how to employ false smiles as needed, you won't get very far in life. This was one of the biggest mistakes I made when I was young. Once I learned how to stop being totally honest and how to be friendly to even those I didn't like, a lot of opportunities opened up that I would have never been exposed to otherwise.

Simple example: I maintain friendships with people I don't genuinely like primarily because they have wide social circles. Through those people, I've met individuals who I do genuinely like.

<comment><USER11>
        > If you don't understand how to employ false smiles as needed, you won't get very far in life.

How do we measure how far we've come in life? Relative to what is this distance measured?

<comment><USER2> This question is only asked by those who cannot measure how far they have come.

We all have our subjective distances. But if you are a human being, some combinations of the following will be that distance:

1\. Sustenance (food, water, housing, money)

2\. Community (belonging, love)

3, Self-expression

4\. Self-transcendence (altruism)

This is a gross simplification of Maslow, but give me some slack. If you question every person saying "you won't get very far in life" with "how do you measure getting very far", you are not only annoying the other person, but also yourself. Spend that time trying to measure how far you have come.

<comment><USER11>
        > Spend that time trying to measure how far you have come.

Why? Who is the intended recipient of this information, once I have formulated it into words? Myself? I don't enjoy repeating things to myself I already know.

Formulating into words how far you've come can only happen while you know how far you've come. And while you're in the state of knowing how far you've come, you don't need to repeat to yourself how far this is. You know.

</comment></comment></comment></comment></comment><comment><USER12> Perhaps a better title would be "Why It Doesn't Pay to Hide Your Emotions".

Anyway, I'm hearing the whole stance of "everything is good, I'm so happy" is a cultural thing, very common in the US but not so in the rest of the world (Europe especially). I wonder to what extent this is true and how does it affect people's well being.

</comment><comment><USER13> I'll say this - a life lived in service to other people feels more worthwhile to me. Perhaps one of the services is being honest, even brusque at points. Just not very often.

Actually solving problems for other people is mostly about framing the question underlying the problem. If they're not interested, then you're done with that problem.

"Service to other people" is not some grand/altruistic thing; it's simply a prioritization mechanism that helps remove some of your ego from the process.

Service does not mean being servile.

<comment><USER14> I would pose that "service to others" if reflected upon, is exactly ego. You can feel good being of service to others, and you can feel diminished by not being of service to others. When you lose the good feeling, you want to do more, to reobtain that good feeling.

"I am one who strives to live in service to others" (I am parahrasing) but if this is true, it is more clearly ego a.k.a. identification with form.

<comment><USER13> While I can see your point, this isn't about either egoism nor egotism. It's more of a heuristic to ... create utility and a way to stay engaged.

I'm not 100% sure I can read ego as "identification with form". That's a bit Zen for me.

</comment></comment></comment><comment><USER15> The trick, of course, is being _authentically_ interested in others. By all means don't be full of shit; don't suck up; live your truth. But man, being an authentic misanthrope (like being an authentic alcoholic or an authentic anything else negative) does not lead to the best possible results.

</comment><comment><USER16> Maybe Dutch directness is the reason why The Netherlands is consistently in the top 10 of the Happiness Index.

[http://www.iamexpat.nl/read-and-discuss/expat- page/articles/...](http://www.iamexpat.nl/read-and-discuss/expat- page/articles/perks-of-dutch-directness)

<comment><USER17> What people don't tell you is that directness also has a cost. The Dutch directness of "GTFO my country" what minorities are confronted with daily is not quite contributing to any minority's happiness (it's a big reason why I moved to the US).

<comment><USER16> We used to be much more relaxed, welcoming and tolerant. I blame the polarizing politicians.

</comment></comment></comment><comment><USER18> Hmm well I don't want to hear what a nightmare my colleagues lives are.

I ask "How was the weekend" you say "Fine". I don't care that your house burned down.

Yep I am a brit!

<comment><USER19> Why would you ask if you don't want to hear the answer?

<comment><USER20> > Why would you ask if you don't want to hear the answer?

For lots of people the "How are you?" "Fine." exchange is a ritualized interaction which has become detached from the literal meanings of the words. Like the fact that even non-religious people use a contraction of "God Be With Ye" when parting.

</comment></comment></comment><comment><USER21> The problem is that most of us live in a society where we have to lie - or at least, ignore some obvious and unspeakable truths - in order to keep our jobs and income.

</comment><comment><USER22> Previously and somewhat relevant: Why Team Happiness Can Be the Wrong Thing to Aim for ([https://news.ycombinator.com/item?id=11902973](https://news.ycombinator.com/item?id=11902973))

</comment><comment><USER23> Our friend group has a 'people pleaser' and it's fine, most of the time. However, it has become a nightmare (and nearly destroyed our group) because when there is a person that needs to be kicked out of our group for lying/being manipulating/terrible behavior, this person defends them to the end and treats us like the bad guy.

Passive aggression also accompanies 'people pleaser', because the person generally doesn't ever want to tell you what they really want or feel. It's extremely frustrating to deal with a person that behaves like this.

<comment><USER24> That's Geek Social Fallacy #1: Ostracizers Are Evil: [http://www.plausiblydeniable.com/opinion/gsf.html](http://www.plausiblydeniable.com/opinion/gsf.html)

</comment></comment><comment><USER25> It doesn't pay to please all people all of the time.

It pays to please some people some of the time.

As with a number of other tools and strategies, you have to leverage it at the right moment, the right rhythm. If you don't have an intuitionistic idea of the ratio between truth and small lies that are necessary to functioning. People don't talk to exchange truth about the world, they talk mostly to repeat signals at a constant rhythm which sends a larger signal of "confidence" or "competency" or "trustworthiness" or even "this person is safe and stable to be around".

Yeah, there's a cognitive cost to anticipating other minds unless you're blessed with some capacity that is never stressed. There's also a cognitive cost to maintaining executive function without being swallowed by groupthink.

>people pleasing is selfish and manipulative

Your entire edifice of actions is the selfish and manipulative desires of your morality to instantiate itself in real space.

</comment><comment><USER26> Interesting. Slightly left-field here, but people with autistic spectrum disorders are often considered to be prone to depression, often because of social anxiety, but this would suggest the opposite is also true, as ASD sufferers generally tend to care less what other people think of them.

From personal experience, as someone whose family and friends reckon is firmly "on the spectrum", I tend to be naturally open and honest in a work environment, showing my emotions, being honest about problems and not (consciously at any rate) trying to please anyone, and I think I'm pretty happy most of the time. And on those few times that I have made social mistakes, for instance saying something out of place in a new job, I become very tense and totally incapable of focusing, which makes me glad that I don't care most of the time.

</comment><comment><USER27> "white lies and false smiles quickly snowball into a life lived out of alignment"

True story - My dental hygienist is annoying. She complains about her life while she was cleaning my teeth. She only works Wed and so when I rescheduled this time I said I was booked on Wed so I need someone else.

So I told a white lie to protect her feelings. Like it or not we are social creatures. Some people don't have the iron ego of the original author and can be hurt by "honest" remarks. Yes I get that it offends certain peoples sensibilities but it costs nothing to be nice to people.

</comment><comment><USER28> This reminds me of the 1922 article Why I Quit Being So Accommodating [1] with previous HN discussion [2].

[1] [https://mikecanex.wordpress.com/2012/12/26/1922-why-i- quit-b...](https://mikecanex.wordpress.com/2012/12/26/1922-why-i-quit-being- so-accommodating/)

[2] [https://news.ycombinator.com/item?id=4969041](https://news.ycombinator.com/item?id=4969041)

</comment><comment><USER29> The author writes:

> Research shows that people who are given instructions for how to lie less in > their day-to-day lives are actually able to lie less, and when they do, > their physical health improves.

Perhaps you could, you know, link to such a study for those of us interested? OR maybe point out the author so we can look it up ourselves? Searching for "instructions on how to lie less" produces results like "Instructions for filling out IRS Form 1040." Great.

</comment><comment><USER30> Happiness Index is such a broad topic and everyone's needs so different that it's difficult to say with absoluteness that this is the way. Some people have a panache for social work, some have criminal tendencies, some like to please, some don't care. You can see success in happiness in each of these segments. I still concur with the general idea the authour is trying to convey.

</comment><comment><USER31> I can think of a few problems with this philosophy right off the bat. It doesn't give us much incentive to act politely. Also the first point reminds me of Sense and Sensibility when Marianne doesn't want to share her sadness with Mrs. Jennings not because she's a people pleaser but because Mrs. Jennings is not tender or sympathetic--all she wants is a supply of gossip.

<comment><USER14> Honesty is not exclusive of gentleness and kindness.

<comment><USER32> There's an old saying: be kind so you can be truthful; be gentle so you can be honest

</comment></comment></comment><comment><USER33> The author is a woman. I posit that this is a gendered issue. Women who are people pleasers tend to get treated like doormats. Men who are pleasant seem far more able to also stand up for themselves and it seems to be a completely different dynamic socially.

<comment><USER14> I disagree, I think it is a human tendency because it is often the path of least resistance (short term, but long term can accumulate and be not worth the alternative).

So while culturally it might have higher numbers in women, the numbers in men are high enough to sell books like "No More Mr. Nice Guy.". Good book by the way.

<comment><USER33> So you agree it impacts women more but deny that it is a gendered issue. Gotcha.

<comment><USER34> You stated that the _negative effect_ is higher for a woman than a man, thus claiming it to be a gender issue.

kross comment stated that the negative effect is the exact same for a woman or a man, thus disagreeing with your statement. It also states that the amount of women being "pleasers" are higher for _cultural reasons_.

You could claim that the culture that causes more women to be "pleasers" is an gender issue, in which you two might be in an agreement on that point if you two are also in an agreement on the definition of gender issues.

</comment></comment></comment></comment><comment><USER35> >It's that pleasing others is not the same as helping others.

Good point.

</comment><comment><USER36> It's amazing that this is what is now publicly funded "science" or "research". It would make a good moralistic story for 12 year olds in the 19th century, but now people like her get PhDs in this (likely publicly funded), from the same institution that awards PhDs in algebraic geometry or string theory!

[https://www.christinecarter.com/about/dr-christine-carter- bi...](https://www.christinecarter.com/about/dr-christine-carter-bio/)</comment>


Chomsky: The U.S. behaves nothing like a democracy - <AUTHOR> http://www.salon.com/2013/08/17/chomsky_the_u_s_behaves_nothing_like_a_democracy/ <comment><USER2> Reading this makes my brain feel greasy and dirty. It's not that I think he's wrong, it's that I feel myself believing what he says without him presenting much in the way of evidence. It's disconcerting.

</comment><comment><USER3> A counter view [http://unqualified- reservations.blogspot.in/2009/01/gentle-i...](http://unqualified- reservations.blogspot.in/2009/01/gentle-introduction-to-unqualified.html)

<comment><USER4> I find it hard to follow the whole rant, but in essence he seems to agree that the current USA isn't a functioning democracy?

I'll look forward to the day when the 45 year lag in opinion allows the 60s and 70s anti-war movements to catch up with US policy. Imagine, a world in which the US isn't invading anybody.

</comment></comment><comment><USER5> I'm tired of Noam Chomsky being right about everything.</comment>


Go 1.9 Release Party [slides] - <AUTHOR> http://talks.godoc.org/github.com/davecheney/go-1.9-release-party/presentation.slide <comment><USER2> Great work! On a side note -- what framework/software is used to make these browser based slide shows? They are super fast and also elegant looking.

<comment><USER3> The present tool: [https://godoc.org/golang.org/x/tools/cmd/present](https://godoc.org/golang.org/x/tools/cmd/present)

</comment></comment><comment><USER4> The slides are unusable on mobile.

<comment><USER5> Yes, they've been like that for a while. If you turn your phone horizontally it is _better_ but still sucks.

They accept PRs, though ;)

</comment></comment><comment><USER6> I think we have different definitions for the word "party", but congrats guys! :)

</comment><comment><USER7> What is the dir/... syntax. I never saw the doc on that one.

<comment><USER8> Wildcard: "An import path is a pattern if it includes one or more "..." wildcards ... For example, net/... expands to net and packages in its subdirectories."

[https://golang.org/cmd/go/#hdr- Description_of_package_lists](https://golang.org/cmd/go/#hdr- Description_of_package_lists)

<comment><USER9> Right but was this a thing before golang existed or is it specific to go commands?

It was certainly popularized by "go get ./...".

<comment><USER10> It's specific to Go. Shell globbing has "⁎⁎", though.

</comment></comment></comment></comment><comment><USER11> I hope they skip versions straight to 2.1.</comment>


Stock markets are headed for a 40% plunge, says economist who predicted crisis - <AUTHOR> https://theweek.com/speedreads-amp/899110/stock-markets-are-headed-40-percent-plunge-says-economist-who-predicted-financial-crisis <comment><USER2> 40% is very likely an optimistic estimate. 60% is probably more like it, unless global production can get back to normal very quickly.</comment>


How Hot Dogs Are Made - <AUTHOR> http://kottke.org/12/11/how-hot-dogs-are-made-again

<comment><USER2> All of these "How it's Made" videos show immense industrial processes, but they usually include a number of jobs in-between stages that I definitely wouldn't want, eg: 4m00s. (the job isn't disgusting - but for the fact that the guy must do this for more than 15 minutes each day...)

</comment><comment><USER3> I was sure to show this to my coworker that just purchased a new hot dog. He said it slightly ruined his meal.

</comment><comment><USER4> Yum. Actually makes me want a hot dog...

</comment><comment><USER5> Not sure why this is on the home page...

</comment><comment><USER6> And that's exactly why I prefer to make my own sausage.

</comment><comment><USER7> And that's exactly why I avoid eating any ground or processed meet products.

Actually, I avoid eating meat in general, unless it's a 'grass fed' & 'certified organic'.

<comment><USER8> You avoid eating them due to kottke.org posting videos about the process?

I'm not sure what's so offensive about this process.

<comment><USER9> Agreed. All the ingredients seem fine enough. It's not rat feet and armadillo tails. Ya, it gets blended into a paste but so what? Tastes amazing once it's cooked up!</comment></comment></comment>


The best of explanation of Finger Trees (data structure) I have seen - <AUTHOR> http://apfelmus.nfshost.com/monoid-fingertree.html

<comment><USER2> Since Finger Trees are powered by Monoids, this is also a very good explanation of why Monoids are useful in Haskell.

<comment><AUTHOR> Exactly, and thank you for reminding me -- I meant to add a comment pointing to this overview of what a monoid is, and why they're useful, from sigfpe:

[http://sigfpe.blogspot.com/2009/01/haskell-monoids-and- their...](http://sigfpe.blogspot.com/2009/01/haskell-monoids-and-their- uses.html)

Very clear and accessible, IMO.</comment></comment>


All U.S. National Parks Are Free to Enter on Sunday - <AUTHOR> https://www.atlasobscura.com/articles/all-us-national-parks-are-free-to-enter-on-sunday <comment><USER2> Wallace Stegner, 1983:

"National parks are the best idea we ever had. Absolutely American, absolutely democratic, they reflect us at our best rather than our worst."

Source: [https://www.nps.gov/parkhistory/hisnps/npsthinking/famousquo...](https://www.nps.gov/parkhistory/hisnps/npsthinking/famousquotes.htm)

<comment><USER3> What does 'democratic' mean in this context? Accessible, free to all?

<comment><USER4> Reflecting the best of us.

<comment><USER5> Don't make HN a political flame war

</comment></comment></comment></comment><comment><USER6> Speaking as someone from the UK, I'm a little alarmed that you have to pay to enter national parks in the first place.

Are they all that busy?

<comment><USER7> The parks are heavily curated and managed — think of them as open air museums. Personally I don't like visiting national parks because of this - I prefer the pretty unregulated wilderness and BLM land. But many people aren't prepared for the wild (and it really _is_ wild; there's nothing like it in the UK, more like the Aussie bush in level of isolation) so these parks are great to get people exposed to the outdoors.

Parks constitute a tiny percentage of public open land. And for the ones I've visited really have been built around special places (Grand Canyon, Yosemite, Larsen, etc) and why not? If it's someone's only exposure to nature why not make it the best. And I won't have to see them when I'm in the desolation wilderness.

<comment><USER8> > The parks are heavily curated and managed — think of them as open air > museums.

Most museums in the UK are free to visit too. They generally have donation boxes which is a great way to let those who can afford to do so support the museum. And those who can't are not excluded.

<comment><USER9> The Smithsonian in DC is also free to visit.

We aren't really talking about the same thing here. Many National Parks are massive properties with extensive ecological concerns and staff overhead. But they aren't even close to the sole extent of publicly owned land, that's where the BLM comes in. And there are the national grasslands and the forest service lands as well. We haven't even touched on state owned public lands or conservancy lands.

<comment><USER10> The amount of land set aside for wilderness and parks in the US is amazing. More than all cities and towns (urban) combined. This webpage[1] as a lot of cool maps of US land use.

[1][https://www.bloomberg.com/graphics/2018-us-land- use/](https://www.bloomberg.com/graphics/2018-us-land-use/)

</comment></comment></comment></comment></comment><comment><USER11> What a wonderful thing the US national parks are. They are remarkably cheap, with a single pass you can visit all of them, which is a perfect way for tourists to roadtrip the US.

<comment><USER12> Indeed, the "America the Beautiful" $80 annual pass, good for vehicle + occupants admission to all Federal fee areas is an incredible value. You can buy it right at the gate as you visit your first park, instead of the standard entry fee. No need to do anything in advance of your visit.

</comment></comment><comment><USER13> If you've got a kid in 4th grade, all national parks are free all year long.

<comment><USER14> Nice! [https://www.everykidinapark.gov/](https://www.everykidinapark.gov/)

</comment></comment><comment><USER15> A general comment on public lands:

Use them. Stakeholder usage determines regulation.

Yes, NP's are ludicrously crowded, sometimes; but not actually always.

The fed land system is something the US has mainly done right, IMHO. Could improve? Of course. But, having spent solid time in another three dozen countries, what we have is pretty, pretty OK.

Support your local wilds.

</comment><comment><USER16> I wonder how that works for something like the MotorCities National Heritage Area (that I learned about just now). One of the things they list are the Diego Rivera murals in the Detroit Institute of Arts[0]; is the DIA going to waive their entrance fee Sunday?

[0][https://www.motorcities.org/locations/diego-rivera-murals- at...](https://www.motorcities.org/locations/diego-rivera-murals-at-the- detroit-institute-of-arts)

<comment><USER17> National Heritage Areas (NHAs), while administered by the National Park Service, are not National Parks. To quote from the NPS website[0]:

 _NHAs are not national park units. Rather, NPS partners with, provides technical assistance, and distributes matching federal funds from Congress to NHA entities. NPS does not assume ownership of land inside heritage areas or impose land use controls._

[0] [https://www.nps.gov/articles/what-is-a-national-heritage- are...](https://www.nps.gov/articles/what-is-a-national-heritage-area.htm)

</comment></comment><comment><USER18> If it's gonna be more crowded than peak season, I'd rather not, unfortunately.

<comment><USER19> It's really crazy how crowded national parks are. In a lot of ways, I feel like charging a fee to enter adds to the problem. Sure they need the money to help maintain all of that area, but they also use that money to advertise so more people buy passes. They use that money to advertise their volunteer programs to get volunteers to work on trails.

It's be interesting to look at visitor data for parks that went from free to paid (if they even collected such data years ago) and see if charging for parks and the business around them has actually made them more crowded.

Personally, I don't think there should be a fee for entering a National Park. It should be paid for by our taxes. Just skim off a tiny bit from those billions used for defence and parks could be fully funded for years.

<comment><USER20> National Parks aren't very crowded if you go more than a mile or two past the visitor center.

<comment><USER21> This is exceedingly correct. I work in remore areas and usually see no actual visitors.

As to daytrips, and as mentioned above, try out non-NP wilderness areas. Since this is HN, consider emmigrant wilderness rather than yosemite—as example.

<comment><USER22> Second the Emigrant Wilderness — you can basically always get a permit when Yosemite is full and it has many of the same ecosystems. And fewer, nicer bears.

</comment></comment></comment></comment></comment><comment><USER23> Remember folks: pack it in, pack it out. Let's keep our Parks clean, especially when the Park Service has had budget cuts.

<comment><USER24> Thanks, I just don't get enough lecturing in real life or on the internet.

<comment><USER25> Don't forget: Pack it in, Pack it out. Keep our parks clean.

</comment></comment></comment><comment><USER26> Not Alcatraz! From [https://www.nps.gov/goga/planyourvisit/fees.htm](https://www.nps.gov/goga/planyourvisit/fees.htm) :

 _The cost of the ferry ticket is not an entrance fee—there is no charge to visit the grounds of Alcatraz Island.

... All private vessels are prohibited from docking on the island._

I guess you could swim.

<comment><USER27> Or parachute in!

<comment><USER19> Like in that movie from the 90s, "The Rock"

*sadly, not actually staring Dwayne Johnson

<comment><USER28> The Rock didn't feature any parachute drops. Hummel came over by ordinary ferry, the mercenaries landed via helicopter, and the SEALs arrived underwater.

</comment></comment></comment></comment><comment><USER29> "National" parks should only be free to the sovereign tribes that were forced out of there by colonizers. In fact all of that land should be given back to the tribal nations who previously did a great job managing those lands before the US National Park/Forest service and Smokey the terrorist came along and decided they knew more about the land than the people who previously spent thousands of years carefully tending the land.

<comment><USER30> And what about the tribes that those tribes forced out? This notion that everything was peaceful without territory wars before "colonizers" is a joke.

There is no single tribe that has carefully tended the land for thousands of years. Additionally, since they lacked a meaningful method of keeping knowledge beyond word of mouth, any non-common technique would have to be rediscovered every 100 years. They weren't carefully tending to the land, they were just struggling to get by with their crap agricultural skills.

<comment><USER29> What a poorly educated reply. No one mentioned any notion of peace before colonizers. How is that relevant?

Nearly everything you said is just plain wrong.

> no single tribe that has carefully tended the land for thousands of years

Yes you are right, there were MULTIPLE soveriegn tribes that did that. And yes they did tend the land for thousands of years. Look up Tending the wild by Kat Anderson.

> since they lacked a meaningful method of keeping knowledge beyond word of > mouth, any non-common technique would have to be rediscovered every 100 > years

Huh? So I guess there was not a chance that one of those millions of native Americans still living on reservation lands in the 1900s passed down any knowledge of how they lived. Interesting assumption there chap.

>crap agricultural skills

"Crap agricultural skills"? Good lord. Americans are the ones with "crap agricultural skills." It's not normal for soil to be unusable for half a decade after farming FYI. Ever heard of soil erosion? Look up Three Sisters, [https://milkweed.org/book/braiding- sweetgrass](https://milkweed.org/book/braiding-sweetgrass), Karletta Chief's field work, Indigenous Environmental Perspectives:NAP.

<comment><USER30> >Yes you are right, there were MULTIPLE soveriegn tribes that did that.

No, there were none that have done that. There is _no civilization_ that has lasted thousands of years, let alone some tribe.

>Interesting assumption there chap.

Not an assumption at all. Without writing, there was absolutely no useful way to preserve knowledge for any long period of time. Best you have are traditions and stories, which are lossy at best and easily wiped out by conflict.

>"Crap agricultural skills"? Good lord. Americans are the ones with "crap agricultural skills."

If it weren't for the agricultural technology and skills enabled by the scientific institutions of the "colonizers", we would still be having our children starving to death during droughts like the tribes and the early settlers. If it weren't for that technology, there wouldn't be enough farm land to feed all of the humans on the planet.

If it weren't for the "colonizers", tribes would still be murdering each other over territory during droughts, dying from simple diseases, suffering from malnutrition, living in terrible shelter, etc.

If tribes really were go great back then, none of the Native American reservations would be using any modern technology and people would be clamoring to join them and learn their ways.

</comment></comment></comment></comment><comment><USER31> Are entrance fees for cars only? Can backpackers walk through a park without paying?

<comment><USER32> In many (most?) cases you can. But you may need a permit to enter some areas, which may or may not require a fee (if it does require a fee, it's usually pretty small). For instance [https://www.nps.gov/yose/planyourvisit/wpres.htm](https://www.nps.gov/yose/planyourvisit/wpres.htm)

Usually these fees are for multiple days. For Yosemite: car fee is valid for a week(there are other deals if you want to stay for longer or visit multiple times an year). The wilderness permit... I don't really know. You do have to submit start and end dates for each trip, but the fee covers the duration.

EDIT:

Also Yosemite: it appears that foot traffic is charged too. [https://www.nps.gov/yose/planyourvisit/fees.htm](https://www.nps.gov/yose/planyourvisit/fees.htm)

That highly depends on the park.

<comment><USER33> It's $5 for a group wilderness permit application plus $5 per person per permit. I think it's another $5/person if you want to add on the Half Dome summit.</comment></comment></comment>


Rust-Written Redox OS Booting the 128-Thread AMD Ryzen Threadripper 3990X - <AUTHOR> https://www.phoronix.com/scan.php?page=news_item&px=Redox-OS-On-Threadripper-3990X <comment><USER2> Bringing N + 1 CPUs out of reset is generally no harder than bringing N CPUs out of reset, when N > 1.

Fast, efficient scheduling across that many CPUs is difficult, but that isn't even considered in the article. Perhaps I missed something, but why is this news?</comment>


Obama Just Became the First Sitting President to Publish an Academic Paper - <AUTHOR> https://mic.com/articles/148595/obamajama-obama-academic-paper-made-history <comment><USER2> Geez.

Americans do not realize how lucky they got with Obama.

<comment><USER3> I, for one, have loved the slow and steady erosion of my civil liberties. Not to mention the endless wars, abysmal GDP growth, and continued centralization and bolstering of federal power. He's the best!

<comment><USER4> Hey aside from the GDP growth, you should realize that all of these have been going on for the past 40 years at least. Hell, since ww2

<comment><USER3> Totally agree and very understood. He is at the very least compliant with business as usual and I hardly feel lucky.

<comment><USER5> Slow gradual decline.

<comment><USER6> There's not any actual evidence of sluggish GDP growth, it's really just anti- Obama pundits, like this guy:

[http://www.thegatewaypundit.com/2016/04/simply-worst- obama-f...](http://www.thegatewaypundit.com/2016/04/simply-worst-obama-first- president-ever-not-see-single-year-3-gdp/)

Have a look here:

[http://www.tradingeconomics.com/united-states/gdp-growth- ann...](http://www.tradingeconomics.com/united-states/gdp-growth-annual)

choose "trend line". You'll see that 2015/2016 GDP growth is _precisely_ on the trend line. The main difference in the last 8 years is more stable GDP growth, rather than the extreme peaks and troughs of the previous 60 years.

I live in Canada and don't have a dog in this race, but I find it interesting that Americans are so obvlivious of the facts and willing to believe at face value all the BS that comes out of the likes of Trump.

<comment><USER5> "The call of blood, history, faith, culture and memory is winning the struggle against Economism, the Western materialist ideology that holds that the desire for money and things is what ultimately motivates mankind."

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> >Since the ACA became law, the uninsured rate has declined by 43%, from 16.0% in 2010 to 9.1% in 2015," Obama wrote.

How much of the uninsured rate decline is due to employment gains as the economy recovered from the recession?

</comment><comment><USER8> Repost: [https://news.ycombinator.com/item?id=12091596](https://news.ycombinator.com/item?id=12091596)

<comment><USER8> Actually, now I see the site is different... Same difference though..</comment></comment>


Maze Generator - <AUTHOR> https://github.com/razimantv/mazegenerator <comment><USER2> Plugging my own, related project from a few years back: [https://github.com/j-s-n/mazes](https://github.com/j-s-n/mazes)

A Python program that generates animated GIFs of some maze construction algorithms, e.g. [https://raw.githubusercontent.com/j-s-n/mazes/master/example...](https://raw.githubusercontent.com/j-s-n/mazes/master/examples/algorithm3-thickness4-128x128.gif)

The javascript version ([https://github.com/j-s-n/mazes- js](https://github.com/j-s-n/mazes-js)) has a few more algorithms IIRC but I never got around to fixing it up.

</comment><comment><USER3> Go directly to SVG. Then you can view mazes in the browser and easily use them in web pages, having them look good at any scale.

<comment><USER4> Done.

</comment></comment><comment><USER5> Cool stuff! I also wrote a maze generator awhile back[1] that was coupled with the A* algorithm, but it doesn't make those cool circular mazes or anything. C++11 is also a big plus, loving the modern C++ style.

[1]: [https://github.com/Syntaf/MazeSolver](https://github.com/Syntaf/MazeSolver)

</comment><comment><USER6> Very cool. Good work. I'm not a C++ developer my self so I can't find a use for this, but the maths is interesting and can be adopted.

Do you have any academic resources on hand that you used to help you complete this project?

<comment><USER7> Not the author, but:

Awesome visualizations: [https://bost.ocks.org/mike/algorithms/#maze- generation](https://bost.ocks.org/mike/algorithms/#maze-generation)

Explanation of most maze-generation algorithms: [http://weblog.jamisbuck.org/2011/2/7/maze-generation- algorit...](http://weblog.jamisbuck.org/2011/2/7/maze-generation-algorithm- recap)

<comment><USER8> Mr. Buck's book is also really good, I would heartily recommend it

[http://www.mazesforprogrammers.com/](http://www.mazesforprogrammers.com/)

<comment><USER9> This is such an interesting book! Thanks for sharing the link.

</comment></comment></comment></comment><comment><USER10> I love the fact that you can do so many shapes and maze styles. Very impressive.

There's a really nice responsive HTML5-JS random-maze generator, from Gosh Darn Games that's navigable with arrows. Nowhere near as advanced, but my kids love it:

[https://www.goshdarngames.com/html5-maze-post- mortem/](https://www.goshdarngames.com/html5-maze-post-mortem/)

</comment><comment><USER11> This is very cool. Believe it or not, when I was 19 I knew a female friend who could draw perfect, solveable mazes, pretty much like intuitively, and she would also know how many exits there were.

I always thought that was so amazing and cool. But she was somewhat blasé about it.

</comment><comment><USER12> Is it possible to output to a data structure format (JSON or whatever)? It'd be fun to read these mazes and generate dungeons for a game, especially the circular ones :P</comment>


Ask HN: Large Open Sourced Web Apps - <AUTHOR>

Hi guys,
Since I'm eager to learn the latest technologies behind the 'cool' web apps, lately I've been researching about large AND relatively cutting edge open source web apps in the wild, not necessarily commercial.
One striking example that I've found (here at HN) was NewsBlur: https://github.com/samuelclay/NewsBlur (massive cudos to Samuel Clay for open sourcing it)
The technologies involved in making NewsBlur tick are pretty much in sync with what I plan to learn (I'll try installing and debugging it at my VPS) but I'm curious of other such open sourced projects that you know of.
Your turn,
Cheers <comment><USER2> A few I have bookmarked - I have been meaning to dig around the source but haven't made the time (I know you said Web apps, but the mobile apps have web backends).

* <https://github.com/ooyala/barkeep> (Rails)

* <https://github.com/nothingmagical/cheddar-ios> (iOS)

* <https://github.com/github/gauges-android> (Android)

* <https://github.com/prose/prose> (Client-side Javascript)</comment>


Fun with HTTP headers - <AUTHOR> http://www.nextthing.org/?p=20

<comment><USER2> The reason for "nnCoection" headers is explained in the replies to this bug report: <https://forums.aws.amazon.com/message.jspa?messageID=81954>

<comment><USER3> Thanks, this cleared things up, especially the checksum-hack is neat. The original author's description wasn't really clear for me.

</comment></comment><comment><USER4> E-mail headers can be fun too. For example, Facebook e-mails up to this day contain:

X-Mailer: ZuckMail [version 1.00]

The X-Mailer header traditionally indicates the mail client that was used to send the e-mail.

Want to check if your friend who has "Sent from my iPhone" was really using an iPhone? Just look for "X-Mailer: iPhone Mail" (Of course, these headers can be arbitrarily set by a client, so this is not meant to be a definitive check.)

<comment> n-named Who makes up "Sent from my iPhone" messages, and why?

<comment><USER5> I like when people subtly tweak their iPhone messages. A friend for a while used "Sent from my iPhome"

</comment></comment></comment><comment><USER6> Cool article, but it's from 2005 and sadly many of those sites have dropped their funny headers. (At least most of the ones I tried myself.)

</comment><comment><USER7> "X-Coral-Control: redirect-home headers show up. This header is used to tell Coral that if Coral can't handle the load of requests for cached copies of your page, it should redirect these requests back to your site."

This presumably makes sense if the site operator is prepared to scale or has a scaling strategy to put into play - but it might take some time. He'd rather have people bounced back to his infrastructure in order to see how to optimize than loose the visibility by coral.

Also - (just a guess) some of the other headers - like the limerick - could be there to get around that IE behaviour where it won't show the real HTTP error message and instead shows you something generic and useless.

</comment><comment><USER8> This was also on here awhile ago, with some interesting discussion:

<http://news.ycombinator.com/item?id=477046>

</comment><comment><USER9> curl -i [http://www.nextthing.org/archives/2005/08/07/fun-with- http-h...](http://www.nextthing.org/archives/2005/08/07/fun-with-http-headers)

</comment><comment><USER10> Nothing beats Reddit's header.

        Server: '; DROP TABLE servertypes; --

</comment><comment><USER11> re: header job offerings

I'm very sure Google has them. I came across it when working with one of their APIs, considered it for a while, and decided I wasn't looking for a job at Google. I think it was Analytics, in case you want to work at Google.

<comment><USER12> Tech Crunch has one too. As well as "X-nananana: Batcache".

EDIT: ah, I see that this is likely to be a Wordpress generic thing.

</comment></comment><comment><USER13> Wordpress likes hackers: X-hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.

</comment><comment><USER14> I've always been fond of Slashdot's X-Fry, X-Bender and X-Leela headers and their random quotes.</comment>


AI Programmer's Bookshelf - <AUTHOR> http://alumni.media.mit.edu/~jorkin/aibooks.html <comment><USER2> This is about game AIs, which are definitely interesting. But for the most part they overlap very little with what most people think of as AI.

In undergrad (mid 2000s) I partially specialized in both computer graphics and machine learning, and took a video game class to try combining these skills. I have two big memories from this time that stuck with me. The first is the time a dev on Civilization 1 visited our class. He spoke about the "AI" of civilization, which he revealed to be a simple random number generator. He told us people often thought it was far more complex, but that's really all there was to it.

The second memory is when we actually built a 3d engine + game from scratch. Every week we had to add a new feature, so one week I obviously took on the AI. My partner and I were doing a soccer-style game, and I had grand visions of implementing a sophisticated AI using what I'd been learning in my other classes, like SVMs and neural networks. I started doing research, and was shocked to learn that no video games at the time did any of this. I learned that computers at the time weren't really capable of running several versions of an ML algorithm simultaneously (one per agent) while dealing with everything else - and more importantly that there was little need. I ended up spending a couple days building out a basic state machine, and it worked. Even the professor thought we added incredible intelligence to the players, who in reality were just following ~10 rules like "if player in defense mode: move towards the midpoint between the ball and the goal while keeping some distance between other players".

My main take-away from that class is that there was little need for actual AI in video games, and that I should pursue a different career path :/

<comment><USER3> Once you see the "man behind the curtain," game AI loses some of its magic. I'm sure a lot of those devs wanted to make something really sophisticated, but like you said there's a balance between function and performance and for the majority of players the faked version works just as well.

I made a euchre game several years ago and put in an AI as basic as you mention for Civ: all it did was pick a random card from its hand that followed suit. If they were placing the first card, it was all random. I got praise from people at how the AI surprised them with feints etc to beat them when they thought they were going to get points. Some I told, others I let believe the magic :)

<comment><USER4> The base AI that came with the card gaming engine that we developed agents for during university was called "thumb"...it always played the cards closest to an imaginary thumb of the hand holding the cards. Some people played 10+ games against it thinking it was really impressive :D

More sophisticated rules based card game agents can actually look very good unless you play a huge number of hands against them (depends on the game structure though, trick taking games work well, poker agents can usually be understood quickly even though an agent that simply plays very aggressively usually looks strong for a bit).

</comment></comment></comment><comment><USER5> This seems really out of date. I put together a list of ML books not too long ago

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

</comment><comment><USER6> I am half-joking here, but since they have a "related reading" section with more "philosophical" works, they really should include "Godel, Escher, Bach"

</comment><comment><USER7> The Matt Buckland books, especially _Programming Game AI by Example_ are very good, for simple, practical techniques.

</comment><comment><USER8> Missing: _Paradigms of Artificial Intelligence: Case Studies in Common Lisp_ , Peter Norvig

</comment><comment><USER9> Many of the books seem older than 10 years (also in the general exams list[1]). Are the (seemingly) vast advancements in the last years still based on the same principles? (Speaking as a complete ML noob.)

[1]: [http://alumni.media.mit.edu/~jorkin//generals/general_exams....](http://alumni.media.mit.edu/~jorkin//generals/general_exams.html)

<comment><USER10> ML isn't really used in game programming. These books focus on more practical techniques such as State Machines, Pathfinding, Planning, Scripting etc.

<comment><USER11> Exactly. Game AI is not so much about making AI smart, but more about making it fun.

<comment><USER12> I haven't played it, but there is a game called Smart Kobold that tries to up the AI difficulty as far as it can reasonably go. In some sense, I think it satisfies your criteria. The punishing difficulty is what makes it rewarding, and it accomplishes it through AI rather than making creatures harder to kill or do more damage.

I do agree with your statement in the vast majority of cases. Ultimately, fun trumps everything else when it comes to games (though what counts as fun is subjective). Even Dark Souls, which many (most) gamers consider difficult, is not difficult because of unbeatable AI. It's full of patterns (indeed, that's how you get better at the game: you recognize and respond correctly to those patterns).

</comment></comment></comment></comment><comment><USER13> Steve Grand's other book "Growing up with Lucy: How to Build an Android in Twenty Easy Steps" should also be included in this list.

[https://www.amazon.com/Growing-Up-Lucy-Android- Twenty/dp/075...](https://www.amazon.com/Growing-Up-Lucy-Android- Twenty/dp/0753818051)

</comment><comment><USER14> When this was discussed previously, I made an in-depth comment on it there, which I'll reference again here: [https://news.ycombinator.com/item?id=8851408](https://news.ycombinator.com/item?id=8851408)

</comment><comment><USER15> What's the state of the art in path planning? e.g. as used by Google Maps? Perhaps some subset of those techniques could be used in games.</comment>


Open source RISC-V implemented from scratch in one night - <AUTHOR> https://github.com/darklife/darkriscv <comment><USER2> This is good news for risc-v! The fact that it can be implemented so easily by hobbyists furthers the cause of trusted hardware. Sure, it won't be implementable by hobbyists at the speeds necessary for modern desktop computing, but a trusted security core (something like a yubikey) could be implemented on completely from-scratch hardware, but then still use existing trusted/vetted software (openssl), just a cross-compile away.

<comment><USER3> "Modern" desktop computing is perhaps less resource hungry than you think when you cut away so much graft of telemetry.

None or barely few games, of course. But word processing, email, and pure HTML browsing without javascript? Maybe not HTML5's fancy features, but general rich text?

I think it's very achievable.

<comment><USER4> My software "stack" hasn't changed in maybe 15 years now. It's emacs + firefox + terminal and a couple utilities here and there. It ran fine on my first computer with a single core ~1GHz CPU and 128MB of RAM (although multi-core architectures and more RAM did make it a lot easier to multi-task later). The only reason I upgrade my computer these days is to run modern games, for everything else except compilation I could probably use a computer from 10 years ago and not feel the difference.

I'd gladly switch to a completely open source hardware architecture even if it meant losing a significant amount of raw performance provided that the hardware and OS are stable and it's not prohibitively expensive.

<comment><USER5> I don't know what "prohibitvely expensive" is in your case, but there's a possibility today:

Grab one HiFive Unleashed for $999 [1]:

\- 4 cores up to 1.5Ghz

\- 8Gb DDR4 ECC Ram

\- 1Gbps ethernet

Then grab one HiFive Unleashed Expansion Board for $1,999 [2]:

\- SSD M.2 Connector

\- SATA3 Connector

\- x16 PCIE Connector (4 lanes of pcie2)

\- A bunch of other cool stuff you wouldn't probably use (SPI, FPGA, etc.)

Finally grab some M.2 Drive and a graphics card ($500 maybe?).

This would set you back a grand total of $3500, which is definitely way more expensive than the current mainstream but may fit within "non-prohibitively expensive" for some. The whole platform should be open source [3].

[1] [https://www.crowdsupply.com/sifive/hifive- unleashed](https://www.crowdsupply.com/sifive/hifive-unleashed) [2] [https://www.crowdsupply.com/microsemi/hifive-unleashed- expan...](https://www.crowdsupply.com/microsemi/hifive-unleashed-expansion- board) [3] [https://www.sifive.com/products/hifive- unleashed/](https://www.sifive.com/products/hifive-unleashed/)

<comment><USER6> While the hifive is an awesome proof of concept 3,5 k$ for essentially something performing roughly as well as a raspberry pi seems prohibitively expensive for now.

<comment><USER7> Seems worth it.

My issue would be paying all that, and then strapping closed source hardware to it.

</comment></comment></comment></comment></comment></comment><comment><USER8> Sorry to burst any bubbles here, but this is s very incomplete implementation.

You couldn't run anything but small toy programs on this machine. This is more like what a student would build in an undergraduate course in computer architecture.

For example, there is no MMU, no debug support, no traps, no interrupts, no exception handling, no OS privledge levels, no FP, no memory controller etc.

Of course, one wouldn't implement all of these in a few hours.

The fact that this is RISCV is somewhat of a red herring as you could do a similar thing with a restricted subset of MIPS or ARM or even x86 as they do in UT Austin's comp arch class.

<comment><USER9> I fully agree with you about the missing features! However, as long my objective is replace some legacy 680x0/683xx/coldfire processors running small toy programs, I see no need for that complex features. Please keep in mind that although 25% of RV32I instruction set is missing in my implementation, there is no side effect, since that instructions are not relevant for this specific environment (fencex, exxx and csrxxx), since the gcc generates by default exactly the implemented subset and nothing more. I think this is a very important advantage in the RISCV architecture when compared with others and I dont think the gcc will have the same benevolent behaviour in the case of ARM or x86. Maybe for MIPS is possible, but I am not sure about it. Anyway, why not use RISC-V? :)

<comment><USER10> Yes. Part of the motivation for RISC-V was to enable designers to do one-off experiments like this or small production runs with custom ISAs based on RISC-V, without having to worry about licenses or intellectual property issues. RISC-V even leaves some op codes uncommitted so designers can add their own custom instructions. Dave Patterson (RISC-V designer and Turing award winner) explained this at a talk I attended a few years ago.

</comment></comment></comment><comment><USER11> I love reading about stuff like this. There's something magical about having an inspiration fire so hot you can't put it out without 6 hours of hard coding at an ungodly hour.

</comment><comment><USER12> I wonder how easy it would be to port [https://github.com/xoreaxeaxeax/sandsifter](https://github.com/xoreaxeaxeax/sandsifter) to the RISC-V instruction set.

Would probably be a decent step in the right direction for validating/verifying the future of trusted computing.

Although... this gives rise to a 2nd thought. If it was _this easy_ to build a RISC-V implementation, is it all that special, technically speaking? I ask as someone naive about processor design. Is implementation relatively straightforward, but design hard?

<comment><USER13> My understanding of sandsifter is that it works by executing an instruction next to a page boundary, which gives either a page fault error (the instruction executed correctly and then execution passed over to the next page which is presumably non-executable) or an error indicating the instruction was malformed. So, for it to work on RISC-V you need paging, and also interrupt vectors to work. The MMU was only recently standardized so I'm not sure if it's actually implemented in any hardware or software yet, but once you have those two things it should be fairly straightforward.

<comment><USER14> Sandsifter is dealing with the problem of "how do I find valid instructions in any 1-15 byte sequence, which yields 2^120 combinations?"

In RISC-V there are currently only 2 byte and 4 byte instructions, which you can brute force your way through. The specification does technically allow for longer sequences, in which case sandsifter will work just fine. [And the RISC-v privileged specification has existed for years].

<comment><USER13> >And the RISC-v privileged specification has existed for years

It is a draft which has not been finalized and contains a disclaimer that it might be modified in a non-backwards compatible way prior to final release.

</comment></comment></comment></comment><comment><USER15> I don't know anything about RISC-V ISA yet, but I am wondering if its ISR is great for learning computer architecture in shcools compared to MIPS, the dominant ISR at colleges for introductory computer architecture classes?

The HDL (Verilog) code looks quite short and simple. If the partial implementation of the ISR implementation is like that it shouldn't be so bad for learning...

<comment><USER16> Yes. Berkeley started using it to teach introductory computer architecture: [http://www-inst.eecs.berkeley.edu/~cs61c/sp18/](http://www- inst.eecs.berkeley.edu/~cs61c/sp18/)

A major project of the course is to build RISVC emulator and implement 2-stage pipeline in logisim.

<comment><USER17> The technical university of Denmark also transistioned to teaching computer arch using RISC-V. Some of the most popular textbooks are also being converted to RISC-V editions.

</comment></comment></comment><comment><USER18> As the possibilities for smaller transistor get narrower companies will get more open towards smaller clients with small budgets, so taping out homebrew CPUs or SOCs or integrated circuits will be possible.

<comment><USER19> so far, the opposite is happening in the "cellphone"/pocket pc space... it is getting hard to get a phone that you can root without having to resort to "holes" that can get patched at any time...

<comment><USER20> Can you elaborate please?

<comment><USER19> Well, most people aren't going to make their own chips any time soon... so you have to buy what is available and cellphones are getting more restricted/locked down everyday in the name of security (they are getting closer to what they used to be before Android came out)... not sure if that answers your question though.

</comment></comment></comment></comment><comment><USER21> Whoa. This is very impressive!

It does seem to hilight an increasing unease I have with riscv. Implementations are many and cheap, but reusable verification is rare and people don't use what is out there. They have maybe the riscv-tests set working. But that's not enough to call your new CPU usable for anything other than a hobby project.

Fwiw, the riscv-formal package from Clifford wolf is the closest thing to a turn key solution to verifying a riscv core, even if people must remember it doesn't cover everything.

<comment><USER9> hmmm... I promise investigate this topic in the future!

</comment></comment><comment><USER22> Impressive, I like this! I'm curious more in general how widely risc-v is being used in the industry today already (they mentioned a steep adoption from academia to industry). Looking at the foundation members, there are quite a big number; given they range for risc-v is from small devices to super computers, are there any examples where it's used today and showed benefits over other archs?

<comment><USER23> There'll be a few RV32 (RISC-V 32 bit) cores in every WD hard drive starting next year.

</comment></comment><comment><USER24> Could be fun in near future. Plenty of room for improvement so it's a good base for exploration of Fpgas.

And with this [https://bellard.org/riscvemu/](https://bellard.org/riscvemu/) and similar projects already spun up in other ways, risc-v is becoming more interesting as time goes by.

</comment><comment><USER25> > and the best feature: BSD license

IIRC this isn't the first open source RISC-V core but it's great to see another implementation.

<comment><USER9> It is not even the first RISC-V with BSD license, but I love make some GPL friends cry! ;D

</comment></comment><comment><USER26> > works up to 75MHz

How much would this increase if it used an ASIC instead of FPGA? And how much would it cost for different batch-sizes?

<comment><USER25> IIUC it's critically dependent on the manufacturing process used.

> how much would it cost

A CPU IC isn't very interesting until it has some I/O, so it's much more meaningful to talk about an SoC with one or more of these darkriscv cores.

Sorry, I don't have an answer other than to say "this isn't quite complete enough for it to be useful for most tasks." That said, there's probably tons of open source implementations of DDR/SPI/PCI/USB interfaces (on opencores.org, e.g.). So it's "only" a matter of integrating these.

<comment><USER27> fastest speeds depend on two things. First the manufacturing technology used (smaller is faster because parasitic capacitance is smaller, although finfet is getting to have large parasitic resistance). The 2nd factor is the datapath between flip flops. Some architectures handle very fast clock rates because the data path is simple (or pipelined). Others are quite slow. I've seen some architectures top out at 500MHz when another architecture is running over 1 GHZ in the same chip.

</comment></comment></comment><comment><USER9> wow! I didn't expect to get so many comments and questions about my weird project! thank you all! :)

</comment><comment><USER28> /rant

"after one week of exciting sleepless nights of work (which explains the lots of typos you will found ahead), the darkriscv reached a very good quality result"

Not commenting on the actual quality of the code, but I wonder how can one make typos due to sleep deprivation, and yet produce "good quality results" in software.

I wonder when will we, as a community, stop praising all nighters and rushed work.

<comment><USER29> There's a big difference between doing short bursts of work with little sleep - particularly when you're young - vs doing it constantly for months/years.

In this case it just seems to indicate enthusiasm for the project rather than dangerous overwork.

<comment><USER9> in fact: 50% enthusiasm for the project, 50% dangerous overwork! hehehe

</comment></comment></comment><comment><USER30> I wish open source projects would stop being hosted on the Microsoft-owned GitHub.

<comment><USER31> If wishes were horses, beggars would ride.

</comment></comment><comment><USER31> "The main motivation for the darkriscv is create a migration path for some projects around the 680x0/coldfire family."

On the Amiga we don't need a replacement for MC680## processors because we have the Vampire 2+ accelerator, which gives us a superscalar, 64-bit MC68080 with AMMX extensions.

Coming to ATARI ST and Amiga 1200 near you if the Apollo team keeps this momentum.

<comment><USER9> Yeah, I know about it! But unfortunately the 68080 is too large for my FPGA applications, which are cost driven. Other open source 680x0 projects does not work too, by the same reason. For some years, I wondering how create a compact implementation of the 680x0 in the FPGA, but with no success. At some moment I started work in a subset of the 680x0, something like a RISC version of 68000, with a minimal instruction set and a very optimized pipeline, but in this case the problem moved to the toolchain and make the gcc work well is not so easy... Defeated by all that problems and limitations, I started test lots of new architectures and found the RISC-V.

<comment><USER31> What about OpenSPARC, since it has low power consumption and can be cut down to less cores and threads?

<comment><USER9> The available implementation of the OpenSPARC is too complex: a single core with 4 threads requires 59350 LUTs and runs at 62.5MHz in a Virtex FPGA (according to [1], slide 21). Although is possible remove some features, I don't think is possible reduce the logic without impact the compatibility. I think the Leon3 [2] is a far better option for FPGAs, since requires only around 3500 LUTs and runs at 125MHz in a Virtex FPGA. In a low-cost FPGA, the performance of Leon3 is around 66MHz, which is enough to replace the 680x0 and coldfire v2 processors. The requirement for 3500LUTs is not so bad, as long the TG68 (an open source 68000 replacement in VHDL) has similar requirements. However, the typical RISC-V implementation uses less than 1/3 of the logic when compared with Leon3 and TG68. Also, although the RISC-V provides almost the same performance as the Leon3, the extra logic can be used for more parallel RISC-V cores, resulting in a increase of 2 or 3x in the total performance. Finally, there is an additional problem with OpenSPARC, Leon3 and TG68: the GPL license. In another hand, most RISC-V implementations use the BSD license, as long the RISC-V instruction set itself uses the BSD license. Of course, the OpenSPARC, Leon3 and TG68 are implemented that way. There is no obstacle, other than the technical complexity, to prevent develop a new OpenSPARC, Leon3 or TG68 from scratch, with a more firendly license, better performance or better use of the logic. In this case, the question is: how many time you need to implement a minimal viable core with one of that architectures? In the case of RISC-V is perfectly possible implement a small core in a FPGA with the RV32I instruction set in few hours, because the RV32I set of instructions is really very poor and primitive, which make it specially friendly to the hardware and explain why is so compact.

[1] [http://ramp.eecs.berkeley.edu/Publications/OpenSPARC%20T1%20...](http://ramp.eecs.berkeley.edu/Publications/OpenSPARC%20T1%20on%20Xilinx%20FPGAs%20-%20Updates%20\(Slides,%208-20-2008\).pdf) [2] [http://ramp.eecs.berkeley.edu/Publications/LEON3%20SPARC%20P...](http://ramp.eecs.berkeley.edu/Publications/LEON3%20SPARC%20Processor,%20The%20Past%20Present%20and%20Future.pdf)

</comment></comment></comment></comment><comment><USER32> Writing RTL takes one night but, how long will the verification take? How much will it take to tapeout? Who will pay for it?

<comment><USER33> Your only comments on HN seem to be to criticize RISC-V.

The posters intention is not to start producing hardware, at no point does his project mention taping it out and manufacturing. Obviously it is just a fun side project to implement the RISC-V core ISA in an FGA. It was then made open-source on GitHub so anyone else interested can look at it. Chill out mate.</comment></comment>


Show HN: DID.app Retire the password, public key authentication for the web - <AUTHOR> https://did.app/ <comment><USER2> So if your email is hacked you lose access to everything?

How does a user revoke the keys if this happens?</comment>


Sqlite3(1) Mac OS X Manual Page - <AUTHOR> https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/sqlite3.1.html

<comment><AUTHOR> Recently discovered this; super useful.</comment>


OpenID Welcomes Microsoft, Google, Verisign and IBM - <AUTHOR> http://www.techcrunch.com/2008/02/07/openid-welcomes-microsoft-google-verisign-and-ibm/ <comment><USER2> Arrington says it so that I don't have to:

"But it's not clear that any of them are in a hurry to become a 'relying party' (allowing users with third party OpenIDs to log in to their sites)... Everyone, of course, wants to be an ID issuer, since they get to 'own' the user."

Is 'own' the genteel way to spell p0wn?

</comment><comment><USER3> If it makes my life easier, they can all own me.

Wait, that came out wrong.</comment>


Ask HN: How to get in touch with a small country DNS registrar? - <AUTHOR> We have a domain name registered in Nauru (.nr) and it has been good for the last few years. However, this year, for some reason, we can't get in touch with anyone there.
We wired the funds for domain renewal, but the domain has since gone down and we haven't heard a peep from anyone there for the last few weeks.
In fact, when they sent an invoice, they send that we should email two email address: email@example.com  && email@example.com
Both emails bounce!
The website also sucks ASS - http://www.cenpac.net.nr/index.html - and all numbers and email addresses on the site either go unanswered, don't work or bounce.
This is the bounce message - https://gist.github.com/marcamillion/5ad7868e9cc4ec9586d6#file-bouncemessage-txt  and this was the original email: https://gist.github.com/marcamillion/5ad7868e9cc4ec9586d6#file-original-email-txt
I am at a loss for what to do next. <comment><USER2> Hey, according to the IANA the administrativ contact is: firstname.lastname@example.com or +674 5573086

If the contact to this person also fail, i think you should email or drop a call to the iana/icann and ask for further help.

-Mumu

<comment><AUTHOR> Hey Mumu, Just updating you.

They eventually responded to me, from the management email address. It only happened after I emailed the address you gave me and the called the number (even though I got voicemail, I left a message).

They said they got the wire and didn't know who to credit it to.

Very annoying process.

I asked them how to get in touch with them in the future and they ignored that question so far.

So all in all, everything is good right now. We will see what happens next time.

Thanks for your help though, really appreciate it. WIsh I could upvote it a billion times!

<comment><USER2> Hey, no problem ;-)

-Mumu</comment></comment></comment>


The Rasterbator 1.2 - creates rasterized versions of images - free - <AUTHOR> http://www.makeahistory.com/index.php/free-stuff/214-the-rasterbator-12-creates-rasterized-versions-of-images-free- <comment><USER2> The same guy has a online tool for this as well: <http://homokaasu.org/rasterbator/wizard.gas>

<comment><USER3> hah, my A+ certification class used that when I was in high school. Our teacher was leaving (we blame ourselves, hehe) for warmer climates. He was fun, so we blew up a big picture of him and stuck it on the wall on his last day.

The best part: one of the other students said, "Hey Mr. O! We rasterbated your picture!" and he just froze and _staaared_ for a few seconds. Then he saw the picture.

Side note: I have clicked that "Click Here" TKEP button _soooo_ many times. Class was kinda boring.

</comment></comment><comment><USER4> personally I use Posterazor [1] which does not have mono/.net dependencies. Its a small app which support both OSX, Windows and Linux. I used it for an rc air-plane design, making a 1:1 scaled print. Worked great!

[1][http://posterazor.sourceforge.net/index.php?page=download...](http://posterazor.sourceforge.net/index.php?page=download&lang=english)

</comment><comment><USER5> Cool tool. Back in college, I had a photo of a shinto temple blown up to 11' x 8' taped on my wall.

I'll tell ya, though, putting that thing together was a pain..

</comment><comment><USER6> Funny name, but completely wrong.

<http://en.wikipedia.org/wiki/Rasterisation>

Rasterization or Rasterisation is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image (pixels or dots) for output on a video display or printer, or for storage in a bitmap file format.

<comment><USER7> In the printing industry, it is also a synonym for "ripping", and can apply to images as well as vector files. For example, if you have a contone image, whether RGB or CMYK, that data is going to be converted to a set of line screens, often expressed as 1-bit TIFFs, and then burned directly to plates. This process is also sometimes called rasterization, because not just the vectors/fonts, but also the bitmap images are getting converted to a line- screen equivalent.

</comment></comment><comment><USER8> fun tool. but the guy seems to have misunderstood what rasterization means - the images already are rasterized images. blowing up images like this to span several a4 sheets is already doable in exactly 3 operations in photoshop/pixelmator/gimp etc. since before the dinosaurs died, but fun nonetheless.</comment>