On the Kidnapped African Boy Who Became a German Philosopher - <AUTHOR> https://lithub.com/on-the-kidnapped-african-boy-who-became-a-german-philosopher/ <comment><USER2> Identity runs deep - this is an amazing story - and shows how much we still need to discover about identity. As a white person, born in Africa, issues of identity loom large, and (in a way) it is a privilege to be exposed to many identity struggles play out day-to-day. An example that I have experienced is how strongly people retain certain African cultural characteristics in other lands (America, Europe, Asia), even when they are from families that have been in those countries for hundreds of years, and even when they probably feel fully assimilated. I don't think we really fully understand how culture passes down through generations, whether this is through stories, language, biology. Whatever drives it, it is a beautiful feature of being human.

<comment><USER3> > As a white person, born in Africa

As another white African, I feel similarly. I feel very African, and it is part of who I am. My family has been here for about 400 years, but I still also feel I have an additional "inherited" European culture. And this mixed culture is confusing but interesting at the same time.

I lived in the UK for 18 months, and I adapted well there, but I still felt like an outsider. I'm thinking of moving to Germany for a while to see what that's like. I'll probably come back though. Home is home.

<comment><USER4> As someone that has moved a bit around, one eventually feels outsider everywhere, even at Home when among those that never traveled abroad.

<comment><USER5> Thomas Wolfe was right--You Can't Go Home Again.

</comment></comment></comment></comment><comment><USER6> Odd. His wikipedia page [0] offers a very different ending. Rather than "went to live in Fort St. Sebastian," it offers:

> According to at least one report, he was taken to a Dutch fortress, Fort San > Sebastian in Shama, in the 1750s, possibly to prevent him sowing dissent > among his people. The exact date, place, and manner of his death are > unknown, though he probably died in about 1759 at the fort in Chama in > Ghana.

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

The German and French wiki articles have yet other variations of his life's end and year of death, as do a few other articles on Google's first page result. Just spitballing here, but digging into the details looks like a low hanging fruit for someone in need of a thesis topic for a degree in History.

<comment><USER7> According to the Dutch wikipedia page, Chama and Fort San Sebastian are the same place.

</comment></comment><comment><USER8> If anyone is wondering why he returned to where he was from I suggest to read the novel «Americanah» by Chimamanda Ngozi Adichie which tells a story sharing at least one motif, perhaps. I suppose he felt alienated and was homesick even after decades of living in Europe.

<comment><USER9> The German wiki notes that as his mentors and friends died, live got more and more difficult on a personal and professional level. A marriage proposal ended in a lot of public racism against him, a campaign that culminated in the publishing of a series of a mocking poems against him (by another professor).

</comment></comment><comment><USER10> > _(Pushkin began, but never finished, a novel called The Moor of Peter the > Great.)_

You can read this in _Novels, Tales, Journeys: The Complete Prose of Alexander Pushkin_! It's great, unless you would prefer that it be finished.</comment>


Rhino is About to Get a Lot Faster - <AUTHOR> http://www.infoq.com/news/2011/07/rhino-invokedynamic

<comment><USER2> They mention work on getting things inlined and generally making calls faster but the article is surprisingly free of any real information on what they are actually doing.

Try this, try that, [laundry list of VM techniques]. we'll make it faster somehow. Just wait!

(snooze)

I do find Charlie's jab at end-to-end JS apps amusing though. It's the kind of comment I'd expect flame wars to emerge from on most forums.

<comment><USER3> Well the answer is "InvokeDynamic" of course :) FWIW I've heard that term brandied around for 3-4 years at this point, and I still have no idea what it means, and I'm a VM implementer. Personally, my feeling is that implementing a language on the JVM basically involves learning far too much about the JVM internals, and then changing your language significantly to optimize for that. But then, I have a competing horse in the race :)

<comment><USER4> Invokedynamic basically gives you access to the same kind of optimizations the JVM does for virtual method invocations except you do the method resolution. John Rose has some great articles on it.

</comment></comment></comment><comment><USER5> Seems like a no-brainer given that a lot of the JIT and tracing techniques from the JVM were taken from pioneering VM research in Self, a language which also pioneered the prototype-based OO for which JS is famous.

</comment><comment><USER6> I think it's great that there more end-to-end JS options emerging. JS is in many ways just as sane and capable to write server-side code as Python, Ruby, or PHP. It is obviously capable client side because it's basically the language that powers Adobe AIR apps. Funny enough, Javascript is about the only common language that every major tech company can get behind.

<comment><USER7> this feels like it might be fueling the flame war from the below post. Even though I work with Node all day.</comment></comment>


Is Python The New Basic? ("Python For Kids") - <AUTHOR> http://scienceblogs.com/gregladen/2012/11/24/is-python-the-new-basic-python-for-kids/ <comment><USER2> For someone who already knows how to program, Python seems to be very easy to pick up. It's still a tremendously more complex language than BASIC.

I help teach an after-school programming class for middle schoolers. Last year, we tried using Python. While some students got the hang of it, many seemed confused and demotivated.

This year, I wrote a simple TinyBASIC REPL from scratch[1], aiming to produce the simplest subset of the language that made it possible to do interesting things and illustrate concepts like looping, branching, variables, etc. It was a big hit with the kids, and the whole class has been extremely engaged. As a next step, I've built a Logo[2] implementation so that we can move into writing modular, reusable procedures and play with graphics.

Learning to program is almost entirely orthogonal to learning a language, and I think that starting with very small "toy" languages is a good way to approach teaching core concepts without getting lost in the quirks and complex features of popular "real" languages. BASIC is small, Python will never be.

      [1]https://github.com/JohnEarnest/Mako/tree/master/demos/Masica
      [2]https://github.com/JohnEarnest/Mako/tree/master/demos/Loko

<comment><AUTHOR> Remember those laptops for African kids? They integrated Python for learning to program. I only watched the video, back then, but I remember them showing the Python console.

      http://en.wikipedia.org/wiki/One_Laptop_per_Child

      Pippy https://www.youtube.com/watch?v=E7aQxYuKJ18
      Turtle Art https://www.youtube.com/watch?v=i2MblcmwWo8

<comment><USER2> Interestingly, OLPCs also come preloaded with a Forth environment by virtue of the fact that they use OpenFirmware: <http://wiki.laptop.org/go/FORTH>

</comment></comment></comment><comment><USER3> I'd rather take Lua as "The new Basic", since it has a syntax closer to Basic, and it's a simpler language.

<comment><USER4> I don't fully understand why Lua hasn't taken over the world. Seems that a large part of it is a sort of weak ecosystem (maybe larger than it seems, but too spread out), and maybe the table thing weirds people out. People want to learn something they can use in "real life" as soon as possible, at least in my experience. But if Lua had taken over that wouldn't be a problem. Grrr.

<comment><USER5> No standard library, nor even a standard class/object model. Lua is more of a language engine than a complete language. In that capacity, it is quite a success.

</comment></comment></comment><comment><USER6> There is no new Basic. Computers are massively more complex now and expectations have changed as well with the Internet and tablets and smart phones being what they are. Most first-world kids would be bored out of their minds with Basic.

But Python is a fine programming language for beginners. A Raspberry-pi would be another good teaching tool. Processing might be interesting to some kids as well...

But there is no new Basic, no new Logo, no new Oregon Trail, no new Math Blasters. Those things belong to a different era.

</comment><comment><USER7> I tried it as "first language" and it's a freaking pain, I still don't understand the "everything is an object" stuff and why to use modules for everything instead of solving problems with your own code. BASIC is way better for beginner's, especially kids.

<comment><USER8> 1\. If you think Python is a pain, I don't think there is any other language you can learn. I've learned lots of different languages, but Python was one of the easiest to pick up and get started--not so different from BASIC. 2\. Unless things have changed since I last worked with python, your statement "Everything is an object" is not true. Actually this is one thing I like about Python over Ruby (In Ruby, everything actually is an object.) As far as I know, Python has primitives, and therefore not as confusing as ruby for beginners. 3\. Here's a problem: "Build a program that fetches content from a web page.". Try building that without using any modules. Maybe even try that with your BASIC if you want. By using modules you just reuse what people have already built, and can solve aforementioned problem with just a couple of lines.

<comment><USER7> I get your point, but why should you even bother using modules when you are trying to learn programming? The scenario you suggests isen't a task for a beginner, especially not a kid with no experience. Anyway, I just want to say a quick apology, I relize my first post sounded a bit more aggresive than intended, sorry about that.

<comment><USER9> What sorts of problems and modules did you have in mind? Sure some modules can spoil the learning fun of the problem, but in most cases they seem to enhance it. Implementing the sqrt function is interesting to me (and in fact it's done early on in the SICP book for college freshmen), I also think it's interesting how other math functions can be implemented, but would you want kids who may not even have a solid grasp of what a logarithm is to implement the log function? How about making a 2D game? Why _wouldn't_ you use PyGame?

<comment><USER7> The thing is, using a function like sqrt is totally ok, but what I was more pointing to is that many tutorials teaches how to use module's in the very beginning and encuaraging(sorry for my bad english) using them to rather bypass problems instead of solving them. As for pygame, all tutorials I found said prior OOP knowledge was essential, which I had yet to understand.

<comment><USER9> I'm still having a hard time following... Maybe you could give a specific example of a problem that modules bypass? Is it just simply the idea of modules and the annoyance of having your code in multiple places and naive tutorials wanting to put everything in classes when you just want to solve one problem you thought was pretty simple?

For PyGame, I wouldn't say it's that essential, but there's a tendency for most tutorials to classify everything when often there's no reason to. The amount of OOP knowledge needed is very basic and following the simple examples is a great way to learn OOP in the first place. But I remember feeling frustrated with all the indirection and namespacing (part of the "module" frustration you had perhaps?) when I first looked at Python, having come previously from PHP. "pygame.display.set_mode() is dumb, why can't I just type make_screen()?"

<comment><USER7> If I had more time I could gladly try to find all tutorials I'm targeting at, this ain't targeted at the book mentioned in the story, that one I haven't tried. The thing I personally found hard is that these OOP and modules things come up in many tutorials in general, not all, I can see that both OOP and using modules instead of rewritting stuff that's already made is good, but I don't think that's the way to go for beginner's, BASIC is much better at that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> The biggest reason BASIC was popular to teach back in the day, is because it is very simple. You are allowed to use GOTO statements which will make (bad) programming a whole lot easier for absolute beginners. On the other hand Python is a well-designed language. It encourages both OOP and FP, and honestly I am not convinced that just because smart people are actively pushing Python to become "the next BASIC", it is going to be very interesting for absolute beginners with little exposure to math and logic.

<comment><USER11> To iterate on what you said:

Because it was simple and the rest was very complex. In fact, only assembly language for some CPUs was as simple as basic (now, it's not really the case anymore, although asm basics are simple, stuff often gets complicated with special registers and special opcodes doing magic)

Many languages today as simple and relatively sane, like, say "python" ;-) (now the other reason why I like python is because while you don't feel limited with it, it _forces_ people to code half readable, half decent stuff. They got a good balance)

</comment></comment><comment><USER12> I wish SmallBASIC (there are two of them! [0] [1]) would catch on (become a household name). Very easy, approachable, and has the same charm as normal BASIC/QBASIC - with regards to the development environment. Perfect for children.

[0]: <http://smallbasic.com/> (Microsoft SmallBASIC)

[1]: <http://smallbasic.sourceforge.net/> (SmallBASIC - One more basic)

<comment><USER13> It's still way beyond 8-bit BASIC. I think the BASIC interpreters that ran on small home computers of the late 70's and early 80's were in a sweet spot between being high-level languages (variable names, strings, arrays) and being close enough to the metal to illustrate things like conditional branching (no multi-line IF's demanded the use of GOTO's for conditional branches).

</comment></comment><comment><USER14> Nothing is, that's the problem.

<comment><USER15> Yes... At least for non-technical people.

Last year I did a small project with Excel/VBA and I realized VBA is even more difficult than C#. String manipulation is overly complex and nearly everything seems really difficult.

</comment></comment><comment><USER16> The one key difference between BASIC and (python lua javascript & etc) has nothing to do with the language at all: modern computers don't boot straight in to a REPL. Anyone who used a C64 more than likely knows a little BASIC, can't say the same for naive Windows or Mac users.

<comment><USER17> Maybe the modern equivalent of "boot straight in to a REPL." is starting a browser, everybody and his grandma knows how to do that, and if that is done, Javascript is closer than any other programming language. I can imagine a default, browser based Javascript REPL just being one mouseclick away. that can be done and probably will be done sooner or later.

<comment><USER16> > browser based Javascript REPL

Cmd-Opt-J[0]. While easy to get to, it's not the same as being forced into a REPL every time you use your computer; you still have to know it's there, lessening the temptation to jump right in and break things.

[0] or insert browser/platform appropriate shortcut for JS console/debugger here

<comment><USER18> My PC booted to DOS. Basic was an installed program.

My apple booted to the program on the disk you inserted.

</comment></comment></comment></comment><comment><USER17> Javascript is.

<comment><USER19> The problem with Javascript is that you basically can only use it to interact with websites (thus forcing people to also learn HTML and CSS along with it). There is also the problem of it being a language full of warts and implementation incompatibilities and missing lots of features you would want from a modern language.

<comment><USER20> BASIC had plenty such warts, incompatibilities and lack of 'modern' features. Javascript is still not as immediately available and direct to use as the BASICs of old were. As a beginner, to easily make anything useful and interesting (by today's standards) in Javascript, you need to run it in a browser as a saved file, wrap it in some html, and add a bunch of boilerplate (create a canvas, make stuff move, access the DOM).

</comment></comment></comment><comment><USER21> Where I went to school, they taught Turbo Pascal as the first language, and I thought it was a much better beginner language than Basic.

</comment><comment><USER22> These days, it seems that when I ask great 20-something-year-old programmers (or whatever term we use) at what age they started to program computers, I the answer is usually 10+. I wonder if it will be the same in 20 years? How young will it go?

<comment><USER18> It was the same 10 years ago. Presumably it will be as low as it was when programmable computers were first deployed to homes with kids. It might get older if kids get too much video games that don't inspire them to program the machine.</comment></comment>


UK citizens may soon need licenses to photograph some stuff they already own - <AUTHOR> http://arstechnica.com/tech-policy/2015/12/you-may-soon-need-a-licence-to-take-photos-of-that-classic-designer-chair-you-bought/# <comment><USER2> Would be funny if this could be used against CCTV cameras</comment>


How to crash an email server with a single email - <AUTHOR> https://snyk.io/blog/how-to-crash-an-email-server-with-a-single-email/ <comment><USER2> > "make it work, then make it fast"

Funny, in my education I was taught that making it fast, safe, smart, and reliable were all part of making it "work"

Not to say I haven't missed the important thing or caused problems and serious bugs before, but it was certainly never _intentional_

Can we stop pretending that we write shitty code on purpose, and admit that sometimes we just aren't good at it?

</comment><comment><USER3> Howabout not using Node.js in your mail server? I mean who thinks this is a good idea?</comment>


The Last McDonalds in Iceland - <AUTHOR> https://snotrahouse.com/last-mcdonalds/ <comment><USER2> There's a livestream of the burger and fries courtesy of the museum: [https://www.bbc.co.uk/news/blogs- trending-50262547](https://www.bbc.co.uk/news/blogs-trending-50262547)</comment>


Want to Make a Difference After the Election? Move to the Midwest - <AUTHOR> http://chicagoinno.streetwise.co/2016/11/10/want-to-make-a-difference-after-the-election-move-to-the-midwest/ <comment><USER2> Why? So neoliberal victors in NYC and SF can undercut your livelihood until you're pissed off enough to vote for Trump?

</comment><comment><USER3> fwiw, i would move there if it were easier to find jobs there and there was any reasonable amount of them there.

<comment><USER4> Ironically this underscores why Trump won.

</comment></comment><comment><USER5> No, please, please please, stay where you are. We have no problem letting you do you where you are on the coast but don't bring it here.</comment>


Swift Standard Library - <AUTHOR> http://practicalswift.com/2014/06/14/the-swift-standard-library-list-of-built-in-functions/

<comment><USER2> Could be really cool with a description of how the undocumented ones were found?</comment>


Ask HN: Now what? - <AUTHOR> Suppose that you have mastered CS as a hobby project. Let's say you have watched all the classic courses, like 6.001 2004, CS61A, Dan Grossman's Prog Langs, Programming methodology course by Gregor Kiczales, Scala courses by Martin Odersky, even the OCaml MOOC etc, etc. Basically, you have bootstrapped yourself to an equivalent of a major in CS (in a foreign language media) just for fun. Originally it was the way to practice English language.
Then you have realized that there is absolutely no market to this kind of academic, mostly theoretical, classic knowledge. You are supposed to have a top-tier CS degree from an Ivy league college to get one of these high paying job in the valley (not necessarily possessing even a half of CS knowledge I've accumulated) or to compete on an online sweatshops like UpWork for $10 a task (well, I am exaggerating a bit).
Of course, I know how wonderful it is to write an open source software for the benefit of humanity as a whole, or how to contribute to a top-tier open source project (hello all the guys who are submitting all these minor typo corrections and insignificant code reordering patches to ghc or golang to see their names in History) but I literally have no idea what should I program and why.
The positions for writing, say, fintech in Haskell for a startup in London or for improving Dotty in Geneva, or writing Erlang in Sweden are quite limited (related to a population of 7 billion) so you better to have an Ivy leagues credentials, indeed. There is, of course, no demand for top-tier functional languages on Upwork. (I won't even touch PHP or Java, sorry).
So, what next? Give it up and run some fast food joint and what not? Small business? The time of garage startups are long gone. To teach kids in a third world? Well, even this requires a diploma.
Is there some darknet marketplace where people really don't care who you are and how old are you as long as you are able to produce a high quality code? <comment><USER2> _I know how wonderful it is to write an open source software for the benefit of humanity as a whole_

I get the impression that you _don 't_ actually know that. Or you didn't mention what you wrote, anyway. I guess having ideas about "what should I program and why" involves learning about the world and what it needs. And not just learning about it at a distance, but getting involved. Good luck.

<comment><USER2> ...Maybe Bret Victor's _Inventing on Principle_ will give you some ideas/a new angle on life.

[https://vimeo.com/36579366](https://vimeo.com/36579366)

</comment></comment><comment><USER3> Do you have job experience? In my experience, academic CS knowledge doesn't produce "high quality code" that I want to pay for.

Good code is easy for teammates and future workers to maintain and collaborate on. Academics usually don't learn how to manage that part of it.

Also, you'd rather work in fast food than write Java?

What about C# or Python? There are lots of jobs for those. Elm, Erlang, Elixir, and Scala seem to be popular enough for you to find a job, too.

</comment><comment><USER4> When I was feeling very disenchanted with my customer service call center jobs after 8 years, I took a job waiting tables and painting houses.

After two months, the physical nature of the job went from awesome to horrible. Everything hurt.

I immediately went back to customer service with new gusto.

Good luck!

</comment><comment><USER5> " _The harvest is plentiful, the laborers few._ "

If you knew this stuff as well as you think you do, you'd have more ideas than time. The field is a disaster.</comment>


I left a comment on his blog and he hired me - <AUTHOR> http://whoo.ps/2013/05/27/they-called-my-name

<comment><USER2> Great Story -- I think great entrepreneurs know that continuously collecting good people make companies great, and for that quality of character and genuine desire to be a part of something often trumps what the CV shows.</comment>


Moochers Against Welfare - <AUTHOR> http://www.nytimes.com/2012/02/17/opinion/krugman-moochers-against-welfare.html?_r=2&src=tp&smid=fb-share

<comment><USER2> I know why they vote Democrat: Because they want to get free stuff from the government.

<comment><USER3> I think it's because there is no one else in their corner</comment></comment>


How to think like a Pythonista - <AUTHOR> http://python.net/crew/mwh/hacks/objectthink.html

<comment><USER2> "there is really no alternative in the general case without imposing huge overhead, making copies of everything "just in case"."

Actually, there is an alternative: use persistent data structures. Granted, it's an alternative that isn't terribly "Pythonic", but an alternative nonetheless.

</comment><comment><USER3> A terser version with pictures: [http://python.net/~goodger/projects/pycon/2007/idiomatic/han...](http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#other- languages-have-variables) from "Code Like a Pythonista: Idiomatic Python" by David Goodger

</comment><comment><USER4> Seems like a very verbose way to explain the situation to the original poster...

Lists are mutable, strings aren't. When you reassign one of the dictionary values pointing to an existing string, it can't change that string, so it creates a new one. Since lists can be changed, it doesn't need to create a new one and can modify the existing list.

<comment><USER5> The distinction between mutable and immutable is important, but more important here is the difference between

        >>> dict['a']=3

and

        >>> dict['a'].append(3)

The first rebinds dict['a'] (and in the process mutates the object dict is bound to).

The second mutates the object dict['a'] is bound to (and in the process binds dict['a'][1] to 3 [EDIT: not really -- 1 is not a name and so doesn't have a binding]).

I think looking at it purely in terms of mutable versus immutable makes it more likely for a newbie to expect the assignment above to work differently depending on the mutability of dict['a']'s old or new value. (I have seen this type of error.)

EDIT 2: I think a better way of making my point is that this:

        > When you reassign one of the dictionary values
        > pointing to an existing string, it can't change that
        > string, so it creates a new one.

can be taken (incorrectly) to imply that reassigning a dictionary value pointing to an existing list will mutate that list.

</comment></comment><comment><USER6> Obligatory: <http://code.google.com/edu/languages/google-python-class/></comment>


How to get started in the SF tech scene - <AUTHOR> http://jolieodell.wordpress.com/2010/09/01/how-to-get-started-in-the-san-francisco-startup-scene/

<comment><AUTHOR> I'd be interested in hearing the HN take on this. I recently moved here from the UK and am still trying to figure out the must-attend events, places to be, people to meet.

For hackers, it seems SuperHappyDevHouse always comes up in conversations. And I've been to the Hacker Dojo, which is pretty damn awesome. Other suggestions?</comment>


Enforcing New Rules to Reduce Hateful Conduct and Abusive Behavior - <AUTHOR> https://blog.twitter.com/official/en_us/topics/company/2017/safetypoliciesdec2017.html <comment><USER2> This is going to be fun.

> Accounts that affiliate with organizations that use or promote violence > against civilians

> Content that glorifies violence or the perpetrators of a violent act.

* "Support our troops"

* "Punch a Nazi"

* Basically any enthusiastic history account.

* Mall ninjas.

* Any action movie/tv property.

* Star Wars.

* UFC

It seems almost puritan to try and deny humanity's love of violence.

> If an account's profile information includes a violent threat or multiple > slurs, epithets, racist or sexist tropes, incites fear, or reduces someone > to less than human, it will be permanently suspended.

* A little confused about the 'multiple' requirement. So long as you only hate one thing your good?

* Racist or sexist tropes is a bit hard to pin down. /r/bpt is full of examples of 'racist' tropes that are self-deprecating. I'm not the best at words but they probably want an exception for "laughing with you, not at you."

> intimidates, or uses fear to silence another person's voice

I can't wait for this to not be applied against people who use public shaming as a silencing tactic.

Also, there's a bit on irony that in that policy is itself a silencing tactic. This is going to cause people afraid of being banned to self-censor because a statement is politically unpopular.

<comment><USER3> Dear Twitter,

If I'm a member of a visibly protected minority group (Black Muslim) and I tweet "Death to Zionist Sodomites occupying Holy Jerusalem" would I be suspended? Asking for a friend.

<comment><USER4> Probably, as you are violating one of Twitter's partner organizations on the Trust and Safety Council, the ADL, whose mission is to eliminate anti- semitism.

You can view Twitter's safety partners here to learn which groups have advisory over what counts as 'hate speech' : [https://about.twitter.com/en_us/safety/safety- partners.html](https://about.twitter.com/en_us/safety/safety-partners.html)

<comment><USER5> Note he didn't say Jews but Zionists so it would be ok as long as there won't be too many brackets in his tweet. /s

</comment></comment></comment></comment><comment><USER6> Specifically, there's a _this policy does not apply to military or government entities_ loophole to these new rules, which many believe to be a workaround for these rules not applying to Trump.

<comment><USER7> Yeah, this is absolute doublespeak. Twitter's not 'enforcing' anything, and as others have pointed out, they are actually making the situation worse. Now it's clear that even Twitter says if you're rich and famous you can be abusive without the same consequences as someone who is not wealthy. Ridiculous.

Nobody has ever held Trump accountable for anything. Hilariously, Twitter holds a lot of power over Trump due to controlling his popular account. They could hold him accountable. They choose not to. Insane.

<comment><USER8> > Nobody has ever held Trump accountable for anything. Hilariously, Twitter > holds a lot of power over Trump due to controlling his popular account. They > could hold him accountable. They choose not to. Insane.

Trump is the elected president of USA, one of the most important country on Earth. The fact that you suggest a private company should police his speak is insane to me.

<comment><USER8> To those downvoting me, do you think CNN, BBC and all major news outlets should only report what Trump does, but never actually show a video of him speak to deny him a platform?

<comment><USER9> Twitter is not journalism. And as you yourself have pointed out, Trump is one of the most powerful people on earth—meaning he has at his disposal more platforms than any of us can even dream of. Twitter can no more "police his speech" than I can police all of Facebook.

What Twitter _can_ do is decide they don't want Trump to be an active member of their community. That is not just within their legal rights; it's well within their moral rights too.

<comment><USER8> Should twitter also ban the accounts of the president of Russia and the president of China, because of their support of policies which violate human rights? (LGBT, Tibet, democracy, the list is long, pick your favorite).

What about the account of Barack Obama, who supported extra-judicial drone killings of US citizens?

[https://www.vox.com/policy-and- politics/2016/11/14/13577464/...](https://www.vox.com/policy-and- politics/2016/11/14/13577464/obama-farewell-speech-torture-drones-nsa- surveillance-trump)

<comment><USER10> You're conflating a lot here. People think Trump should be banned from Twitter _because of the inflammatory content of his tweets,_ not because of objectionable things he does elsewhere. Unless Barack Obama made a bunch of tweets exhorting drone strikes that I'm unaware of, the comparison you're suggesting doesn't go through.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I've gone through and reported a number of accounts that seem to violate this policy after the announcement and made note of the usernames and if they were a left wing or right wing organization. I'm curious to see if this will be enforced equally.

<comment><USER8> Many will report antifa accounts. It will be a shitfest whatever Twitter does: ban - they are pro fascists and can't distinguish between "good" violence versus "bad" violence, no ban - they have double standards for left versus right.

<comment><USER2> There's a such thing as good violence?

<comment><USER8> Well, self defense is a generally accepted case of good violence.

<comment><USER12> Antifa acts in self-defense? what a joke

</comment></comment></comment></comment></comment><comment><USER13> That's how authoritarianism is and will be implemented in the US: by using the excuse that because a corporation is doing it, then it's not bound by the constitution. "Twitter is a private entity, so they don't have to follow the first amendment." But when the government has privatized and outsourced everything to corporations, then the corporations control the narrative, and censorship becomes de facto instead of by law. Corporations are a workaround to get around constitutional limitations.

<comment><USER14> If you don't like how a corporations handles speech you don't need to use their services. The social media corporations are not being controlled at this point by the government and these issues of free speech are being implemented not because of the will of the government but because they are wanted by the consumers (even if it doesn't seem that way here). Consumers should be able to use the services they want and they want services without these types of speech

<comment><USER15> > _If you don 't like how a corporations handles speech you don't need to use > their services._

And what are the alternative services that these people should use? Google, Facebook, Twitter, etc. simply don't have any alternatives that are widely used or credible.

<comment><USER14> I agree but it's the market that's the issue, the government has little to do with it

</comment></comment></comment></comment><comment><USER16> Meaningless until they enforce this with their star contributors. Otherwise it's just further enforcing a set of rules for stars and another for everyone else.

<comment><USER17> Yep the verified check was simply a way to impose class distinction. You should hit up Mastodon/GnuSocial.

<comment><USER18> Be wary of Mastodon for their Embrace/Extend of GNU Social, as well as their banning of entire chunks of the federated network.

Find a good GNU Social site, and bask in the freedom. it feels like Twitter when it first started.

<comment><USER19> Does Mastodon roll out these bans coordinated across the federated instances?

<comment><USER20> The administrators of popular mastodon instances share "block lists" manually. That's the level of coordination.

Shared lists:

[https://github.com/tootcafe/blocked- instances](https://github.com/tootcafe/blocked-instances)

[https://github.com/MastodonBlocklist/blocklist](https://github.com/MastodonBlocklist/blocklist)

[https://github.com/ticki/mastodon- blacklist](https://github.com/ticki/mastodon-blacklist)

and others

</comment></comment></comment></comment></comment><comment><USER21> >We consider hateful imagery to be logos, symbols, or images whose purpose is to promote hostility and malice against others based on their race, religion, disability, sexual orientation, or ethnicity/national origin.

Let the endless game of whack-a-mole over what is or isn't a dogwhistle commence, I guess.

<comment><USER22> Why didn't they include gender identity? Maybe the biggest dog whistle is the blog post itself.

<comment><USER23> Case in point, this comment.

</comment></comment></comment><comment><USER24> There's nothing wrong with Twitter operating a highly moderated platform. Hacker News is a successful example.

In both cases though, it's a huge problem that there aren't alternatives that do off truly uncensored speech. At the very least, there needs to be a force that checks these organizations when they step over the line.

<comment><USER25> Hacker News is successful because it is still yet relatively small. It will not scale.

<comment><USER26> Exactly.

It's essentially an example of a benevolent dictator model.

Right now the people moderating are doing a great and largely unbiased job, but if you try to scale, you'll bring in new people, and gradually the quality of those moderators will vary with the larger group.

<comment><USER24> This is just lack of imagination talking.

Reddit's sub-reddit moderator system is just one example of how to scale moderation to millions of users. If a moderator gets out of hand, reddit admins step in or users move to a new subreddit.

There are a virtually unlimited number of systems like this one could create and make work.

</comment></comment></comment></comment><comment><USER27> "Content that glorifies violence or the perpetrators of a violent act. This includes celebrating any violent act in a manner that may inspire others to replicate it"

Does this apply to videos of NFL tackles? Videos of NFL tackles glorify violence and glorify the tackler (the perpetrator of a violent act).

<comment><USER28> Pretty sure the common definition of "violence" excludes such things.

<comment><USER27> You mean it's not violence to hit somebody with your body so hard they fall to the ground and can result in bone and ligament injuries, or even brain injuries with permanent neurological issues?

<comment><USER29> Not if it's consensual.

<comment><USER30> That's why you can still duel with someone you dislike. /s

<comment><USER31> You absolutely can, in a boxing ring for example. It's not unconstrained violence if it takes place within a framework of rules - i.e. it's a sport. NFL tackles being the same thing.

A Twitter feed showing _only_ illegal violent NFL tackles? Well, that might just get banned now.

<comment><USER30> _You_ said "unconstrained", but that's not what this is about. I agree that Twitter has just entered a completely unwinnable situation, and they made a mistake because nothing they do will be balanced by everyone's definition. I'm saying the "it's not violence if it's consensual" point is ridiculous and wrong. Additionally, and perhaps obviously, I was talking about a _duel_ , not a sport [0].

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

<comment><USER31> Well we're sort of violently agreeing, albeit obliquely. I owe you a response; you got unfairly downvoted for what was obvious sarcasm and I think my initial response cast your comment in a bad light.

> "it's not violence if it's consensual" point is ridiculous and wrong.

Exactly - provided that it's done outside the boundaries of some sport. But I think an actual lawyer would need to say what that means: could you and I, for example, create a new sport called "Modern Dueling" and construct a set of rules for it which permits us to fight to the death in a seemingly regulated fashion? Almost certainly not: no reasonable person would consent to be bound by those rules. Yet people do die in MMA, for example, and charges are not bought. It's part of the accepted risk of the sport which is regulated and refereed to prevent lasting harm to participants.

Would two knuckleheads who decided to dress up in NFL gear and run full tilt at each other in a parking lot face charges? What if one of them died? I'd guess yes. Again, I agree with you.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER32> Just today there was this essay/blog on leading German newspaper FAZ showing where censorship-by-law of "hate speech" will lead to.

[1]: [http://blogs.faz.net/deus/2017/12/18/erdogans-mob-und- gruene...](http://blogs.faz.net/deus/2017/12/18/erdogans-mob-und-gruene- denunzianten-wem-das-spd-netzdg-nuetzt-4778/) _(in German)_

[2]: [https://translate.googleusercontent.com/translate_c?depth=1&...](https://translate.googleusercontent.com/translate_c?depth=1&hl=de&ie=UTF8&nv=1&prev=_t&rurl=translate.google.com&sl=auto&sp=nmt4&tl=en&u=http://blogs.faz.net/deus/2017/12/18/erdogans- mob-und-gruene-denunzianten-wem-das-spd-netzdg-nuetzt-4778/)

</comment><comment><USER33> Twitter is committing a slow suicide. Maybe @jack is just bored with it at this point...

</comment><comment><USER34> I want to condemn this as too broad reaching, and as hard-to-justify censorship.

Then again, I also don't want to keep seeing things like death threats, bullying, and general hate-laden vitriol. Seriously, look up some of the tweets aimed at August Ames and tell me that's OK in any forum.

Ultimately, I have to fall on the side of moderation in this case. A free-for- all forum has been tried, and it has failed us.

</comment><comment><USER35> How does this differ from their previous policies?

</comment><comment><USER36> > promote violence ... _against civilians_

that's an interesting angle.

</comment><comment><USER37> So does my tweet @ Ajit Pai wishing that he burns to death slowly get me banned from Twitter or do I get grandfathered?

</comment><comment><USER38> I'm getting tired of the Marxification of America!

</comment><comment><USER39> This is all BS. Twitter has to prove they will enforce their policies, which means banning Trump. Twitter doesn't have the guts to do that. Yellow-bellies

</comment><comment><USER40> > this policy does not apply to military or government entities

One rule for them, another rule for us. This sort of thing is how Trump was able to paint "the media" as being full of hypocrites, liars and crooks.

 _Edited to add:_ not a Trump supporter myself, by any stretch of the imagination. But this is exactly the sort of thing demagogues like to point to as examples of bias and unfairness. Although Trump himself might not, in this case, as he seems to be one of the beneficiaries.

</comment><comment><USER41> What wicked webs they weave. Are they gonna ban the sjws and alt rights alike... Triggereds

<comment><USER42> Would you please stop posting flamebait and unsubstantive comments to Hacker News?

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

<comment><USER41> A legitimate question in my opinion

</comment></comment></comment><comment><USER43> I wish companies would grow some character and tell those they don't want on their platform "Hey we don't like you, get the fuck out". Instead they always resort to incredibly weaselly lawyer-speak statements like "Our trust and safety initiative has concluded that these users have violated our content and user behavior acceptability inclusiveness policies on several occasions". Arbitrary enforcement of rules always sounds like bullshit no matter how you phrase it. Why not just say what you mean?

<comment><USER44> You mean like Cloudflare did when the cancelled Stormfront's hosting for being assholes? That copped a lot of backlash.

</comment></comment><comment><USER45> >Any account that abuses or threatens others through their profile information, including their username, display name, or profile bio. If an account's profile information includes a violent threat or multiple slurs, epithets, racist or sexist tropes, incites fear, or reduces someone to less than human, it will be permanently suspended. We plan to develop internal tools to help us identify violating accounts to supplement user reports.

How can they possibly enforce this hypocritical bullshit while our president violates these policies on a daily basis? Ham handed nonsense.</comment>


What is 'real' Indian cuisine? - <AUTHOR> http://www.bbc.com/travel/story/20190609-the-surprising-truth-about-indian-food <comment><USER2> What is 'real' Italian food?

<comment><USER3> I can't tell if this is meant to be sarcastic dismissal of the article or an honest question. The headline could be better but the article's interesting.

<comment><USER2> I agree that the article is interesting.

But article authors don't write headlines, at least not for most organizations. (Just like book authors rarely choose book titles.)

You'll note the author nowhere mentions "real". Quite the opposite, with quotes like "All cuisines in India have adopted the tomato" (just like Italian cuisine has adopted the tomato) and saying "Indian cooking has changed in the past 1,000 years".

Modern Indian cooking is no less "real" than its older traditions.

Unfortunately, 'real' sound very close to the observed issues with 'authentic' as it relates to foods often called "ethnic", meaning "not common to WASP-y homes in the US or UK". See [https://www.npr.org/sections/thesalt/2016/04/09/472568085/wh...](https://www.npr.org/sections/thesalt/2016/04/09/472568085/why- hunting-down-authentic-ethnic-food-is-a-loaded-proposition) ("Why Hunting Down 'Authentic Ethnic Food' Is A Loaded Proposition") and [https://www.eater.com/2019/6/4/18652061/always-be-my- maybe-a...](https://www.eater.com/2019/6/4/18652061/always-be-my-maybe-asian- food-authentic-cooking-netflix-ali-wong-randall-park) ("'Always Be My Maybe' and the Trap of 'Authentic' Cooking") for details.

My quip, therefore, was meant to make the reader consider what "real" means for Italy - Italian food with no tomatoes? - and perhaps apply that reconsidered perspective back to India.

But without this wall of text. :(</comment></comment></comment>


Show HN: Badger-Rails - <AUTHOR> http://curiousminds.github.com/badger-rails/

<comment><USER2> This is a nitpick, and I don't mean to diminish the job you guys have done, but I _loathe_ projects that use metaphorical class/object/script names. I'm the guy responsible for infrastructure in our organization, so naturally, I started digging in to see what's going on under the hood.

So I drill down:

lib...

badger...

core...

Claws and teeth? WTF are these? How do they relate to each other?

When I start reading the code, I constantly have to maintain a mental map between the metaphorical basis of these claws and teeth. It strikes me as useless mental baggage when I'm trying to understand how something works.

I'm probably a little bit oversensitive to this because of an experience I had with a Ruby IRC bot library called Autumn [1]. It's a very neat little library, but I got stuck in a very frustrating pattern. I would get Autumn set up the way I like it, then not touch it for a long time. Every time I circled back to it, I had to re-learn what Seasons and Leaves were. They could just as easily have been named Contexts and Bots.

Sorry for the negativity, because I'm otherwise liking the project. I'm going to give it a shot on our test-build infrastructure!

1: <https://github.com/RISCfuture/autumn>

</comment><comment><USER3> Mixing deployment-time configuration with your app, including checking the _root password for your deployment machines_ into source code, seems to violate best practices pretty violently. Heroku is great specifically because it separates out deployment configuration from runtime configuration.

</comment><comment><AUTHOR> Badger-Rails is a tool that helps you set up any linux server to be a fully functioning rails environment. It supports deployment like heroku does, using git.

We also have support for best practices with resque and multiple app servers baked in :)

<comment><USER4> > Badger-Rails is a tool that helps you set up any linux server to be a fully > functioning rails environment. It supports deployment like heroku does, > using git.

I strongly suggest putting this as the first sentence on TFA.

</comment></comment><comment><USER5> not that this isn't awesome, but it's pretty unfair to heroku to describe this as even close to equivalent to what they do. badger-rails replicates parts of the deploy experience, but heroku does so much more.

i think the title of the post should be changed to avoid making reference to heroku, as badger-rails can and should stand on its own as a useful tool.

<comment><AUTHOR> That's true drewwwww. The reason for comparison to heroku though was to draw on the simplicity of deploying a ruby on rails application, which is otherwise very difficult. It's easier to explain this to people using heroku then it is to draw comparisons to peoples experiences with puppet or chef.

To be clear though, badger doesn't just replicate the deploy experience but also the best practices of setting up a rails server, including scaling an infrastructure to the same if not better levels then heroku can currently scale if you have the server power behind it.

We currently use it on one of our own applications that has multiple application servers and webservers, and use badger-rails to scale whenever we need to.

</comment></comment><comment><USER6> I've been waiting for something like this for YEARS... can't wait to try it out.

</comment><comment><USER7> Cloud66 is a service that offers something like this (Heroku style provisioning to your own servers): <https://www.cloud66.com/> (No connection to them, they just e-mailed me about it a few weeks ago. Looks OK, not tried it yet.)

<comment><USER8> Badger-Rails is free. Where as cloud66 costs $7 a month.

</comment></comment><comment><USER9> What would it take to make `git push badger master` automagically deploy the app as well?

<comment><USER8> Setting up post push in the git repo.

</comment></comment><comment><USER10> Any particular reason why you chose therubyracer instead of nodejs?

<comment><AUTHOR> No particular reason, just because it's rails default. You can easily switch up and use Node.js if you like

</comment></comment><comment><USER11> This is a lot of code for a tool that can only configure RHEL/CentOS/Ubuntu targets for a nginx/Rails/MySQL stack.

</comment><comment><USER12> Your logo looks like a woman's genitals. I'm sorry for being so blunt, but my jaw dropped when I opened the tab.

<comment><USER13> Your brain seems inclined to see women's genitals in unrelated graphical symbols. I'm sorry for being so blunt, but my jaw dropped when I read the comment.

<comment><USER12> Yes, my biological pattern matching engine has been evolutionarily tailored for this purpose. In this case I think I'm right.

<comment><USER13> ...technically (or better said evolutionary) speaking, our biological pattern recognition engines are optimized to identify women by things more obvious than the looks of genitalia, and then to identify patterns indicative of fertility, one of the few patterns of this set surviving in our modern ideal of "frail and skinny beauty" being the "big boobs pattern".

though I think you're right with something being wrong with their ...brand: "badger" is a brit slang alternative for "beaver", as I've just been told (#4 @ <http://www.urbandictionary.com/define.php?term=badger>), and combined with the superficial resemblance of the logo (which I'll admit it may exist), makes me think the whole thing is quite on purpose :)

</comment></comment></comment></comment><comment><USER14> this is fantastic, good job!

</comment><comment><USER15> YES! Finally someone did this!!! This is awesome!</comment>


UI: nice look vs distinctiveness and branding - <AUTHOR>

I've been designing web interfaces for the last ten years, and now that I'm working on my own startup, I face critical UI decisions. I spent the last hour bouncing here and there on dribbble, pointing the eyes on beautiful examples of UI design. What I see, anyway, is an incredible similarity of styles. There is a dominant, yet beautiful, way to design user interfaces and components, but it terribly lacks distinctiveness. What recently happened with Twitter for Mac and the mail client Sparrow is iconic of what I mean: user interfaces are becoming incredibly similar to each other. This is probably good for users, because similar UIs means a shorter learning curve. But is it good for branding?
When I surf websites like dribbble, I feel this terrible temptation of approving myself to the dominant mass, but than I think: what about branding? Branding is all about distinctiveness, and distinctiveness in UI has a key role in influencing brand awareness, particularly when talking about websites. When I look at web apps like mint.com, posterous or even Facebook, I see great examples of designs with a brand behind, with a great ability of being recognizable.
What I ask myself, then, is if a less nice-looking and more distinctive UI design is what I should focus on. I know, I know what's in your mind now: nice look and distinctiveness can simply live together, this is obviously true. But the real question is: what to sacrifice? What to focus on? <comment><USER2> I wish people would distinguish more between the "visual" side of UI and the "UX" side of UI. The question and discussion conflate them. And then they confuse the whole thing with branding.

Branding is NOT about distinctiveness in visual design. Branding is about owning a particular position in the users' mind. ie. "The cheapest" (Wallmart). Or "the original" (Coca Cola). Or "Search" (Google). Or "Classifieds" (Craigslist).

The purpose of visual design, particularly on the web, is to communicate well and make your site easy to use. I don't believe it is to "stand out", although that can be a nice-to-have.

If you want to study the relation between visual design and branding, study Craigslist, eBay, Google, Apple, Amazon etc. Dropbox too.

On the web, the reason why most sites look the same is that we've found again and again that usability trumps "looks", since the browser is so limited. So sites have converged on a whole bunch of conventions. (I'm talking about the ux side of design).

Having said all that, I think it's totally ok to not follow the pack in terms of gradients and dropshadows etc.

</comment><comment><USER3> Here is my take on your scenario:

Think about your potential user Joe, when he first hits your home page, with distinctive UI.

Will he think 'Oh... this looks cool! Let me mess with this, even though I'm not really sure how this is going to work' ?

Probably not, unless you have a _really_ compelling value proposition to offer that would be _instantly_ obvious to him. If your site _does_ have such characteristics, go ahead and 'roll your own', by all means.

Otherwise, I'd suggest you go with a commonly prevailing/understood/acceptable design/UI to begin with, as it should facilitate higher rates of user acquisition (i.e. conversion) in relatively shorter time-frames.

There's nothing to stop you from re-branding (gently, gradually?) once you have achieved critical mass or a sizeable user base.

HTH

[Not really a designer here, but someone (who likes to think of myself as) having a good eye for designs/branding and UI engineering, with a good bit of experience at _getting_ such things done.]

</comment><comment><USER4> Focus on solving the problem. Ignore distinctiveness. To quote Paul Rand:

"Don't try to be original. Just try to be good."

<http://www.logodesignlove.com/paul-rand-video>

Design (especially UI) is an exercise in solving problems and designers often arrive at similar solutions. That's OK. What matters is whether the user gets what s/he needs, not whether the UI is memorable. Indeed, the less computer administrative debris, the better. I design for a living and the best success I've had is when the UI gets out of the way of the content and task.

</comment><comment><USER5> Good observation. There is definitely a now-ish style in web design. Rich backgrounds, rounded corners, soft gradients, big fonts, and of course those text shadows.

There's even a style of writing on web sites now, especially startups. Very direct with short bold sentences. "BubbleDrubber connects YOU with Bubbles you Drub. None of the Flub!"

I think you should be more distinctive than that wherever you can. There are different kinds of nice that you just haven't thought of yet.

</comment><comment><USER6> Before that a developer, I am a song-writer. When you write a song, you start listening a lot of music. After, you put all that music in a side of your brain and forget it. After, you sing and sing untill you sing something totally different.

<comment><USER7> Yes. Yes. And I can say that this happens in every field. Check this small interview to Erik Spiekermann about typography: [http://intenseminimalism.com/2011/everybody-is-influenced- by...](http://intenseminimalism.com/2011/everybody-is-influenced-by-somebody- else-erik-spiekermann/)

</comment></comment><comment><USER8> My take on this, which generally isn't shared by most, is that the 'pre-fab' design techniques you see are absolutely gold when you're starting out.

Short sentences to communicate your mission/purpose. Spartan designs that focus on diving in and easing the call to action as much as possible. Big fonts, soft gradients. These are the tools of the 'pre-fab' layout.

When you're starting out, I firmly believe that you should ship first, and more importantly, that you only have, at best, a 'good idea' of how users are going to interact with your application.

As you get more users and get more feedback, then your UI/UX needs to evolve to meet with common use cases, or to cover use cases you hadn't thought of, or to keep up with demand. I strongly believe that you can't predict this going in, unless you have already built a very similar product for a very similar demographic, or unless you already have existing users.

You're 100% right in that the pre-fab design ideals don't leave much room for branding, but there definitely IS room for branding. Of the sites using these common design patterns, there are definitely ones that stick out moreso than others, due to superior branding. You can use the space that's left to reinforce brand without beating somebody over the head with it, and more importantly, without breaking ease of use.

In my humble opinion, THAT is the real challenge.

<comment><AUTHOR> When a web project is in the early days, a maintainable design is important, because it reduces the cost of change. Reading the comments to my post, I've seen a big mistake: good design is always good design, when you talk about putting the things where they should be. Effectiveness is always the first element to focus on, no doubts. What I was pointing your attention on, anyway, is how a certain kind of 'dominant design' is making many websites look 'flat'.

I also think that some of this design habits also point in the wrong direction. Just to explain better, I'd say that Drew Wilson is iconic of this. He's quite popular, and you can see some of his work here: <http://dribbble.com/drewwilson/> He uses a mac-like style for web applications, and I think this is a huge mistake. Try to visit <http://builditwith.me/>: it's surely beautiful, but do you think it's 'usable'? I think it's not. But the most, I think it has no distinctiveness. Here there's another mistake: distinctiveness does not mean originality. My examples where websites like mint.com or posterous, or even Dropbox. These website can't be called that original, but they surely have a distinctive design, made of key and recognizable colors, way to use (or not) gradients, etc.

In my humble opinion, any design must obviously respect some key principles, like effectiveness or usability. But I also think that any design should point on 'identity', especially when building a web app, something most designers don't seem to care about.

<comment><USER7> I think that Buildwithme is instead an excellent website, with a good usability and it's one of the few websites that tries to break the taboo of "making an app of a webapp". And I think it delivers pretty well. Of course, it's not possible with all the webapps (and not suggested).

On the other side, I think it's a very different problem, and I'd advise to not mix things up: there's style, there's identity, there are UI canons.

Bultwithme for example mixes web+mac UI canons, has a mac style and doesn't work a lot on identity.

Take Nike.com to have another example. It uses a web style, a bit toward the app format, with UI canons that are almost everywhere app-like... but it has a very strong identity.

On the other side, take Lightroom. It's obviously an app and uses desktop UI canon... but it has a definite identity that you can't mix up with anything else.

Also dropbox, as you cited, uses a quite standard web style and web UI canon, but it has a strong identity.

Don't reduce the identity to the UI canons or interaction styles: they are very different things. ;)</comment></comment></comment>


Problems, not solutions (2018) - <AUTHOR> https://ben.balter.com/2018/07/16/problems-not-solutions/ <comment><USER2> I don't know Ben's background, though I see his current role as a senior PM at GitHub. I also work with PMs in the heart of the bay - have done the PM role, have run operations across a few companies, and have presently returned to engineering.

I think this characterization of engineers is off, and in a way that appears to inflate the value of the PM role. It's taken from (a PM's) ideal perspective of himself, where he is the gatekeeper to the business knowledge of the organization. They know the "why" and the engineer knows the "how".

Now maybe at a huge organization, this ideology gets entrenched - but at companies smaller than (let's say from experience) 300 people, this is neither correct nor best.

What's best - I believe - is the increasingly popular concept of "product- minded engineer". And, while I've not seen it coined, I'll introduce "engineering-minded pm".

What's the difference? A lack of knowledge hoarding, healthier knowledge transfer and decision making, and reduced waste. I'm not even going to think or talk about increased velocity, just reducing the waste will naturally increase focus and take care of many other problems.

<comment><USER3> > A lack of knowledge hoarding, healthier knowledge transfer and decision > making, and reduced waste.

Author here, +100 to this. The role of the PM should be to drive consensus around the problem, not to decree the problem (or requirements) by fiat.

For me, that process is highly collaborative, and engineers (and design, support, etc.) should 100% be involved from the begining. The amount of definition will vary from team to team and even engineer to engineer, but if a PM is hoarding knowledge, their understanding of their own role is the opposite of what it should be.

To paraphrase a famous product manager at Initech, "I talk to the customers so the engineers don't have to". That's not to say the engineers shouldn't talk to customers, but generally speaking, PMs should be the ones conducting qualitative and quantitative research day-to-day so that everyone can focus on what they do best.

At least on my teams, for example, user interviews are recorded and shared with the entire team, along with their raw notes, as are the high-level takeaways, allowing everyone to opt-in to as much or as little context as they'd like. We treat quantitative research the same way, sharing the underlying query, raw data, etc.

While the PM may ultimately drive the discussion, problem definition should be collaborative so that the entire team is aligned around a shared product vision. The PM's role should be to gather, organize, and share knowledge to build consensus, not to hoard it.

<comment><USER4> Agreed. It's one of the biggest things that drew me to SAFe as well because it fosters more communication and collaboration, empowers more people to make decisions and specifically de-emphasizes the PM as a focal point of all things.

<comment><USER5> What's SAFe?

<comment><USER4> Scaled Agile Framework

</comment></comment></comment></comment></comment><comment><USER6> It seems like every PM has a slightly different job from every other PM, even at the same company. Across companies there's absolutely no comparison.

What I've noticed at Google is that through a combination of personality and bureaucratic convenience, the PMs have taken over completely. I like the PMs I work with so this is not necessarily a bad thing, but I don't think it was intentional. When we're trying to launch a feature or make a big product change everyone just accepts that the PMs word on if/when we will do it is law. If we disagree with the PM we simply escalate to a more senior PM. I don't think it was meant to be this way, but nobody else is empowered to make these kinds of decisions so it falls to the PMs by default. Plus they tend to be very well connected across the company because they work with everyone, so they can make things happen.

<comment><USER7> The fact that PMs are empowered to be "CEOs" of their product probably doesn't help. In my mind, transparency in the 2-way communication between PMs and engineers is key. Engineers need to be motivated by the "why", but PMs also need to understand why an engineer might want to, to quote from the article, "spend months refactoring an app to make it "right"".

</comment></comment><comment><USER8> _> > customer comes to you asking for a 1/4" drill (a solution). Their stated problem may be the need for a 1/4" hole, but what they're really after is the ability to hang a picture _

Yes, this. I began delivering much better solutions when I began incorporating, "okay, I can build that, but what do you want to _do_ with it?" at the very beginning of any requests I receive. I'd say it's about 50/50 on whether the initial request would would meet the desire completely, or fail in part or in whole.

<comment><USER9> This blog post (and your key question) is basically "how to avoid that what- the-customer-really-wants tree swing image".

[https://www.google.com/search?q=what+the+customer+wants+swin...](https://www.google.com/search?q=what+the+customer+wants+swing&tbm=isch)

It's about asking the kind of questions that get at the heart of what's valuable to your customer.

<comment><USER8> That's a great visual, I may actually use that in training both other developers and when begining large projects with constituents.

</comment></comment></comment><comment><USER10> "Customer Analyst" is a much better title for the role held by "Product Managers".

More than anything engineers need to understand the customer needs. The title "Product Manager" creates confusion that this person should own product features, which is a dysfunction because the skillset to collect data on customers is fairly disjoint from the ability to make design tradeoffs.

It would also emphasize how time should be spent - actually talking to customers - rather than mostly negotiating detailed waterfall specifications that usually trail (not guide) actual product development

<comment><USER11> Exactly, my current exposure with PMs is that they are feature driven, not focused on problems specifically. And as someone who works with customers in pains me deeply when they just don't get it. The customers, the ones who will use the product are right there and they have no relationship with them.

</comment></comment><comment><USER12> Building a solution in search of a problem might be the classic engineering pitfall, but reading the title made me think about the flip side of that.

Is finding problems in search of a solution the classic PM pitfall? I've seen more than a few products suffer from feature bloat and inevitably collapse under a lack of design and UX cohesiveness.

I can't say I've reached product sense zen, but I imagine it lies somewhere in between these 2 extremes. Meaning, being okay with 'finishing' products, but having the intuition to find and work on the next high-impact product.

</comment><comment><USER13> I'm a few years into this Product Manager journey, and I think this is the level 1 of Product. The basics are to focus on the pain and customer need instead of just grooming features that come in and delivering those features. If you have trouble with this, I like to use a focus / flare / focus model. First think through your solution (privately) and list out the benefits and drawbacks in terms of your user experience / needs. Then double down on imagining your user interactions and actually go talk to them about the idea. Pay a lot of attention to where their reality and your assumptions don't align. Be very curious. Then with that new grooming of the customer experience, focus on how to communicate the meaningful pain points to your engineering team. If needed, you can even walk them through the journey you took. At the end of the day, the more you can get them to empathize with your chosen customer, the fewer blindspots they will have and the better their intuitive solves will be.

</comment><comment><USER14> I've definitely seen some examples of over-technically focused engineers, but this piece goes too far to portray engineers as hapless sheep that need to be herded into a useful business purpose, lest they wander too far into an interesting technical problem and never return. Establishing problem requirements and definitions is something every engineer is trained to do and is really not such a difficult thing to do, but once that's done it's no longer the primary job focus.

<comment><USER15> As a software engineer and manager of software development teams, I disagree; very few software engineers in my experience are able to approach problems without injecting their desire to use shiny new toys, rewrite entire systems (simply because the existing code is unfamiliar to them), shoehorn patterns that are a poor fit, etc. it's honestly a major problem in this young field in my opinion. I think the article outlines some good pointers to avoid these things and instead focus on building software products more purposefully.

</comment></comment><comment><USER16> By understanding the problem, you can bring multiple people together to figure out how to solve it. We all have different skillsets and sometimes the best solution isn't in our skill set or is a combination of skill sets.

I see this with my boss. He always brings feature request to me and we have to work backward to get to the problem. Then we usually come up with a simpler solution once we understand the problem.

</comment><comment><USER17> "...given a sufficiently defined problem, the solution is often the easy part...The real challenge lies in understanding customers' true needs"

When is the problem every sufficiently defined?

I disagree that the "real challenge" lies in understanding customers' "true needs". In my experience the customer and their needs are exceptionally easy to define, and the product managers (often times) over analyze the situation causing more difficulty which inevitably delays solutions.

I agree that customers rarely know what they want or need, in detail. However, imho the development team is perfectly capable of understanding what they actually want/need inherently or with minimal training. That's not to say that product management isn't necessary because it is, but is it more important to be able to suss out the minutia pertaining to the differences between two relatively equal and acceptable solutions than it is to provide a service? I think not.

</comment><comment><USER18> The next iteration from "fake it until you make it": "fake that you are making it"

</comment><comment><USER19> Halfway there – needs & outcomes are where it's at. If it's not meeting needs, what's the point?

</comment><comment><USER20> Product managers are just working for business. They do not think, they just obey.</comment>


Reading list of Christof Koch with brief reviews - <AUTHOR> https://www.alleninstitute.org/what-we-do/brain-science/about/team/staff-profiles/christof-koch/book-list/ <comment><AUTHOR> His list on the Caltech servers, before 2013: [http://www.klab.caltech.edu/koch/books-i- read.html](http://www.klab.caltech.edu/koch/books-i-read.html)</comment>


Hedgehogs, the Keepers of Order and Knowledge in Slavic Fairy Tales - <AUTHOR> http://tinydonkey.fairytalereview.com/2016/04/hedgehogs-the-keepers-of-order-and-knowledge-in-slavic-fairy-tales/ <comment><USER2> The still as noted is from _Hedgehog in the Fog_ which is an amazing animated short and well worth your 10 minutes:

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

<comment><USER3> Another one I really like is "There once was a dog":

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

And of course Gena and Cheburashka:

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

Not from my childhood, but rather my wife's and now our son's.

<comment><USER4> Or the 420 edition of Gena and Cheburashka: [https://www.youtube.com/watch?v=6GpHp9jzUDM](https://www.youtube.com/watch?v=6GpHp9jzUDM)

</comment></comment></comment><comment><USER5> If there is one interesting thing about Slavic Fairy Tales is that no embodiment is considered truly, irredeemably evil. Everything is sort of gray.

Even Death can be called to be Godmother, embodiment of diseases can return a favor, etc.

<comment><USER6> Not to offend anyone, but considering something/someone "truly, irredeemably evil" is very American attitude. For example, compare contemporary movies from Hollywood vs European.

<comment><USER7> I always hated fairy tales, even as a child, probably for this very reason. Perhaps I should subscribe to the Slavonic storytelling. Is there a good story-bundle that can be recommended both for adults and children?

<comment><USER8> I grew up in Ukraine and some of the best books you could get with Slavic stories is this publisher (ababahalamaha in Ukrainian its "А-БА-БА-ГА-ЛА-МА- ГА") - [http://ababahalamaha.com.ua/en/Main_Page](http://ababahalamaha.com.ua/en/Main_Page) . Apart from amazing stories, each book is a piece of great artwork.

<comment><USER3> My boy has a few of these and the artwork really is amazing.

</comment></comment></comment></comment></comment><comment><USER9> Ah, that explains why the Russian ports of Sonic the Hedgehog are all puzzle games.

</comment><comment><USER10> After the sky was finally installed: [https://gfycat.com/KlutzyPointedAmericancrocodile](https://gfycat.com/KlutzyPointedAmericancrocodile)</comment>


Ask HN: Outsourcing sales to virtual freelancers? - <AUTHOR>

Hey HN, We're a bunch of geeks building a new platform for learning anatomy[0].
We know that we're supposed to be doing sales ourselves. Get away from the keyboard and hit the phones, blogs and emails. We tried it. It just doesn't work for us. It really (really!) doesn't.
Recruiting or finding another more sales-savvy co-founder would be great. But we haven't met anyone (yet). We're bootstrapped, so can't pay a real salary either at this stage. But we do have some budget. And we do realize that sales are super-important for a startup.
Now to the question: Is there a good (or at least not a total disaster) strategy to using freelancers or virtual sales staff on odesk / elance or similar?
If we can't do sales ourselves, does it necessarily mean we will also fail finding the right people to help do some cold calls / help promoting us??
Any other tips??
[0] https://www.kenhub.com <comment><USER2> The Sales, Lead Generation, & Appointment Setters you'll find on Elance vary greatly in terms of expertise and abilities. Generally speaking, the good ones will command higher fees. Difficult to prove strong ROI on a bootstrappers budget.

Recruiting a sales-savvy co-founder is a smart play, and well worth the extra time and effort required. Build this vital project into your calender. Think when the Beatles went looking a for Ringo.

One last tip-- Dropbox enjoyed success scaling up with their referral program> [https://www.dropbox.com/help/200/en](https://www.dropbox.com/help/200/en) It's an easy model to replicate.

<comment><AUTHOR> We do have a referral program that actually pays money back (sadly, we can't add Gbs to the quota like dropbox). It's doing ok, but far from a viral storm.

We do recognize that reaching out to students / student associations is probably the best route, but for that we need some kind of sales abilities, which we lack. Hence the "Ask HN" post.

</comment></comment><comment><USER3> Sales-savvy-co-founder of a bootstrapped company here. Stop. You don't need a sales person, you shouldn't be cold calling, or even selling over the phone.

Why?

It won't be profitable at your current pricing model ($132/year) unless you are pursuing large universities or university buying groups that can purchase 75+ licenses per year (~$10k ACV).

If your ACV for each sale is over $10k (even $5k but that's getting down there) then it makes sense to have a direct sales team.

If your ACV is under $10k, then you'll need to find more capital efficient ways of reaching customers. Not my area of expertise, David Skok has a great post about sales complexity that'll do a much better job than I can [0].

If you're ACV is above $10k I'd be happy to offer some tips on building a sales team behind that (I don't charge for consulting). We have a product that you're a little too early for but may be able to help when you're further down the road.

My details are in my profile, feel free to reach out if you'd like some advice.

[0] [http://www.forentrepreneurs.com/sales- complexity/](http://www.forentrepreneurs.com/sales-complexity/)

Edit: Moving link to bottom.

<comment><AUTHOR> Thanks for the info. We're not thinking about direct sales to end-users, but also not to universities (who typically don't really care how easy or hard it is for their students to pass the exam, even though there are some image- licensing opportunities with universities... but that's not the main focus).

We are hoping to reach medical student associations and offer some opportunity for affiliate programs. We've had some success with those, even though in all cases so far we were the ones contacted by those associations. We think those have the best reach to students in our niche market. A good sales person could find their way to reach those targets. Or that's the hope anyway.

In any case, thanks again for the advice, and we'll look up the info and might take you on your offer.

</comment></comment><comment><USER4> you should try affiliate marketing ... offer generous commission as you dont have to pay basic salary.

<comment><AUTHOR> Thanks, we tried a bit of that, but not entirely sure how to scale this and heared some horror stories about fraud, spam and some ugly practices... Happy to pay a nice commission for real genuine sales, but not sure where to start and how to structure it...

EDIT: I should mention that we're a very niche product with rather specific target audience. So general affiliate networks might not be ideal. Or maybe I'm wrong, but don't know where to look.</comment></comment>


Best New smartphone of 2019 so far, and it only costs $500 - <AUTHOR> https://www.businessinsider.com/asus-zenfone-6-best-new-android-smartphone-2019-5 <comment><USER2> This is probably the scammiest submission title I've ever seen on Hacker News.

I love it.

<comment><AUTHOR> I'm all for removing hyperbolic epithets automatically, but without "best" the title did not make any sense.

Edit : Also because the title is exactly conveying what the article is about; no need to spend a ridiculous amount of money for a truly great smartphone.

<comment><USER2> In the future, I recommend reading the HN rules more carefully. I would be surprised if your post doesn't eventually get flagged and deleted at some point because of how you worded the title.</comment></comment></comment>


Code Less, Engineer More - <AUTHOR> https://increment.com/teams/code-less-engineer-more/ <comment><USER2> I thought this was going to be "Don't write 50KLOC if 2KLOC will do", but it's actually "Buy, don't build".

IMHE, the latter is often ambiguous and hard to evaluate, even after the fact. The former is virtually always a good idea.</comment>


Diggnation to End in December - <AUTHOR> http://www.nytimes.com/2011/10/04/business/media/diggnation-popular-web-talk-show-to-end-in-december.html

<comment><USER2> The view count shocks me, as does the comparison to Oprah - I've personally never found Kevin Rose to have said anything substantial, and watching two middle-aged guys drink beer and talk about nothing holds absolutely no interest for me. But I guess there is, or was, a market for that.

<comment><USER3> I got hooked early on in the excitement of IPTV taking off. I've watched every episode (I think) and I find it consistently entertaining. The hosts have good chemistry, are very "comfortable in their own skin," and are consistently funny.

The show is far from informative or even insightful, but that was never really the point. It didn't take long for the show to diverge from its premise (top stories from the social news website digg.com). It's really just about the chemistry and personalities of the hosts, which I find very enjoyable. And still, there have always been the occasional insights (albeit perhaps biased and not "fair") on the start-up world, gadgets, internet media, etc.

Oh, and there are some completely ridiculous "best of" moments that are likely to induce intense laughter. Like this: [http://www.youtube.com/watch?v=71Zpl6tmUxs&feature=playe...](http://www.youtube.com/watch?v=71Zpl6tmUxs&feature=player_detailpage#t=86s)

<comment><USER4> That is the least funny thing I've experienced all day. No smile, not even a cringe.

</comment></comment></comment><comment><USER5> Was _not_ expecting a NYTimes article on this.

<comment><USER6> Digg was always good at getting press.

</comment></comment><comment><USER7> I'm counting Revision3 is @ 27 shows right now.

If Diggnation gets 10% of the views and 10% of the revenue on the network, they are one of the top shows on that network.

Sad to see it go. It was sometimes a good time killer.

I wonder if Kevin and Alex broke up, or one of them has unresonable expectations.

250k viewers each week and 10% of network revenues is not reason of cancel a show.

<comment><USER8> Kevin had tried to quit a few months ago, apparently without Alex's knowledge. Not sure why he wants out so bad, I think he just wants to rebrand his identity as more "serious" e.g. with Foundation, which is not nearly as entertaining as Diggnation.

Personally I think if the show had introduced a guest-interview element it could have gone big places.

<comment><USER9> Agree, but Foundation is still a cool production, great video quality and great guests. The only thing missing maybe better questions to the guests.

</comment></comment></comment><comment><USER10> Sad to hear this. Would have liked to see them continue the show without the Digg moniker and maybe change the format a bit. Diggnation was basically Wayne's World for the tech set and I will definitely miss it. Any suggestions on similar shows that are as good or better that I should watch instead?

</comment><comment><USER11> _The weekly beta-testing and beer-guzzling show they have hosted for six years, "Diggnation,"_

And

 _Their explanation for ending it: They've grown up, just like the Web has. "We started this show as kids," said Mr. Albrecht, now 35_

So at 29 he was still a kid...

<comment><USER12> Well, they acted like kids on the show, yes, but also note that Alex and Kevin worked together for years before that on The Screensavers. These guys were definitely kids together doing this stuff, and I can understand how they must feel like they've outgrown it.

I'm about the same age as these guys too, and I stopped watching about 2 years ago. I felt bad for them that they had to continue doing what they were doing even though they must have felt their age catching up with their antics.

<comment><USER13> Alex was on The Screensavers for like 3 months, after Tech TV was bought by Comcast and merged with G4. He was the replacement for Leo and Patrick, who were far more knowledgeable and competent.

</comment></comment></comment><comment><USER14> Diggnation is completely awesome and Im extremely sad to see it go. Say it ain't so! Alex & Kevin have produced an extremely entertaining and enlightening show. I completely disagree that Kevin Rose has "never... said anything substantial", quite the contrary. Each show is not only a friendly conversation that is easy to pay attention whether you're a tech professional or a complete layman, but the insights into Digg and it's struggles over time as well as other interesting anecdotes about technology and its evolution have taught me a lot.

Hope they change their minds on this.

They've got to be killing it on advertising but I would happily pay to watch Diggnation instead of Foundation, although There's definitely value in the later as well.

<comment><USER15> "Hope they change their minds on this."

They won't.

Remember, this isn't the case of some suit or network executive not renewing the show. This is the creative force of the show saying that they've made a good run and that they are ready for other challenges.

Diggnation had a great run, I was an avid watcher for the first few years. If Alex and Kevin think they can better apply the energy they're spending on Diggnation, then more power to them.

<comment><USER14> Yea, I know they wont :(

I hope they change their minds on this :)

</comment></comment></comment><comment><USER16> The obvious lameness of the one episode of this that I did see was enough to make me stop frequenting Digg. Won't miss it.

</comment><comment><USER17> That's too bad. Diggnation should've adopted or slowly added two other hosts. With over 34 million total views on YouTube, they've achieved a healthy growth of views with no signs of slowing down: <http://bit.ly/rmKFdH> Furthemore, their brand online was huge!

</comment><comment><USER18> Opens up for others to fill this possible void or niche in the industry. I think a tech forward progressive weekly video would be great.

</comment><comment><USER19> I shed a tear today.

<comment><USER20> This show has enabled me to pretend that I'm shooting the shit and drinking beer with like minded individuals and not actually at work or at the gym for years. This was the point of the show. At least for me.</comment></comment>


Ask HN: Rate my startup - www.plupper.com - <AUTHOR> http://www.plupper.com

<comment><USER2> Kind of neat, but I could create my own version quickly with open source (<http://code.stanziq.com/speeqe/>).

</comment><comment><USER3> I love Jabber.</comment>


How Does the Event Horizon Telescope Act Like One Giant Mirror? - <AUTHOR> https://medium.com/starts-with-a-bang/ask-ethan-how-does-the-event-horizon-telescope-act-like-one-giant-mirror-40219f7fd243 <comment><USER2> The wiki article on [https://en.wikipedia.org/wiki/Astronomical_interferometer](https://en.wikipedia.org/wiki/Astronomical_interferometer) is pretty decent actually.</comment>


Author of Controversial Piracy Bill Now Says 'More Study' Needed - <AUTHOR> http://blogs.wsj.com/digits/2012/01/12/author-of-controversial-piracy-bill-now-says-more-study-needed/

<comment><USER2> This is encouraging news and a sign that the pressure from all camps opposed to PIPA and SOPA is having the desired effect. Keep up the fight!</comment>


These 60 dumb passwords can hijack over 500000 IoT devices into the Mirai botnet - <AUTHOR> https://www.grahamcluley.com/mirai-botnet-password/ <comment><USER2> Don't forget admin:ztonpk and admin:tzlkisonpk for Telekom Serbia's ADSL, VDSL modems and IPTV/OTT STBs. 7.9 million of these devices are unsecured, it takes just one wrong step to misconfigure it to allow access to itself and you're gone. I used to port scan the Telekom network looking for modems with Port 80 open, login and reset to factory defaults, which would require a technician to come to the premises and manually re-enter the authentication settings for xDSL.

</comment><comment><USER3> mother:fucker in the source code, really?</comment>