Ask HN: Why can't we solve the app store monopoly problem? - jonas_kgomo
For the longest time, application distribution has been generally a sport for big companies like Apple and Google. Why hasn't there been enough innovation in terms of creating alternatives despite a healthy improvement of web application distribution like PWAs(Progressive Web Apps). WeChat uses microapps that help users access a lot of other mobile applications. Some interesting innovation might be Dapps inside the Coinbase Wallet or Status IM.   What are some reasons it is futile to take on this marketplace.<p>Most of us here do not want to promote the rhetoric/marketing of DHH but just want to bring attention to important problems that need to be solved.
======
cocktailpeanuts
> Why hasn't there been enough innovation in terms of creating alternatives
> despite a healthy improvement of web application distribution like
> PWAs(Progressive Web Apps)

This is because those who think these solutions will change things have no
idea where the problem is coming from. Basically they are solving the wrong
problem. They must first sit down and think hard about why it is that Apple
and Google have so much power. It's because they have built products people
can't live without on a daily basis (Android and iPhone)

PWA won't get you anywhere because at the end of the day your success is still
at the mercy of those platform providers. Currently Google and Apple just let
them be because they're just cute experiments that don't threaten their
business model. But when it does become threatening, they may easily shut down
access to PWAs overnight and there's nothing we can do about it other than
bitching on public forums like HN.

The point is, if you want to beat Google or Apple you need to start from a
platform that doesn't rely on them at all. PWA completely fails there.

> Some interesting innovation might be Dapps inside the Coinbase Wallet or
> Status IM. What are some reasons it is futile to take on this marketplace.

For the same reason, this "DAPP" is even sillier. Unless these "DAPP" guys are
going to build their own device, at the end of the day they still rely on iOS
and Android for their users to interact with their "Decentralized" app. What a
joke.

The solution is not about building a "decentralized app store" or "fight
against Apple and Google". It's about building something that comes out of
nowhere and disrupts the current status quo in ways never expected. No other
way around it.

~~~
mbrevda1
How do you "shut down" a PWA? At the end of the day, it's just a website?!

~~~
irrational
Many of the functionalities of a true PWA simply aren’t available in Safari on
iOS. And since all browsers on iOS must use the Safari engine, there is no way
to get around this limitation.

------
Crazyontap
Google services are a huge drain on the battery. Have ou ever tried to
degoogle your phone? Such an amazing increase in battery life [1].

My stock android (samsung) was like having a parasite running on your hardware
that eats your battery and maybe also tracks what you're doing all the time.

I wish there was another OS like what Linux is to Windows and Apple that had
atleast the few basic apps like Uber, Youtube, etc. It is really the need of
the hour

[1] [https://forum.xda-developers.com/galaxy-m30s/how-to/guide-
de...](https://forum.xda-developers.com/galaxy-m30s/how-to/guide-degoogle-
debloat-m30s-install-t4042883/amp/)

~~~
lifty
Check out /e/ ([https://e.foundation/](https://e.foundation/)). It’s an
Android rom that is privacy oriented and that removed google services. They
also sell devices that have /e/ preinstalled.

~~~
leefalk
I use /e/ it and it works great. It is great for privacy.

------
H8crilA
Lack of support for antitrust. People are still enjoying massive corporate
profit margins and S&P500 gains. Literally the entire pensions system depends
on super high profit margins.

This is by no means unique to our times and tech. Happened many times in the
past.

PS. When was the last time that Wilshire 5000 actually had 5000 companies in
it? Google tells me it was in Dec 2005.

------
mritun
If you’re saying why we don’t have multiple app stores run by multiple people
and even self hosted apps then I can help add an answer.

It was exactly like this before Android and iPhone. I had a Nokia E71 and
before that a Sony Walkman phone. They could run J2ME apps and games and you
could download from a site called getjar.com and others. Nokia Symbian could
run more powerful native apps - I wrote one myself.

They all sucked. Most of the apps were full of malware and you never knew
which one would lock up your phone, infect your phone, or upload all your data
to somewhere.

AppStore and Playstore exist for the same reason that CA certificates exist -
most people are good but some are terrible and they damage the ecosystem. For
CA we have LetsEncrypt now. But phones are way more complex than that. Most of
the phone stack is thankless but highly specialized work - you won’t get that
for free in volume anytime soon.

It’s more complicated because people expect the latest phones. Older
generation mobile technology is worthless right now. Cutting edge technology
needs investment and has substantial market. This market is also winner takes
all. There is maybe place for 3 players but not anymore in an efficient,
commodity market that’s also capex heavy.

~~~
Brian_K_White
What I remember was enjoying a totally full ecosystem of PalmOS apps that I
could install from anywhere on my Samsung sph-i300 6 or 7 years before the
first iphone even came out, and they were mostly all great.

As great as the hardware and cell network of 2001 allowed anyway. The worst
thing an apl ever was was sucky or stupid, never harmful.

I had apps to do every random thing you could think of from trivial little
things like calculating a netmask or decoding resistor color codes, to fully
functional clients for ssh, irc, email, web, even vnc, audible.com, several
db-app-dev type apps like handbase (like access right on the phone), a phone
dialer app that integrated with the contacts db because the built-in dialer
didn't even do that yet...

It was like all the good parts about dos & windows where anyone could write an
app and anyone could install anyone's app.

It was 100% great with no downside or horror story at all. Certainly dos/win
gained malware, and surely some harmful palmos apps must have existed, but
somehow from the first Kyocera palmos phone, through the SPH-i300 & 310 or 330
whatever the updated model# after i300, through a few Treos, and finally the
Palm Pre, I never once ran into one.

In 2001.

Iphone came out in 2007, with no 3rd party apps at all.

I say this argument is at least questionable.

------
ericflo
Either government has to intervene and make the marketplace competitive, or
we'll have to spend a decade or more routing around the app duopoly.

I used to think we could build a new platform in a sandbox on top of the old
platforms (like a browser), but the duopoly has gotten so confidently
aggressive that they'll squash out of existence any new platform before it has
a chance to grow.

I actually thought Expo (the React Native runtime) had a chance to do this
"platform on a platform" thing, but Apple wouldn't even allow their debug tool
to exist once they realized you could preview apps by plugging a URL into
their runtime client, and that those apps were actually good.

So yeah: government intervention, or a few decades of lost progress and value
creation. Thankfully for those of us still living in a democracy, we get some
choice in the matter.

------
kingkongjaffa
Because the same people who make the devices also run the app store. Therefore
they get to stay 'No other app stores allowed' on our devices and OS.

Isn't this extremely obvious?

~~~
ekr
They don't get to say that due to antitrust laws. Hence why you can use
Amazon's appstore on Android, or FDroid etc. I'm not really familiar with the
Apple ecosystem.

~~~
kick
They do get to say that. Apple has a minority of the market and wouldn't run
into legally-justifiable antitrust problems.

~~~
bouk
Apple certainly has a monopoly in the iPhone app market.

~~~
kick
Sure, and Frigidaire has a monopoly on Frigidaire refrigerators.

I said legally-justifiable antitrust claims. Apple has a minority of the
smartphone market. You can make anything into a "monopoly" if you define it
narrowly enough but that's not legally justifiable in any way.

~~~
Nullabillity
But that's not what the discussion is about. Frigidaire doesn't try to limit
you to only putting stuff you bought at Walmart into their fridges.

~~~
kick
Nor does Apple: you can have as many PWAs as you want. As JS is Turing
complete, you can then have every sort of app. They've always encouraged PWAs.

Unless you want to legally force every company to surrender their source code
(which I enthusiastically would support), there's no legal basis for Apple not
being able to have their proprietary feature phone locked down.

Though if you'd like, you can look at Keurig, which does limit what you can
put into it to "only Keurig products" or one of the _millions_ of other things
that limit what you can put into it.

~~~
anoncake
> Though if you'd like, you can look at Keurig, which does limit what you can
> put into it to "only Keurig products" or one of the millions of other things
> that limit what you can put into it.

Whatabout...

------
Abishek_Muthian
Ironically it was Steve Jobs who announced No SDK web apps as primary model
for app delivery in iPhone and later when he realised it could mint money;
native apps via App store became de facto.

Initial set of iPhone app developers made a whole lot of money from App store,
if not money they scaled their business to new heights - Whatsapp, Instagram,
Snapchat etc. Since android was late to catch up in the developed economy,
Apple got away with its ridiculous monopolistic practices with Appstore.

But now times have changed, people care more about apps than the platform they
run on e.g. Spotify. WhatsApp on KaiOS on a single device in a single
country(albeit large population) made that OS a significant player in the
smartphone ecosystem - a feat which even Microsoft failed to achieve; that
explains the importance of apps over the platform currently.

I think Apple might showcase the support for PWA in Safari as a way to defend
its anti-trust litigations in the future. Although I personally want the PWA
to succeed as it's the only way pure Linux smartphone ecosystem could capture
market i.e. it's more important to break the smartphone duopoly than to break
the app store monopoly (IMO), for security and sanity of mobile computing.

[1][https://en.wikipedia.org/wiki/Progressive_web_application#Ba...](https://en.wikipedia.org/wiki/Progressive_web_application#Background)

~~~
wayneftw
I would bet money that Steve Jobs never intended to actually have web apps as
the only type of apps on the iPhone.

Their native SDK was probably just not ready yet for the release and they knew
about Android which they wanted to beat to market.

------
stephc_int13
The App-Store was a huge improvement over existing distribution at the time.

30% wasn't super generous but it was much better than anything else, and Apple
was a kind of underdog in the mobile market, at first.

Today, things are different, we have a duopoly, in practice that's the same as
a litteral monopoly.

Antitrust laws should apply, but it will take time, a lot of time, big
corporations have huge lobbying power.

------
alexashka
Because it's expensive and difficult to directly compete with trillion dollar
companies?

That's why we have a government, because when companies get big enough, that's
the only entity left that can restore the balance of power.

Since we're living in a corporatocracy, it has become unclear which corporate
abuse gets a slap on the wrist and when, because there are so many. It's
become profitable to do what you want now, ask for forgiveness later. It turns
out you can even ruin the world's economy and instead of getting punished,
receive a bail-out and your usual hefty bonuses!

I can only assume these decisions get made behind closed doors by groups of
politicians and multi-national corporations. When a consensus gets reached,
they announce it to the public, not unlike when crime syndicates get together
with the police and give them a few sacrificial lambs, to continue business as
usual.

------
dreamcompiler
The only real solution to this problem is to completely reverse-engineer the
iPhone and iPad down to the level of the ISA and device drivers and load a
free operating system.

And no the ISA is not ARM. It resembles ARM but it contains secret Apple
sauce. And there's lots of crypto chip voodoo going on; we'd also have to
figure out how to disable all that.

In any case the requisite reverse engineering could be done with enough money.
It's not a technical problem. But it definitely is a money problem: I don't
know how to make a good enough business case for offering IOS device owners a
completely alternative OS because most of the muggles just don't care.

------
zdragnar
Because we keep buying devices locked into app stores, and we tell ourselves
that is A Good Thing for security.

I have an android device and never considered a third party app store. It is
hard enough to trust most apps in the approved store, let alone a stranger's.
At best, I go straight to the content owner and use their website.

Sandstorm tried something like this, but never took off because most people-
producers and consumers alike- don't find them more helpful than what already
exists.

------
kccqzy
It would help to look at the situation of the Android marketplace in China. As
we all know Google Play Store isn't available in China, so has app
distribution been decentralized and innovative in China? Is there a benefit?

The answer is of course no. You have the same Chinese Big Tech dominating,
like Tencent or Qihoo. You have tech companies that have nothing to do with
apps, but make app stores nonetheless just because they can. You _still_ have
app stores operated by carriers (China Mobile, China Telecom, China Unicom).
And then you have small app stores that struggle to survive, and even then
usually resorting to unscrupulous measures that would be utterly unacceptable
elsewhere.

Does this approach of multiple app stores benefit app developers? I don't
think so. Developers would rather have one single store and their rules and
requirements to deal with. So much so that there are now intermediaries in
China whose job is to get apps distributed on multiple stores so that
developers don't have to worry about it. It's just become another middleman
that eats into the profits. Or they decide app distribution is so difficult
that they make their app a simple web view wrapper, and lose many benefits of
a native app like tighter integration with the rest of the system.

Does this help consumers? I'm afraid not either. Do you really want consumers
to remember which store they downloaded an app from? Not to mention app stores
overwriting apps downloaded by other app stores, a dark pattern to boost their
own numbers, or an app store forcibly silencing the update notification from a
competing app store, etc.

So what are the innovations you are expecting?

------
libertine
This is the point of view of a marketer that thinks that the solution should
be to regulate ALL MARKETPLACES, or to require an independent entity to be the
referee/regulator.

I think most people disregard what conditioning does to human behavior.

Conditioning takes a long time and consistency, and you have OS's that
funneled users during YEARS of usage to use what they provided as a way to
find and install applications.

Apple is an extreme of enforcing the App store, but for Android you could
install other appstores/distributors, hell manufacturers tried this (Samsung,
Huawei, and many others) to bring their proprietary solutions. Yet it didn't
scratch the Playstore marketshare. Why is that? I think it's because for a
long time, the Playstore was the only solution and that was just enough time
to be established for users as well as developers.

Why, on the other hand, for Windows people don't gravitate towards windows
store?

Here I think it's because windows had apps for their OS being sold from
shelves on shops, given away as demos on magazines, to .exe files you could
download from the web, or that could be transfered by your neighbor via
Floppy/CD/USB Stick. People are used to look for Windows Apps in a plethora of
distribution channels. Hell people still factored the possibility of having
virus on the apps according to the distribution channel.

If you look at MacOS, people are conditioned to look at one place - and it
doesn't take too long of usage to achieve this.

People are lazy, in a good way. We want the most effective way to achieve our
goals, with the right conditioning it becomes extremely hard to shift.

------
tuckerconnelly
We need to build our own phones, and run whatever OS we want on them. Why
isn't it easier to build your own smartphone?

~~~
unix_fan
no common drivers, hardware, or software.

------
Razengan
I do NOT want to go back to the chaos of pre-App Store world where you had to
visit NN different websites to get your software, multiplied for every
machine, then revisiting them regularly for updates or putting up with noise
from N different update mechanisms.

~~~
anoncake
Okay. Let's only ban making app stores mandatory then, not app stores
themselves.

------
kitsunesoba
PWAs still have a long way to go before they're fully viable replacements for
apps. Even on Android, which supports them vastly better than iOS, they're
still lackluster. This is partially on the shoulders of mobile OS/browser
vendors, but I think there's also an unavoidable ceiling to what current web
architecture can do in terms of UX.

Front end web architecture is going to have to undergo a more radical
evolution before native apps can reasonably be displaced. React and family
were the first step of that, and I would guess the next step is building
something like it into browsers themselves.

------
Waterluvian
The app stores work incredibly well for the overwhelming majority of users.

------
PaulHoule
A political answer would be for governments to take action.

Since the Euro zone is lucky enough not to have an app store in it, they might
be able to force Apple to open up the app store, maybe even publish the
information and tools to develop iOS software without a Mac.

Another answer is to develop web applications instead of apps. Almost always
we get pestered to first use the app, second use the mobile web site, third
use the desktop web site, but usually the quality of the user experience is
the other way around.

------
supernova87a
Everyone is free to innovate and create alternatives. Go ahead -- go out and
build something that people want and is a platform that people are willing to
/ want to develop on, and can be charged fewer fees (or no fees at all).

An app store is not a public utility or place of public accommodation that
entitles people to a certain kind or level of access. Or a right to sue,
claiming that a certain price is fair.

Feel free to make something newer and better.

------
lookupthere
It's the fundamental economics of platforms. At the same time that they are
very democratic, they are also very monopolistic. It's weird and not something
you should analyse without undoing your intuition about companies. The
economics is very different.

Book recommendation: Modern Monopolies by Alex Moazed

------
voisin
Everyone seems upset (publicly, though I suspect it has been kept private for
a long time) right now about the App Store’s commissions on sales. How does
this differ From, and why isn’t there an equal level of outrage over, the
“service fees” that AirBNB or Uber charge?

------
phreack
You literally can't sideload any app on an iPhone and Apple will never relent
on that unless they're compelled by law. So either you get people to stop
buying iPhones or lawmakers to admit that's a problem, and neither is likely
to happen nowadays.

------
xwdv
There's an easy way to solve the monopoly problem. Redefine app stores as
utilities.

------
ysavir
The problem is cost of entry into the market with diminishing returns.

What we have is not a technology problem. The problem is that what you build
is worthless unless you get people to adopt it. And right now, that requires:

* Building a phone/piece of hardware that can run apps and replace the iPhone/android phones * Investing in a marketing campaign to get your hardware into the mainstream, so people will buy your phone instead of an android or iphone. * Convincing companies and app makes to build for your new hardware.

That breaks down to a tremendous amount of R&D, building a cloud network that
can rival Google's and Apple's cloud systems, convincing app makers to build
for a platform despite it not having any users, and convincing users to buy
into your platform despite not having any apps.

It's tremendously expensive.

It was a worthwhile expense for Apple: they literally invented the new
ecosystem and were the only option at the start. Their return was guaranteed.

It was a worthwhile expense for Google: they already had the cloud services,
were a household name, operated arguably the largest ad network to market
their new platform, and had plenty of cash on hand to get things moving fast.
They may not have been able to match Apple's competition-less returns, but had
a low cost to entry and even half of the pie is great value.

For any new competitor, having to share the pie with Apple and Google limits
the potential return. Couple that limit with having huge expenses to build out
a competing product and getting people to use it, and it's not a very
appealing investment. At best, you get what's left after Google's and Apple's
shares. At worst, you spend millions (billions?) for nothing. We've already
seen the Windows Phone and the Fire Phone fail to enter, and if giants like
Microsoft and Amazon deemed it not worth their while, who will?

So that's where we are now. So long as the masses use Apple and Google
products, they will continue to default to those app stores. And it doesn't
make financial sense for anyone to enter the market and compete with them
(with any significance, at least _).

_ I could see some very niche phones/tools coming into play, but with very
limited functionality and only a narrow user base that actively seeks that
niche. Eg. security-seeking engineers. Someone could make a phone with very
limited features (at least, "native" functionality ala gmail) and see success
with an audience seeking that subset, but it wouldn't be a mainstream option.

------
ykevinator
Why did Ubuntu for mobile fail? Feels like that's the kind of thing we need

------
GrumpyNl
Noticed toady, you cant even download firefox on android without a app store.

~~~
derision
I was able to find an apk in 5 minutes by googling "Firefox apk download" and
it installed just fine

~~~
GrumpyNl
Its an older device, all those links give https certificate errors


Ask HN: Data on job market for entry-level Rails devs? - BrainScraps
Hi HN,
I'm about to pivot my life from using my marketing degree to devoting myself to becoming a Rails developer. My wonderful and analytical wife wants to see some hard data on the number of open junior Rails dev positions vs the number of applicants, or anything of that sort. She's too careful to believe my "everyone says we're in the middle of a Great Dev Drought" protestations.
Please help me find the right data. And if you have some anecdotal evidence, we'll consider that too!
Thanks a ton!
@brainscraps
EDIT: Since there is a consensus that having an active GitHub profile is a good thing, no matter how messy, here's a link: https://github.com/BrainScraps
======
nateberkopec
As someone trying to hire Rails devs right now, I have two things to say - one
good, one bad.

* The Good News: I started coding 18 months ago, and now I'm a lead developer at a funded startup and a two-time contributor to Rails (along with other contributions to open source).

* The Bad News: While there is a hiring drought, there is NOT a drought for hiring guys who just learned Rails three-to-six-months ago at a dev bootcamp somewhere. We get literally dozens of cold emails a week from people like this. The amount they can contribute is almost nothing and 95% aren't capable of holding down a FT junior position.

I think my point is don't think that you'll go to some bootcamp at have a job
for 90k with benefits in 6 months. You need to work your ass off to be
employable in that amount of time, although it's possible.

~~~
piratebroadcast
Curious - What city are you in?

~~~
nateberkopec
NYC

------
techiferous
Good Rails devs are hard to find and in large demand. As a beginning Rails
developer, though, you'll need to convince your new employer that you are a
net gain. A junior dev can need so much hand-holding that they can steal away
precious time from a senior dev.

Put some good Ruby code on github. If you can, you'll improve your chances of
getting hired quite a bit. If you can't then you're not ready to be hired yet.

~~~
BrainScraps
Thanks for the feedback!

I'm actually making a part of my transition plan to attend an intensive course
like those offered by General Assembly and CodeFellows.org

Those programs are designed to give me plenty of opportunity to put up live
projects and public code. I have some stuff now, but it's so messy and noob-
tastic that I'm not showing it to anybody for fear of being put in the stocks.
It's that bad. :/

~~~
cheald
I'm a tech lead who does interviews and makes hiring decisions for Rails
developers, and I completely understand your sentiment, but I encourage you to
push past that and publish anyhow.

More published code is better than less published code irrespective of
quality, because it tells me that you're engaged and devoted to your craft,
and it gives me a sense of what projects and technologies you're interested in
and have been exposed to. Additionally, publishing code gives me a way to see
your progression through the craft, and to get a sense of not only how
developed you are as a programmer, but how you're growing.

A junior programmer who shows growth and improvement is a much better hire
than a junior who is competent but shows no growth. When I hire people, I want
to hire people who will grow into strong senior developers over their career,
which means that I'm primarily looking for ability to learn and grow rather
than a specific buzzword checklist. Hiring a junior comes with the expectation
that I'm going to have to train and hand-hold them, but I want to hire a
junior who will progress out of that stage, and will be able to start taking
care of those things for new hires down the road.

Publishing code on Github doesn't mean that you're asking other people to use
it; it just means you're publishing it. A Github profile on a resume is a +1
for me; a Github account with a lot of forks is another +1, an account with
original code is yet another +1, and an account with original code that other
people use is the big cherry on top. In all cases, though, I'd rather see an
active account filled with "noobish" or "messy" code than an empty account.

~~~
sbank
I'm curious about GitHub and the code you review. Like many, I can hate my own
code and sometimes feel that it will be used against me in a hiring process.
So I guess what I'm asking is how much does it count against a potential hire
that they have bad code and/or bad ideas on GitHub?

> More published code is better than less published code irrespective of
> quality

This is the path I try to walk. I'd rather put something out there than
nothing at all.

~~~
cheald
Crudely speaking, no code < bad code < good code. However, what I tend to be
interested in is curiosity and improvement in the case of a junior programmer.
One technique I've seen that's worked well with me is for the applicant to
list their 3 favorite repos on their resume, which guides me towards looking
at them, rather than just poking around randomly at the "bad stuff".

As an interviewer, I don't care that you've written bad code in the past (any
developer who says he hasn't is lying). I _do_ care that you have written code
up to the standard of the job I'm hiring for (which is going to be quite
lenient for a junior position), but I'm mostly going to be looking for cues
demonstrating improvement and curiosity. The more technologies, languages, and
concepts you touch, the better. To me, your Github profile is a showcase of
your interests first and foremost.

I'm much less interested in hiring someone for their hard skills than I am for
their potential. I can hire outsource hard skills for pennies on the dollar;
what I want are people who can become proactive owners of the projects they're
on, not just code monkeys who turn specs into code. For example, one guy I
hired saw that we were looking for a dev with front-end chops, so he re-coded
his resume with backbone.js just to show off a bit. This caught my attention,
not because of his ability to write Javascript, but because his proactive
solution to the question of "how do I get this company to hire me?" told me
that he was the kind of person I wanted to work with, not just that he had a
specific skillset that I could hire.

~~~
sbank
Thank you for an informative response! I'm gonna keep this in mind when I
start applying for jobs. Currently I spend evenings and weekends programming
and learning on my own.

------
itsprofitbaron
There are 211 jobs available with Ruby on Rails positions advertised on
AngelList. 47 of those jobs advertise $100-109k positions & 64 are offering
.5-.9% equity.

You can enter your area etc for a more detailed range etc:
<https://angel.co/salaries>

~~~
BrainScraps
Thanks a ton for these data- helpful stuff!

I've shown her some raw data from Indeed and DICE, but the reason why I've
turned to the community is this:

She's not impressed with the _raw number of open positions._ If that were a
conclusive indicator, then getting a marketing job would be a snap in the Bay
Area, but I assure you that it is not. I tried explaining to her that price
(or salary) is a good indicator of the saturation rate of the market, but
she's not convinced by that argument. (I'm not sure that I am either. It could
be that the salary averages are being driven up by more senior ruby positions
that I wouldn't be able to qualify for in less than a few years.)

That's why I'm hoping to get some data points from employers who know whether
or not there is _actually_ a dev shortage like many people claim.

~~~
itsprofitbaron
Wanted Analytics released a press release on January 8 2013, showing that "The
number of product management or product development job ads posted during
December rose 23% compared to December 2011, 30% versus 2010, and 99% from
2009"[1] which, is a good indicator of growth in the market.

There is definitely a shortage of good talent across the majority of languages
as a _good_ developer is in demand. However, you have to prove to potential
employers that you're a _good_ developer which is why they usually as to see
Github profiles etc in the application (and if you haven't got one already you
should definitely make a Github account). Likewise, since you're learning you
could even blog about learning Ruby on Rails and even create some mini-working
products on Heroku to show that you're capable of shipping & able to
communicate in technical terms.

Furthermore, for further evidence of employers trying to attract Ruby on Rails
talent then, you should have a look what LivingSocial are doing to attract
Ruby on Rails devs with <http://www.hungryacademy.com>

[1]
[http://www.wantedanalytics.com/press/2013/01/08/innovation-i...](http://www.wantedanalytics.com/press/2013/01/08/innovation-
in-demand-product-managers-and-developers-see-23-growth-in-hiring/)

------
auctiontheory
I'm sure you'll get some good data here.

But you give no indication that you enjoy programming. As someone who has made
significant career changes myself, I caution you that choosing a profession
solely to follow demand, and not based on your true interests, can turn out
badly.

~~~
BrainScraps
This is great advice that I was pretty certain I'd see here.

I do enjoy programming! I've been working with HTML/CSS/jQuery for a couple of
years and PHP/mySQL for about a year on and off and I absolutely enjoy the
feeling of accomplishment when everything clicks and you get that one little
line of output in the console that you've been driving at for 3 days.

I enjoy it enough to build things at hackathons just to see if I can. And
sometimes I win and get interviewed on TechCrunch. Okay, so maybe that just
happened _one_ time.

[http://techcrunch.com/2012/11/12/meet-the-vetsintech-
hackath...](http://techcrunch.com/2012/11/12/meet-the-vetsintech-hackathon-
participants-and-its-winner-bugl-co-tctv/)

~~~
glitch273
ahhh... there's our good friend Adria Richards at it again.
<http://i.imgur.com/uKnGbb8.png>

------
sherm8n
There are so many jobs and freelance projects available for Rails developers.
The thing I find amazing is that anyone I talk to looking for Rails developers
is that they can't find enough talented people.

Also, Rails is so easy that you can slide by being junior.

~~~
BrainScraps
>that they can't find enough talented people.

Interesting nuance here. Maybe there are a lot of hacks out there who can
Google their way through a Rails Tutorial, but cause more trouble than help
when brought on to a production app?

------
piratebroadcast
I have recently been accepted to www.launchacademy.co, which is a full
stack/Rails developer "bootcamp" in Boston, and I am also interested in this
data. Entry level Rails devs get paid differently, regionally. That being
said, I know 30 of us have put our life on hold to do this school. I am sure
you made the right decision.

EDIT: Quora has a lot of data about this. I am told that junior Rails
developers in Boston can expect to make between 70-90k salary starting out. SF
and NYC is higher.

------
Denzel
You are correct, we are in the middle of a "Great Dev Drought," keyword being
"Great" or rather talented. I don't have any hard data for you per se, but I
can tell you that of the ~100 candidates we've interviewed for a junior Rails
position, we've accepted approximately 2%.

Our entire pool is filled with software engineers and web developers that look
very qualified on paper. However, it's hard to find someone with a good mix of
(1) theoretical computer science knowledge, (2) practical programming
experience, (3) problem solving skills, and (4) the drive to be truly great.

I have one piece of advice: If you are simply looking to "pivot" into
programming for a job and because it's the hot thing to do, then don't! But if
anything programming and computers is truly your passion; if it excites you so
much that you have trouble sleeping; if you couldn't imagine your life doing
anything else, then go for it by all mens. The odds are stacked against you,
but you can beat them if you work hard. Good luck!

~~~
BrainScraps
100 candidates for a junior Rails position? Egadz. That's not super
encouraging.

What are some things that you find disqualify candidates when you interview
them?

Or conversely, what makes candidates look especially good when you're
narrowing it down?

~~~
Denzel
I can't talk about specifics in public, but shoot me an e-mail (address in
profile) and I will provide you with some guidance if you'd like.

~~~
piratebroadcast
FYI on hacker news, your email address is only visible to you.

------
cpursley
I asked a similar question on Quora that's had some really great answers:
[http://www.quora.com/Ruby-on-Rails/What-are-the-minimum-
leve...](http://www.quora.com/Ruby-on-Rails/What-are-the-minimum-level-of-
skills-for-an-entry-level-RoR-job)

~~~
piratebroadcast
That was great.. Thanks!

------
tommypalm
I've worked with Rails for 2 years after finishing University. One email to
the London Ruby User Group got 15 replies and out of those I got 6 interviews
and 2 job offers.


This site crashes Mac completely if you open it with Chrome - turshija

I don't know who else to ask to try this, but I've noticed that more and more people are reporting that when they visit my portfolio with Chrome (www.turshija.com) their computer crashes completely ...
I have the same problem with my MacBook Pro with newest stable Chrome, If I open the page, my screen freezes and sometimes I hear weird beeps (same as RAM failure), but that thing happens to almost all Macbooks and iMacs I've tried (to be precise exactly 2 macbooks and 1 iMac) ..
And recently more and more Windows and Ubuntu users started reporting the same problem, but most of them say that they can kill Chrome without reseting PC ...
I've reported this issue here: http://code.google.com/p/chromium/issues/detail?id=121089
But they don't look so interested, even though I think this can be exploited badly, like making invisible iframe on some page or masking it with some url shorteners and make people click on it ...
The main problem is that sometimes after crash, my Chrome profile gets corrupted, so I have to reinstall it or delete some files to be able to access bookmarks or password storage ...
Can anyone else confirm this by visiting www.turshija.com with Chrome (be prepared for crash, so save all your work before visiting the link) ?
======
hifi
I'm running Snow Leopard 10.6.8 on a Core 2 Duo with the newest version of
Chrome (19.0.1084.46) - no crash!

I haven't had the time yet to check the code properly but why do you have a
5090x6640 pixel canvas element?

~~~
turshija
Well, its created by scrollPath plugin: <http://joelb.me/scrollpath/> Do you
know anyone with MacOS Lion 10.7.4 who can try opening the page ? I've also
tried to narrow down the problem and came to this:
www.turshija.com/chromecrash One page crashes my mac, other one doesn't, and
difference is only in one line ...

~~~
stanley
Opened with the newest version of Chrome on MacOS Lion 10.7.4 and it loaded
without crashing.


Racket v6.11 - nickmain
http://blog.racket-lang.org/2017/10/racket-v6-11.html
======
Buttons840
> Typed Racket supports refinement types and dependent function types.
> Previously an experimental feature, refinement types allow types to describe
> more interesting properties of values, especially integers. For example,
> this type shows that the max function always produces a number at least as
> big as its inputs: (-> [x : Integer] [y : Integer] (Refine [z : Integer]
> (and (>= z x) (>= z y))))

Did Racket become a better Haskell while I wasn't looking? What's the catch?
Those look like some powerful type system features.

~~~
swlkr
I was thinking the same thing, that's a really cool feature.

------
spdegabrielle
What are refinement types and dependent function types?

~~~
chriswarbo
Dependent function types allow the _return type_ of a function refer to the
_argument value_ of the function. The classic example is "vectors", which are
like lists but have a statically-checked length. Here's an example function
involving vectors:

        duplicate : (t : Type) -> t -> (n : Nat) -> (Vector n t)

This type signature says that `duplicate` is a function of 3 arguments: `a ->
b` means a function from argument type `a` to return type `b`, and `a -> b ->
c` can either be interpreted as "a function taking an `a` and returning a `b
-> c`" or (equivalently) "a function taking an `a` and a `b` and returning a
`c` (see
[https://wiki.haskell.org/Currying](https://wiki.haskell.org/Currying) for why
this is equivalent).

Argument types are written in one of two ways: if they're written like `a`
(for example `Int` or `String`), then the type of the argument is `a`; if
they're written `a : b` (for example `age : Int`) then the argument type is
`b`, but later types can refer to the _value_ as `a`.

So this signature says that the first argument of `duplicate` is called `t`,
and it is a `Type`. The second argument has type `t`; this means the _type_ of
the second argument _depends_ on the _value_ of the first argument: if we call
`duplicate` with `Bool : Type` as the first argument, then the second argument
must be a `Bool`.

The third argument is called `n`, and has type `Nat` (natural numbers: i.e.
the positive integers including zero). The return type is `Vector n t`, i.e. a
list of length `n` containing elements of type `t`.

Note that we're referring to argument values by name, but we don't know what
_particular_ value they will be (i.e. which number `n` will be, or which type
`t` will be). We can think of `a : b` as being `for _all_ a of type b`.

If we think about functions returning lists, like `map` or `reverse`, we can
"cheat" by having them always return an empty list; such functions satisfy
their type signature (they return a list), but don't behave in the way we
want.

In contrast, the "for all" nature of dependent function types can be used to
prevent this sort of "cheating". The `duplicate` function can't just return an
empty vector, since it must return a vector of length `n`, and the
implementation must work _for all_ values of `n`. We're _forced_ to write a
function which constructs a vector of the correct length: empty when `n` is
zero, or non-empty otherwise.

To construct a non-empty vector, we need to put a value inside it. What value
can we use? We can't "cheat" by using, say, the value `"hello"`, since that
would give us a vector containing `String`, whilst our return type forces us
to make a vector containing `t`. Whatever our function does, it must work _for
all_ values of `t` (`String`, `Bool`, `Int`, `Vector 5 (Int -> Bool)`, etc.).

Since we don't know what `t` will be, we can't "invent" a value of the right
type. The only thing we can do is use an _existing_ value which will always
have type `t`. The only way something can have type `t` is if it appears in
our type signature, since that's the scope of the name `t`. The only thing in
our type signature which has type `t` is the second argument. Hence we _must_
use the second argument as the elements of our vector (if it's non-empty).

One implementation which satisfies this type is the following (assuming that
`Nat` is encoded as Peano numerals
[https://en.wikipedia.org/wiki/Successor_function](https://en.wikipedia.org/wiki/Successor_function)
):

        duplicate t x n = case n of
                               zero   -> vectorNil t
                               succ m -> vectorCons t x (duplicate t x m)

This isn't the only possible implementation, for example we might choose to
send the recursive call through a `vectorReverse` function (although it would
be pointless), but such differences cannot alter the input/output behaviour of
the function.

Of course, we don't have to use dependent function types to restrict _all_ of
a function's behaviour. If we think back to the `map` example, we take a
function of type `a -> b`, a `List a` and must return a `List b`: the easiest
thing to do is return an empty list, which satisfies the type but isn't what
we want.

If we instead make a `vectorMap` function, where `List` is replaced with
`Vector n`, then that "cheat" no longer works (since an empty vector doesn't
always have length `n`). We _could_ still mess around with the contents, like
reversing it or doing some other permutation, but that's _harder_ than just
doing the right thing. The path of least resistance is to write a correct
implementation!

~~~
fiddlerwoaroof
I like the way Edwin Brady talks about this: a dependently typed language is
one in which types are first class. That is, you can use them as values in
computations and return them.

~~~
chriswarbo
"First class types" and "dependent types" are actually two different things.
We can have first class types without any dependencies. For example:

        isEven : Nat -> Type
        isEven  zero           = Unit
        isEven (succ zero)     = Empty
        isEven (succ (succ n)) = isEven n

        fortyTwoEven : isEven 42
        fortyTwoEven = unit

Here the `isEven` function calculates a type based on the given number: if the
number's even, it returns the `Unit` type, of which there is a value `unit`;
if the number's odd, it returns the `Empty` type, of which there are no
values.

The value `fortyTwoEven` is a "proof" that the number `42` (which would
actually be `succ (succ (succ ...))` nested 42 times) is even. The proof is
the value `unit`, which will only work if `isEven 42` returns `Unit`, which
will only happen if 42 is even, so everything works out. We can write a type
like `isEven 43`, but that will return the type `Empty`, which there's no way
to satisfy.

We can use this sort of thing to do static checks of reasonably simple data;
for example, if we have a bunch of config parameters which need to be related
in some way.

Dependent types add the "naming" part, which we can use in functions (as
explained above), but also in other "compound" datastructures like tuples `(n
: Nat, isEven n)` and records `{ n : Nat, evenProof : isEven n }`

The annoying thing is that few languages seem to have first class types _at
all_ , so every explanation of dependent types has to start by introducing
first class types, _and then_ explaining the "dependent" parts.

It's like trying to explain something like interfaces, if all mainstream
languages were dynamically typed. We'd have to begin by explaining what types
are, and _then_ go on to explain interfaces. Readers might easily confuse
features of _types_ with features of _interfaces_ , which would lead to much
confusion.

I think that's kind of happened with "dependent types" and "first class
types", although I haven't seen any/many systems which have one without the
other, so maybe it's not too bad :)

------
tombert
Please forgive some ignorance here, but I thought that LISP couldn't have a
proper type system since it would muck with homoiconicity. Clearly I'm wrong
about this, but now I'm curious why more LISPs aren't typed.

Can anyone here enlighten me?

~~~
madmax96
What do you mean by a "proper type system"?

In SBCL, if you set the optimization (SAFETY 3) then the system can catch many
type errors in advance.

Finally, homoiconicity simply means that the text of a program generally
resembles the AST of the language. Adding type annotations (which you can do
in CL, clojure, and typed racket) is therefore not incompatible with the
principle of homoiconicity.

~~~
tombert
I think that I got confused based on some post talking about difficulties of
implementing a Hindley Milner type system in Lisp. So much for relying on
three-year-old memories.


Ask HN: Please be more thoughtful when downvoting - guynamedloren
Lately I've noticed far too many constructive comments that have been downvoted (usually without any explanation). Please stop this. It's okay to have comments that are not in support with the original post or your own thoughts. We don't have to shoot them down.
Downvoting is meant as a management tool to filter out comments that negatively impact the community, or ones that provide no substance or insight.  Please do not downvote legitimate comments.
Thank you.
======
epenn
I fully agree. I've seen far too many comments that are meaningful or
insightful - even ones I don't agree with - get unnecessarily downvoted
without proper cause. On a discussion forum where one of its main objectives
is to be a safe haven for intelligent discourse this is unacceptable. With
that said, this is my officially unofficial guide to downvoting:

NEVER downvote:

1) Just because you disagree with a post.

2) Because you dislike the poster.

3) Because others have downvoted a comment into oblivion and you want to jump
on the bandwagon. i.e. No need to kick a comment when it's already down.

4) When you have not explicitly reasoned out why you are downvoting
beforehand.

DO downvote:

1) Because the comment is derogatory or offensive.

2) Because the comment is factually incorrect.

3) Because the comment is off topic and/or does not add to the conversation.

4) Because the comment lacked any meaningful content. Ex: "Yes!", "Nice
post!", "LOL!", etc.

Ultimately the golden rule applies here. Do not downvote any comment for a
reason that you yourself would be upset over if someone used that same reason
to downvote a comment of yours. In short, just put some thought into it.

~~~
chimpinee
Being on-topic, polite and factually correct are all virtues that I would
expect in a typical HN poster. We should prefer comments which reflect these
virtues!

However, regardless of what we intend, I think upvoting and downvoting equate
to 'I like' and 'I no like'. We should embrace this de facto reality.

People, including good people with sound judgments, cannot always explain
their choices at the time they make them, nor is this desirable.

When people downvote foolishly, in many cases they will have lost their
tempers. In such cases sober rules like 'only downvote comments which do not
add to the discussion' may go out of the window.

This can't be fixed by exhorting users not to get angry or not to comment when
angry, for people can be _goaded_ into anger in subtle, malicious ways (which
cannot themselves be easily captured and prevented by other rules). And people
can _deny_ that they are angry, even to themselves.

Anyway, effective rules must remain stable under such conditions, which is no
mean task.

One way is to engineer new rules into the system itself.

For instance, improvement might be brought about if downvoting, in addition to
costing the downvotee one point, cost the _downvoter_ one karma point. People
would then refrain from frivolous downvoting, but I believe would still
downvote inappropriate, thread-damaging comments. This is partly because good
people tend to have more karma and well as better judgment. It also reflects
human psychology. Getting angry always costs the angry person.

------
ctide
I downvoted your comment (and probably was the first to do given that it was
still black when I downvoted it) here:
<http://news.ycombinator.com/item?id=3782072> which lead you to immediately
post this. Considering you clearly think your comment was constructive (or
else you wouldn't have posted this) I'll explain why you were downvoted into
oblivion.

Your comment was ridiculous self promotion with a splash of topic relevancy.
It was laced with narcissistic bullshit. If you don't want to get downvoted,
stick to the topic, not how you (at 23, with 13 years of design experience)
are better than 99% of the designers and then link to a bunch of sites that,
while certainly are not unattractive, are not what I would include in my list
of greatest websites ever designed.

~~~
guynamedloren
Yes, those downvotes were deserved, as was your comment. I don't deny that. I
was offended by the article (which stated that a type of person with x skills
does not exist), took it personally and commented accordingly. But while this
post was submitted around the same time as that comment, the two are
unrelated. My comment only had a single downvote at the time, anyway, and I
will be the first to admit that it was not constructive by any means.

What bothers me, however, is when I see constructive and helpful comments by
others (typically respected, productive HN members) that have been downvoted
for no apparent reason. I almost always try to upvote these, as they do not
deserve negative karma for merely speaking their minds and contributing to a
healthy discussion.

~~~
lucisferre
No the article said they do exist but rarely are available.

~~~
chrisbroadfoot
Just like unicorns.

------
DanI-S
People downvote to express one of two things:

\- The post doesn't have a tone that fits the HN ideal.

\- The post says something that they disagree with.

This is a problem, because those two cases should not be treated the same. A
post containing an unpopular opinion should not be considered equivalent to a
post that is insulting or derogatory, for instance.

From a user interface perspective, the sensible approach would be to provide
an outlet for the user to do express two things independently, rather than
attempting to modify behaviour through appealing to their better nature.

A separate 'flag' option would make a lot of sense.

~~~
DanBC
There is a separate flag option. It's hidden. For example, clicky the [link]
URL in the menu bar for my post.

AIUI flagging comments (posts in a thread) is for spam or blatant nastiness,
and down-votes are to encourage better behaviour. ("not a nice tone" /
"factually incorrect" / "big claims with no evidence" / "missed point of
thread by wide mark" etc.)

If a post gets down-voted and you really don't understand why either leave it,
and wait to see if other people up-vote. (People can accidentally down-vote,
although they'd normally mention that.) Asking politely for more information
usually works.

~~~
DanI-S
Oops - I somehow wasn't aware of that! If flag isn't helping, perhaps this is
true:

In HN's UI, the downvote is presented as directly equivalent to the upvote.
Since the upvote button is to be used if one agrees with the tone, sentiment
or facts within a comment, its visual link to the downvote button causes
people to infer that the downvote button should be used when one _disagrees_.

If this isn't the intended purpose of downvotes, the UI should change so that
it isn't the exact mirror of an upvote.

------
robomartin
This is the one aspect of HN that cast a bad light on the nature of the
community. There seem to be what I've come to call groups of "fan-boys" who
downvote based on ideology rather than on the merits of the comments.

The problem is that this very quickly starts to feel like any other forum
where things generally degenerate to the point where only seven people are
posting because anyone else becomes afraid of the wolves attacking.

My opinon: Down-voting ought to cost you (the down-voter) a significant chunk
of points, say, 10%. And, you should be obligated to post a reason. And, if
the reason is bullshit and it gets downvoted, you loose another 10% of your
points.

In other words, it better be valid.

The rules could be a little more elaborate than that, but this might be a good
start.

~~~
pavanky
Stack overflow does this, but I think only under certain conditions. Like if
the question has been upvoted, or if you are the first person. I am not too
familiar with how they do it.

I disagree a bit on the fan-boy downvotes. From what I have observed,
anecdotally ofcourse, there are many fan boy comments with no downvotes than
those that get downvoted by fanboys..

~~~
nextstep
Your comment doesn't make a lot of sense...

~~~
pavanky
Sorry, I was talking about two completely independent things in the same
comment.

1) About the negative points for the downvoter 2) The concept of "fan-boy
downvotes".

------
dmlorenzetti
It feels to me as though downvoting simply to express disagreement started to
increase after the point display got removed from individual posts.

I think in the past, if people saw a comment they really disagreed with, but
it had only 2 or 3 points, there was a tendency to say "Of course it's got no
points, nobody agrees with it." But once points went away, there's now a
tendency to say, "I'd better downvote this stupid comment, just in case there
are idiots out there voting it up."

~~~
ricardobeat
I concur with that. Visible points lead to a natural equilibrium.

~~~
sounds
How about showing the points below a cutoff, maybe 3 points?

------
spindritf
> It's okay to have comments that are not in support with the original post

That's not really the problem, top comments very often contain counterpoints
to the submission. It's deeper in the comments where you can easily slip into
the light grey even with pretty uncontroversial posts citing scientific
sources but I think that's just caused by a low number of votes in general for
those comments, not particularly "unthoughtful" downvoting.

Oh, and it's apparently OK to use up/downvoting to express dis/agreement:
<https://news.ycombinator.com/item?id=117171>

~~~
furyofantares
I really don't understand the view that it's OK to use downvoting to express
disagreement.

I think that what a downvote says, regardless of what's intended, is "I do not
want to see this type of post anymore." This makes sense if someone is
misbehaving. I think it also makes sense for very extreme opinions.

But for simple disagreement? Just because I disagree with you does not mean I
want you to stop expressing your viewpoint.

------
fomojola
Does downvoting a comment cause the voter to lose karma, or is it in essence
free? StackOverflow does this (you lose a point each time you vote something
down), and it is actually a meaningful deterrent: maybe it would help here.

~~~
ComputerGuru
The voter loses karma. One downvote is one karma. One upvote is one karma.
(StackOverflow is 1 upvote for 10 karma for answers, 2 karma for questions;
and 1 downvote for 1 karma everywhere, I think.)

~~~
why-el
The voter or the person who asked the question? I am confused.

~~~
Animus7
To clear up the confusion, the grandparent is simply wrong.

The only person to lose karma is the one that gets downvoted.

------
fleitz
It's a number in a database, who cares...

I used to get pissed about it and want an explanation, but the consequence of
posting on controversial threads is getting downvoted. If you don't want to be
downvoted just preface your comment with something like "I'm not dissing X,
but <something that points out some major flaw in X>" it seems to mostly do
the trick.

What's the bar for downvoting anyway these days still 200 points?

~~~
corysama
I care about a number in the database because that database is the mechanism
behind a community I care about.

It has been observed that as online communities like HN grow, the signal-to-
noise ratio falls on a progression that can be summarized as HN -> Reddit ->
Digg. No one knows how to permanently stave off the Diggization of HN. But, in
the mean time, it is worth trying to delay as much as possible.

As we become more complacent regarding downvotes on well-written comments
because we disagree or not downvoting empty, witty fluff, HN slides farther
and farther into the noise pit.

------
HardyLeung
This is sadly so true. It's hard to play devil's advocate sometimes because
unless you are going for the "conventional wisdom" some people are bound to
disagree with you, and disagreement is often expressed in the form of
downvotes. Since offering a different point of view is discouraged, the
discussion inevitably trends towards being bland or rah-rah in nature.

What to do? The wise solution is to just ignore Karma -- who cares about that
except for the egomaniacs? But the truth is that we are all human, and when I
offer something that adds to the discussion but got downvoted to oblivion in
return, it hurts, at least sometimes. And in those cases when I couldn't care
less, I feel a little bit wiser.

------
anthonyb
The other thing to bear in mind is that when you downvote new members to the
point that their karma goes negative, they will automatically be hellbanned --
their comments won't show up except to themselves.

EDIT: So, be nicer to new users, otherwise they'll end up like dailyllama:
<http://news.ycombinator.com/threads?id=dailyllama>

------
firefoxman1
I would like to propose a small change to the commenting system: _Don't shade
downvoted comments grey._

I've noticed it's like a snowball effect. I've commented on a post and for
hours it wasn't downvoted or even upvoted. But as soon as one person noticed
that it had been downvoted, it would get 2 or 3 more.

And I've noticed this impulse in myself. I feel _much_ more compelled to
downvote a comment that is already grey than one that isn't, even though the
grey one may be a perfectly valid point.

Maybe a good idea would be to only show it greyed out after 3+ downvotes. That
way people wouldn't have that knee-jerk reaction to downvote just because
someone else has.

~~~
jiggy2011
I'm sort of the opposite, sometimes I see a gray comment that I wouldn't
normally have bothered to vote on either way and think "it's not _that_ bad"
and upvote to get it out of gray.

~~~
firefoxman1
Yeah, I've done that a few times as well. I guess it could go either way. I
think that's why only displaying as grey after 3+ downvotes would keep people
only voting based on their own thoughts and not on how other people have acted
on that comment.

------
wyclif
I think downvoting should be thoughtful, but I'm not so sure about the burden
of having to provide an explanation for doing so. IMO users should be able to
judiciously downvote without doing anything else.

------
robomartin
People are discussing this because they care about HN. They don't want to see
it go to shit, like many other communities tend to do.

This is a good thing so long as these opinions trigger actions to return the
community to a reasonably balanced state.

It'd be nice to hear from HN management on thoughts and potential remedies for
this issue. And, of course, it'd be nice to see some of these changes
implemented ASAP.

------
Cushman
I don't think this is a recent trend... I've noticed it since I've been active
on HN. But it's very true. I've noticed that very controversial comments will
receive a lot of downvotes, but relatively few comments that disagree with
them.

I'll confess I've been guilty of this in the past: downvoting comments I
disagree with, or those which I think are false. On reflection, that is
obviously wrong. Downvotes are for comments which are off-topic, unnnecessary
for anyone to read. Not those with with there is legitimate disagreement. For
those, commenting is the appropriate response.

I can only reinforce the OP: Downvotes are for off-topic, irrelevant, spam
comments. If you disagree with a comment, comment to say why, or upvote a
comment that expresses your disagreement. Downvoting a comment signifies
nothing.

~~~
chc
Factually incorrect or relevant but info-light statements are often just as
much noise as off-topic comments. For example, the top-voted comment on a post
about Clojure says "Clojure is such utter shit. It doesn't even have integers.
Don't use this crap." Are you really saying we shouldn't downvote that? The
one bit of signal (it doesn't have integers) is false, and the rest of it is
just flaming. By your metric, it's a good comment — it's on topic and it's not
spam. But by any reasonable metric, it's a terrible comment, and I would like
to discourage such mindlessness.

------
zrgiu_
Also related to downvoting: how/when do you receive the permission to downvote
?

~~~
AdamGibbins
Some place above 472..as I can't down-vote yet (despite being here 3 years).

~~~
teach
Yeah, it seems we're expert lurkers. I've been here more than 4.5 years and
have less than 350 karma. I feel pretty confident about my downvoting skills,
but I've never been allowed to use them.

------
benologist
Legitimate comments are incredibly subjective. That down arrow helps me
clarify what _I_ consider legitimate.

------
ypcx
I guess that is why Facebook doesn't have a Dislike button. In the end, it
never works. We are emotional creatures and sometimes we feel like we need to
vent off somewhere. And during that time, we are highly likely to vent off on
things unrelated to the source of the feeling we feel we need to vent off.

I think to fix that, either remove downvoting entirely, or add a secondary
system where downvotes are reviewed, and the downvoting right is taken from
people who abuse it.

------
dsrguru
I wonder what the best solution is. This definitely does seem to be a trend
that's increased recently, possibly as a result of points no longer being
displayed for each post, and possibly as a result of an increasingly larger
community whose new members resemble the reddit crowd more than the Silicon
Valley crowd.

I don't like the idea of having a cost to downvoting. People shouldn't have to
make the choice between receiving a small punishment for legitimately trying
to improve the forum or letting others do it. Perhaps get rid of a downvote
option altogether and make flag more visible? Or get rid of downvote and don't
make flag more visible? Maybe require a comment to go along with flag? I
definitely think the visual symmetry in the up and down voting gives people
the impression that the downvote's function is disagreement. Then again, I
seem to recall pg saying that he was okay with the downvote being used that
way and wasn't afraid of HN becoming
[http://www.collegehumor.com/video/3980096/we-didnt-start-
the...](http://www.collegehumor.com/video/3980096/we-didnt-start-the-flame-
war)

------
uptown
If you're going to complain how others are supposedly misusing a feature of
the site, why would you do so by apparently misusing the "Ask HN" lead-in?

------
ajdecon
People downvote for various reasons, and there really isn't a lot of agreement
on a good criterion. Some downvote only "harmful" comments, some downvote for
disagreement. I'm guessing you're in the first camp, but given that pg has
ok'd the second option as well, I doubt downvoting for disagreement is going
away any time soon.

Speaking only for myself, I don't often see substantive comments which are
downvoted into oblivion: at worst, they hang out at -1 or -2 until someone
notices them and upvotes. Most good comments eventually recover; mediocre ones
might stay at barely-downvoted. ( I see substantive comments go [dead] because
the user's been hellbanned, but that's different.)

Maybe the solution is just to not start graying text until -2 or -3? Then one
or two early downvotes would have less effect.

------
danilocampos
HN's community is a pit of sexist villainy, unnecessary pedantry, empty
sycophancy, and vapid self-aggrandizement.

But yeah, let's make sure we get on this _downvoting_ "problem" post-haste.

PS: I downvoted every single comment in this thread that rubbed me even a
little bit the wrong way, regardless of its constructiveness. I left no
comment in explanation. I took special delight in doing so for comments with
an especially righteous tone. The world is no worse for my having done so. The
community would have been no better had I restrained myself.

Downvotes are not the problem.

~~~
aptwebapps
All right, I'll bite.

>HN's community is a pit of sexist villainy, unnecessary pedantry, empty
sycophancy, and vapid self-aggrandizement.

Then why are you here? I'm not asking you to leave, but that is such a
thorough indictment that I do wonder why you stay. There must be more to the
site than that.

>PS: I downvoted every single comment in this thread that rubbed me even a
little bit the wrong way, regardless of its constructiveness. I left no
comment in explanation. I took special delight in doing so for comments with
an especially righteous tone. The world is no worse for my having done so. The
community would have been no better had I restrained myself.

One person downvoting like this is not much of a problem. If very few people
behaved like that the OP would not have needed to post this. If everyone
behaved like that the site would be unusable.

>Downvotes are not the problem.

Thoughtless downvoting is _a_ problem. I don't know if it's the biggest
problem the site has but why would you let that stop you from addressing it?

~~~
danilocampos
> Then why are you here?

The obvious reason – occasional boredom. Oh, and the inherent joys of venting
my spleen.

~~~
firefoxman1
The better question: _Why do you engage in the community?_

You could just browse articles without creating an account.

~~~
danilocampos
> Why do you engage in the community?

Same deal. Occasional boredom.

------
KevinMS
I would like to see minority upvotes weighted in some way to avoid mob rule.
However I'm not sure of the math of this, or how it could be gamed. But I do
know, if a story or comment gets 10 upvotes and 90 downvotes, I want to be
given the chance to see what those 10 users saw upvote worthy.

Also, I'd like to see the number of upvotes and downvotes, not just the total.
I would find it much more informative if there were five hundred upvotes and
five hundred downvotes, rather than just a zero.

------
dlss
Title indicates question, no question present. Downvoted :p

------
Animus7
By chance I noticed your earlier comment:

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

and I'm trying to get over the dissonance between what you said there and what
you're saying here.

~~~
chc
What is the dissonance between "Don't downvote to disagree" and "I have many
skills"? They seem completely unrelated. Did you link the wrong comment?

------
maxbernstein
Am I totally wrong in that I thought we had no downvotes on Hacker News?

~~~
prodigal_erik
Yes, downvoting is a feature available to users with 500+ karma (according to
<http://news.ycombinator.com/item?id=3782217>)

------
rickdale
I don't care if this comment gets me downvoted to the point of extinction on
HN, but seriously this shit is the number 1 story right now? Quit being such a
friggin' baby. Your comment sucked(just like this one) and then you received
and a downvote. I bet you are creaming in your pants now that you are the
number 1 story.

BEG HN: Quit UpVoting Total Bull Shit Like This!

------
webwanderings
Voting is dumb in a text-based world of writing.

~~~
webwanderings
You see why I said it is dumb? You downvoted without adding dialog (counter-
points as your disagreement). If this was an offline world, what would you
have done to me and my voice? Punch me as downvote? Leave me alone as
downvote? Ignore me? It is totally dumb to have downvotes on text/writing
because it gives you an easy way out.

The same is the case with Like buttons and upvotes, there's no difference.


Robot Pizza Trucks Hit Some Bumps - hhs
https://www.bloomberg.com/opinion/articles/2020-02-14/robot-pizza-trucks-hit-some-bumps
======
rmason
This begs the question does the Vision Fund do any due diligence? Like
actually ordering a couple of pizzas on different days to evaluate the end
product? Or going to talk with customers?

I thought this was something all venture people did before making an
investment but apparently it's just a Midwest thing.


Sonos is too expensive, I'm using my existing speakers with "audio|acacia" - ubermusik
http://www.plethra.com

======
johng
Trying it out. Pretty neat software.


Turning on WebRender in Stable Firefox - miohtama
https://wiki.mozilla.org/Platform/GFX/Quantum_Render
======
miohtama
On macOS Catalina seems to to work ok.

Just set

gfx.webrender.all to true

in about:config.

Restart.

You can verify it is enabled in about:support

[https://twitter.com/moo9000/status/1213064185963335680](https://twitter.com/moo9000/status/1213064185963335680)


Show HN: An App Store for CLI Apps - adius
https://cliapp.store/
======
adius
Thanks for the feedback you gave me last time on HN:
[https://news.ycombinator.com/item?id=18107198](https://news.ycombinator.com/item?id=18107198)
I incorporated it and released a new version. Here's my blog post explaining
what I changed:
[https://www.feram.io/blog/2018-10-05_how_i_screwed_up_launch...](https://www.feram.io/blog/2018-10-05_how_i_screwed_up_launch/)
Please take another look and let me know what you think! Thanks!


Live Pictures from Startup School - edawerd
http://futurique.com:8080/pingplog/yc/

======
edawerd
...and contribute to the album by emailing your pictures from your mobile
phone to yc@erclab.com

------
bigbang
small suggestion - can you guys make it easy to save the image. from cursory
look, when i tried to save one of the images i was in, i had to type out the
url.

------
echamussy
We added a link to the original file next to each picture. Sorry for taking
this long to reply. Thanks for your feedback, Cheers.


Guccifer2.0: Game Over? - cairo_x
http://g-2.space/guccifer2_gameover.html
======
cairo_x
Check for yourself:
[https://guccifer2.files.wordpress.com/2016/06/1.doc](https://guccifer2.files.wordpress.com/2016/06/1.doc)

Open in editor:

{\info{\title _TITLE}{\author Warren Flood} {\operator
\'d4\'e5\'eb\'e8\'ea\'f1
\'dd\'e4\'ec\'f3\'ed\'e4\'ee\'e2\'e8\'f7}{\creatim\yr2016\mo6\dy15\hr13\min38}{\revtim\yr2016\mo6\dy15\hr14\min8}{\printim\yr2016\mo6\dy15\hr13\min45}

'operator' metadata tag (\'d4\'e5\'eb\'e8\'ea\'f1
\'dd\'e4\'ec\'f3\'ed\'e4\'ee\'e2\'e8\'f7) decodes to ФеликсЭдмундович
(FeliksEdmundovich).

In RTF Word, 'operator' is assumed to be 'last saved by' ('revtim' half an
hour later). source:
[https://books.google.com.au/books?id=6iM2xNZ6dAIC&pg=PA120&l...](https://books.google.com.au/books?id=6iM2xNZ6dAIC&pg=PA120&lpg=PA120&dq=microsoft+word+%22operator%22+metadata&source=bl&ots=lm9kHk9n5Z&sig=fwQ10AtT8ShO8SbJfUpQW78o9yk&hl=en&sa=X&ved=0ahUKEwjPtpWhrITSAhXGopQKHYnnDIgQ6AEIOjAF#v=onepage&q=microsoft%20word%20%22operator%22%20metadata&f=false)

------
exabrial
What's the TL;DR? This is a huge timeline

~~~
danielvf
1) Guccifer2.0 appeared a few days after the DNC found out they had been
compromised and Wikileaks announced upcoming DNC releases.

2) Nothing Guccifer2.0 personally released was either actually harmful to the
DNC nor exciting.

3) Everything tying Guccifer2.0 to Russia was simple things anyone in the
world could do.

4) Guccifer2.0 first document releases contain metadata showing they were
modified minutes before by a tech guy who worked for democrat campaigns.

Article postulates that Guccifer2.0 was a front to discredit the real leaks
that had happened and point attention to Russia.


The OTCA Metapixel in Conway's Game of Life (2015) - dEnigma
http://www.instructables.com/id/OTCA-Metapixel-Conways-Game-of-Life/
======
consto
If you want to see what this OTCA Metapixel can be used for, besides
simulating Conway's Game of Life inside Conway's Game of Life, I _highly_
recommending reading:

[https://codegolf.stackexchange.com/questions/11880/build-
a-w...](https://codegolf.stackexchange.com/questions/11880/build-a-working-
game-of-tetris-in-conways-game-of-life)

Over four years a number of users from StackOverflow built Tetris using the
OTCA Metapixel. To summarise, they built layers of abstraction to move from
the Game of Life, to Metapixels, to wires, to logic gates, to a RISC computer.
There they developed their own assembly language to write tetris and finally
compiled and ran it. In total the world is 2,940,928 x 10,295,296 blocks in
size.

Here's an interpreter for that language running Tetris:
[http://play.starmaninnovations.com/qftasm/#jllHdnBGSP](http://play.starmaninnovations.com/qftasm/#jllHdnBGSP)

~~~
hammock
What the fuck. It's comments like this that make me realize computers are
something special.

I would love to see a sophisticated comparison to biology and the layers of
abstraction there.

~~~
monk_e_boy
Or from strings to particles to elements to people who build computer then
program them :)

------
vog
Nice covering of a certain well-known GoL pattern.

If you like GoL, you should check out LifeWiki which is the largest and most
up-to-date pattern collection (kind-of encyclopedia for the GoL universe) out
there:

[http://www.conwaylife.com/wiki/Main_Page](http://www.conwaylife.com/wiki/Main_Page)

If you are interested in latest research and news about the subject, the
following blog aggregate is the best I'm aware of:

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


Is Quality Assurance still relevant with Agile Development Processes? - vpsingh
http://99tests.com/blog/is-quality-assurance-still-relevant-with-agile-development-processes/

======
vpsingh
as more and more software development teams move toward Agile, with multiple
deployments of the code into production system each day, do we really need
Assurance of the software functionality?


New York to Discard Prescription Pads in Digital Shift - esturk
http://www.nytimes.com/2016/03/15/nyregion/new-york-to-discard-prescription-pads-and-doctors-handwriting-in-digital-shift.html?hp&action=click&pgtype=Homepage&clickSource=story-heading&module=mini-moth&region=top-stories-below&WT.nav=top-stories-below
======
esturk
"New York is the first state to require that all prescriptions be created
electronically and to back up that mandate with penalties, including fines and
imprisonment, for physicians who fail to comply."

The benefits are less fraud and errors. The drawback however is that patients
will need a primary pharmacy at all times and there may be issues with going
to another pharmacy for pickup which requires another confirmation from your
doctor.


Ask HN: How Do You Come Up With Blog Post Ideas? - lemcoe9

It seems like every one in technology has something to say, and many of them have their own outlet for saying those things (that end up getting posted on HN!)<p>What is your source of inspiration for deciding what to put on digital paper and share with the world?
======
namenotrequired
I don't blog a lot so far, but I do have a list of possible topics somewhere.
I tend to add to it when:

\- I feel like I've come to realise something new (for me) that others might
find insightful too. These don't turn into blogs often, but it's helpful to
have it written down somewhere nonetheless.

\- An opinion of mine keeps popping up in my mind and I feel it would be
relevant to others.


Show HN: NBA Games Played vs. Games Above .500(source in Comments) - cmpolis
http://www.bytemuse.com/post/nba-games-played-win-record-vis/
======
cmpolis
source: [https://github.com/cmpolis/nba-seasons-
vis](https://github.com/cmpolis/nba-seasons-vis)


Resilient Web Design - robin_reala
https://resilientwebdesign.com/
======
aesthetics1
For a book about web design, this surely is poorly designed. I can't resize
the text with my built-in browser zoom to make it comfortable to read.
Everything seems to be based on the size of the browser window.

~~~
pkinchla
It uses viewports units for type sizing. You can always turn off CSS

~~~
simlevesque
> You can always turn off CSS

Yeah but that kinda obliterates the whole point of reading something about
good design.

~~~
pkinchla
Not trying to troll but good web design is about a lot more than CSS.

~~~
simlevesque
I know but I'm not talking about CSS, I'm talking about: try to read your own
website before releasing it.

------
simlevesque
Stupidly unreadable. The rest must be bullshit if they can't get "readable on
a desktop" right. It's literally the most important aspect of a web design.

Here's a screenshot for posterity:
[https://s29.postimg.org/5tx77lset/unreadable.png](https://s29.postimg.org/5tx77lset/unreadable.png)

~~~
Raphmedia
How is this unreadable? Are you unable to read after a certain size?

I am not a fan of their design but it's not really unreadable.

~~~
simlevesque
It's unbearably hard to read. I might do it if my life depended on it.
Otherwise it's nothing but torture.

eg: You need to scroll down a whole page after just 4-5 sentences.

------
jackreichert
Looks like he read these comments, it seems to be resizable now (chrome).
People can be pretty brutal here sometimes.

~~~
bebe3000
Why is pointing out that it is unreadable brutal? You know what's brutal? The
h2 tag that covers half of my screen.

------
JorgeGT
The design I don't know, but the hosting doesn't seem very resilient.

------
at-fates-hands
The design and font seem a bit. . large? I'm on a 27" monitor and I could
stand back 10ft from this and still read it. Is this a thing now in Web
Design? Do we need to make every font 36px and up?

My only other gripe is the jolting red and white hover states. You get this
nice light blue that's pretty easy on your eyes then BOOM! super bright red
hover.

I downloaded the PDF and will read later.

~~~
fny
I think this was intended for mobile devices. It's formatted beautifully on my
phone.

------
intjk
So... plenty of comments about font size. What do y'all think about the actual
contents of the book? I've looked through it a bit and seems like an
interesting concept--understanding why certain decisions were made in the
history of the web, and extracting "resilient" design patterns out of those
decisions.

I'm reminded of the first Feynman lecture, explaining how physics was
discovered through a historical lens. I find it immensely helpful. Hopefully
this web book is helpful as well!

------
metaloha
I have to agree with some others here - on my larger monitor, the text is far
too large to be easily read. The large spacing between letters and lines,
combined with the excessively large body text is just causing eye fatigue, and
I literally can't be bothered to pop an aspirin and keep going.

That said, it looks great on my phone.

Maybe there should be a maximum size on the text, or on the width of the site
itself, to keep it in that "readable" zone. I want to read it at my desktop,
but literally can't right now.

~~~
metaloha
For example, changing the font-size calculations at widths greater than 50em
could use 80vw instead of 100vw. At 60em go to 70vw, and at 75em use 55vw.

------
dsego
I believe the QWERTY layout origin mentioned in the first chapter is a myth.

[http://www.smithsonianmag.com/arts-culture/fact-of-
fiction-t...](http://www.smithsonianmag.com/arts-culture/fact-of-fiction-the-
legend-of-the-qwerty-keyboard-49863249/)

------
sledgehammers
I really like the design and the big font on my screen (1440x900). I find it a
joy to read.

If there's a lot of text and the font is relatively small, I usually end up
just quickly skimming the content or have to zoom the page a lot.

------
cryptarch
Resilient to what, reading?

It's a "history book" about web design, in case you're thinking it's anything
to do with resilience and thus find it interesting.

------
achairapart
TL;DR: React is the new Flash.

------
KevanM
That font size makes it so hard to read on a big desktop.


How to Write a BitTorrent Client, Part 1 - networked
http://www.kristenwidman.com/blog/33/how-to-write-a-bittorrent-client-part-1/
======
cheatdeath
I recently went through the same thing – building my own simple BitTorrent
client, mostly just due to curiosity about how the protocol works. There were
some tricky parts, most of which are outlined in this but I found the
underlying concept so simple. I guess simplicity is a requirement for scale
and resilience.

I wrote up my adventure too:
[http://seanjoflynn.com/research/bittorrent.html](http://seanjoflynn.com/research/bittorrent.html)

------
zielmicha
For "Writing BitTorrent Client" workshops I've made, I have created
"introductory" tracker and peers (they, for example, display friendly errors
if you make invalid protocol requests):
[https://torrent.zielmicha.com/](https://torrent.zielmicha.com/)

The source is on Github: [https://github.com/zielmicha/torrent-
workshops](https://github.com/zielmicha/torrent-workshops)

(unfortunately you need to register before using it, but you can even use fake
mail)

------
allenkim6
If anyone is interested in a similar writeup for a bittorrrent client for
node.js, check out my tutorial here:
[http://allenkim67.github.io/bittorrent/2016/05/04/how-to-
mak...](http://allenkim67.github.io/bittorrent/2016/05/04/how-to-make-your-
own-bittorrent-client.html)

~~~
siculars
Love! Thanks!

------
SlashmanX
Feross has some great implementations of the different pieces of BitTorrent
(including parsing torrent files, magnets etc) in JavaScript on his GitHub[0].
Would recommend people take a look if they find this blog post interesting.

[0] -
[https://github.com/feross?tab=repositories](https://github.com/feross?tab=repositories)

------
andreicon
this is actually pretty cool. i think cryptocurrencies could benefit from the
implementation of some design features from the bittorrent protocol.

------
joeblau
This is something that's been on my list of things to do for a while and I've
never gotten around to it. Thanks for this post.


Can vegans stomach the unpalatable truth about quinoa? - riffraff
http://www.guardian.co.uk/commentisfree/2013/jan/16/vegans-stomach-unpalatable-truth-quinoa

======
westicle
If my startup was selling a product which was so successful I couldn't afford
that product myself, it would be a good problem to have.

I don't understand this article. Either Bolivian farmers want to sell their
products for the best price they can get (in which case more power to them) or
they want to subsidise their neighbours' quinoa-based diet. This is a simple
question of utility. And I can't blame them for choosing to bring more net
value into their country by exporting a prized foodstuff to richer countries.

I'm sure the USA would be happy to trade them comparatively low-value corn or
wheat to quinoa. Am I missing something?

------
bonesskier
The author, Joanna Blythman, has a grudge against vegans for some reason. I
don't think she actually cares about bolivians, she just wanted to blame
vegans for something, no matter whether the accusation is correct or not. She
is even blaming vegans for deforestation which is actually caused by meat
consumption. Go figure.


Harvard student database hacked, posted on BitTorrent - vegasbrianc
http://www.news.com/8301-10789_3-9893174-57.html?tag=cd.blog

======
henning
Harvard (Haaahvuhd): we might leak your personal information, but at least we
never use dangling participles in sentences.


The 90-9-1 Principle - mef
http://en.wikipedia.org/wiki/90%E2%80%939%E2%80%931_principle

======
michaelpinto
Ludic fallacy: <http://en.wikipedia.org/wiki/Ludic_fallacy>


The One Question to Ask Developers Before You Make a Hire Decision - DustinOfDenver
http://thinkingcollective.com/2015/07/14/the-one-question-to-ask-developers-before-you-make-a-hire-decision/
======
kabouseng
What about young developers who haven't done any side projects, just trying to
skill up at their company or spent all their time graduating?

What about older developers who worked before Github and so had their own
projects dissolved to obscurity?

What about developers who don't do side projects but give 120% to the company
product, even at home? (Some of us actually enjoy working on the products we
build during the day :D )

You'll get exactly the same mileage by just asking the potential hire to tell
you about something they built - full stop. You'll be able to gauge passion,
if they actually did the work, how it solves a problem. You just won't be able
to play with it, but I suspect the minimum of side projects is in any case
live, and more about scratching an itch.

And even with non-disclosure agreements etc they'll be able to tell you enough
of the technology to be able to make a call.

~~~
DustinOfDenver
"What about developers who don't do side projects but give 120% to the company
product, even at home?"

Excellent point! I would hope that would be the response to the question... It
would still provide the value the question seeks.

------
rm999
I've built up a solid work-life balance with an amazing girlfriend, a wide
variety of interesting (and close) friends, and some cool hobbies. I'm content
with not being considered by employers who don't respect that.

------
VikingCoder
I've been a paid, professional software developer since 1995. In all of that
time, I've been between jobs for a total of 4 weeks. And during all of that
time, I've had employment contracts that said my work was for-hire, and the
company owned all of the software that I wrote, even on my own computer on my
own time.

So, the answer to your question is, I haven't written anything I can legally
describe to you without permission, since 1995.

Is that seriously the ONLY question you want to ask me?

~~~
DustinOfDenver
Your description of the companies you worked for - tell me a lot. Not that you
are not a great developer, but the types of employers you like and filter you
use to select your next job - that too is important.

~~~
VikingCoder
So then the title should be "One of the Questions..."

------
circlefavshape
/me sighs

Come _on_. Isn't this getting old for anyone else? Do you check if your
dentist goes to dentist meetups, or extracts teeth in his spare time? All
you're doing with this question is asking "are you one of us".

~~~
gommm
Yes I definitely do check if my dentist go to conferences, presents or
teaches.

Ever since a dentist fucked up and caused me a lot of pain and to spend a lot
of money to fix the damage, I've become very careful about how I chose health
care professionals. And while I don't know enough about dentistry to judge
seeing a dentist go to conference documents himself on the newest techniques
and teach or present at conferences is a good signal to find out if he is
good.

There are people who are passionate about what they do and they are people who
don't care all that much in almost every case the passionate ones will be
better.

~~~
falcolas
You missed the important part of that statement, the "in their spare time".

Learning and practicing on the job is one thing, expecting it in the remaining
1/3 of your life is too much.

~~~
DustinOfDenver
If you LOVE something - you do it in your "spare" time. That was the core of
my point. I will take a dentist, butcher, developer who LOVES their work in
such a way that the line between work and fun is blurred over someone who is
working for the weekend - any day!

You can be a fine developer who just clocks in and out. But if I had a choice
(and sometime I don't). I would choose the guy who loves what they do and does
it in their "spare" time.

------
jawns
"It would be useful to keep a diary, but I don't like writing unpaid. I don't
like writing checks without getting paid."

— Christopher Hitchens, 2010

I understand the rationale behind asking what you've built without being paid,
but if you're hoping, by that question, to identify people who are really
smart ... then isn't it really smart to figure out how to get paid for your
work, rather than doing it unpaid?

~~~
DustinOfDenver
That is why I don't ask for "open source" contributions. Ideally, the
candidate built their project to make money!

Christopher Hitchens- "Long describing himself as a socialist and a
Marxist..."
[https://en.wikipedia.org/wiki/Christopher_Hitchens](https://en.wikipedia.org/wiki/Christopher_Hitchens)

I am a hardcore capitalist so he need not apply for my gigs :-)

------
anders30
In my experience interviewing candidates, cultural fit largely outweighs other
technical merits. I try to keep this in mind when I'm asked for my opinion.

While the questions in this article appear biased towards a 60/40 work/life
balance, I would say they're spot on in detecting a very specific cultural
fit. If nothing else, these questions would get a candidate talking. They're a
little on the aggressive side for my interviewing style, but I imagine they're
quite effective.

Keep in mind, the job candidate should also be interviewing the company. If
someone were to ask me what unpaid work I have done in the past, I would
consider the cultural ramifications of the question. In this case, I would
need to be okay with an aggressive internal culture.

Come to think of it, it's important to realize that when you interview
candidates you may very well be the first impression of the company. Articles
like these offer a glance of a company/interviewer without having to go
through the trouble of applying.

I would really like to find a way to study the effectiveness of interviewing
styles. I wonder what metrics would even apply?

~~~
DustinOfDenver
Great comments! I agree. A number of commenters have said, I would not want to
work for a company like that and I think that is good. Who wants to take a job
to, only 6 months later, realize they did not like the culture.

However, the point about 60/40 work life balance is not 100% accurate.

I am constantly reading Product Management literature not for work - but
because I love it. I am finishing the Disney Biography because I love learning
about leadership styles. In other words, I do a job that complements my
"spare" time activities... and ANYONE who manages that is a good hire.

This is not to say - go to these things FOR work - that is not the gal/guy I
am looking for. You should not do things FOR work that you are not paid to do
(that is not fair). But, if you love the work you do and that extends into
your life - all the better.

~~~
anders30
My statement on the 60/40 work/life balance was a conclusion based on my own
bias, which I forgot to specify.

Thank you for your feedback! You are correct that the best hires tend to
pursue employment that complements their "spare time activities".

------
scarface74
My answer to that question would be, when I am at work I give 120% of my
effort to my job. I build skills and I do research the latest trends in the
industry. However I believe a good work life balance is important. When I
leave work, I spend quality time with my family and at the gym.

When I was looking for a job eight months ago. I had interviews with 10
different companies in the course of three weeks. I was not offered one job
probably because of the attitude I expressed above. I accepted a job where the
manager emphasized his belief in a work life balance.

It's a buyers market for qualified experienced software developers. I won't
jumped through unnecessary hoops to get a job.

------
mratzloff
> What are your interests?

> you don’t care that they like cats – what you want to hear: they love their
> hoodie and their code

Well, speak for yourself. I look for people with outside interests beyond just
programming. If the only thing they have going for them is their code, their
ego and emotions are way too wrapped up in what they produce. They can't take
criticism about their work as well as someone who has other things going on in
their life. I'm not saying passion is not valuable; it is, but there needs to
be a balance.

I understand that hiring someone with no life or interests outside of code and
your company is a great way to build a cult, but a great way to build a
_company_ is by ensuring that it has a culture. That happens by hiring
interesting people that have shared values _and_ outside interests.

~~~
WorldWideWayne
It sounds like everything is just black and white for you too though.

I assure you that it's possible for someone to only have one great passion
without being an egotistical narcissist.

~~~
DustinOfDenver
My hope that someone who is passionate - cares more about building the best
product they can (than even I do). As a result, they should welcome "valid"
criticism.

------
lotsofcows
The one question to ask interviewers: "Do you ever use the word 'passion' to
refer to anything other than sex?"

...I'll make an exception for religious feelings too.

------
IgorPartola
This one weird trick to hiring great developers.

The manager asked the job candidate one question. You won't believe what
happens next.

Startup hires an unemployed developer. The reason will shock you.

Sorry, I couldn't resist.

~~~
pc86
When I read #1? Wow.


Swift 2.0: Understanding flatMap - ingve
http://natashatherobot.com/swift-2-flatmap/

======
johntyree
And the functional programmers of the world collectively sigh...


Ask HN: KDE vs. GNOME, which is better? - Scott_MacGregor

Which of these two do think is better, and what makes it better?
======
jamesbritt
Better for what?

I like kde3 over gnome for assorted config options (like different backgrounds
on each desktop) but maybe that makes no difference to others. On the other
hand kde4 copies the most annoying ui features of Vista so I avoid using it.

These are also not the only windows and desktop managers, so why is the choice
between those two?

~~~
makecheck
Yes...for instance, I've always used Window Maker on Linux.

------
r11t
Gnome-Do which in-spite of its name works with both Gnome and KDE is basically
a Quicksilver inspired launcher : <http://do.davebsd.com/> is the perfect
power tool for Linux Desktop users.

------
jcapote
WindowMaker