jkeisling/hacker-news-corpus-2007-2022 huggingface dataset:
Academia.edu | https://www.academia.edu/hiring

Full Time Generalists and Front End Engineers | Downtown San Francisco (near the Montgomery BART Station)

We have a very agile group of 12 engineers at Academia.edu in Downtown SF. I joined them because I really respect the problems that they are working on. Are you aware of how inefficient, inaccurate, slow and costly, scientific publishing is? In fact, the vast majority of peer-reviewed scientific research that gets published is actually not reproducible. Imagine a world where scientists can share their research more quickly, obtain greater peer-review coverage, and innovate faster. I joined because I wanted to contribute to building this disruptive Open Science platform.

Below you can find some more info about the company and the general mission of Open Science below if you're interested in the subject.

The tech stack here consists of Rails, Coffeescript, Backbone, PostgreSQL, hosted on AWS. I'd like to tell you more about our team so ping me at ashley@academia.edu so we can set up a quick call.

Ashley J.

More about the company:

According to EdTech Magazine we are tech underdogs who are “key disruptors among open-access publishers.”

http://www.edtechmagazine.com/higher/article/2014/06/open-ac...

And we are viewed by Wired as “a key player in the movement toward open access scientific publishing.”

http://www.wired.com/2014/07/incentivizing-peer-review-the-l...

We have 15MM users who support our mission and we are growing 10% per month. We are financially backed with $17MM by top VCs including Khosla Ventures, True Ventures and Spark Capital.
I don't agree with the law being passed, but what bothers me is the selective discrimination and hypocrisy that seems to be going on these days.

The ex-Mozilla CEO was bullied and forced to resign after donating a small amount of money years earlier for a cause he believed in.

The anti-gamer gate leaders (I will not name them here) also regularly bully, silence, and discriminate against anyone with an opposing view point.

I also regularly follow contributors and members of a few Javascript frameworks. It's not un-common for me to see homosexual and penis jokes posted on their timelines mixed in with content about frameworks and Q and A. It seems to be accepted because the majority of the people posting these comments are openly gay. Any disapproving comments regarding these jokes are immediately discounted as being anti-gay and inflammitory.

Many of those same people were outraged when a female overheard a couple of males telling each other a dirty joke at a tech-talk a few months ago.
Both portable cell phones and PDAs existed 10 years ago. The smartphone was a logical extension of those paradigms. AR Glasses (for lack of a better term) are still very young.
It's an interesting idea. Will GoPro someday evolve to a "Google-Street-View-esque" camera that sits atop your head and records your entire world in real time. The with Oculus Rift, populate a view so that you can look wherever, which would things like the video in the article less disorienting?

The future sounds crazy.
Some provider (like NTT) also offer MPLS lines. The company I work for rents one which goes directly to Europe. Those are also not affected by the firewall and in general much faster than normal VPN setups.
True. What most people are complaining about is that it's dynamically typed, not weakly typed. That's where most of the confusion sets in.
Breaking news: putting locks on your doors leads to 'unethical' practices by burglars ...
For fuck's sake, the creator of M.U.L.E was Danielle Bunten. You'd think a site focused on video game history would do the research on this.
In my humble opinion it makes sense. At least in this direction, when (seemingly) JS code is generating the presentation layer (HTML in this special case).

In contrast to Angular where we're told to put logic in templates (or just HTML files) it looks a lot better.
> Do people generally write tests for these components?

Sure. React even ships with testing utilities to make that easier: http://facebook.github.io/react/docs/test-utils.html

> I'm wondering how the marrying of presentation and logic affects that.

Depends on the exact component. For pure components as part of bigger applications it's really quite easy, just render the component with a known dataset and see if it's got everything where things should be. Then again, that's similar to testing templates… most people don't really test their templates.

For self-contained "widget" components things are a bit harder, it's similar to testing DOM-based widgets really.
"What do you mean, does this big sign that says 'take off your belt' mean that I actually have to, you know, take off my belt? And this form that says 'are you carrying any fresh fruit on you', I didn't think that would apply to this orange in my backpack because, you know, I didn't see anything wrong with it!"
How do people feel about the BEM naming scheme for CSS rules? It looks like overkill when used with a preprocessor but I haven't actually taken time to try it yet. I also find myself absolutely turned off by the idea of a class that mixes underscores and dashes.
Agreed, unfortunately my router does not give me this data, so I have to go device-by-device. I'm hoping the UniFi Dream Machine will solve this both by allowing me to throttle, and giving me the data to address individually.

I did install a firewall/data logging app on a spare Amazon Fire HD8 and found it downloaded several hundred megabytes of advertisements over a week's time despite sitting in a drawer unused. That was an easy fix.

Another glaring data hog was an Amazon FireTV stick which was set to the highest quality.

Overall it's been an eye opening experience to see how many devices consume bandwidth with no regard for optimization or giving users control.
It is one and the same.

What's more is that it isn't some sort of ironic twist of circumstances, it's just that there aren't a lot of organizations you can call for that kind of work at scale.
Sometimes. It depends on the day, time, location. Many things. A website may be blocked today but not tomorrow. Even gmail (web interface) worked on SOME days. It may be blocked in Shanghai but not in Beijing and vice versa.

Port 443? Good chance if you have you own IP address that it works most of the time so so. But I have a 50% packet loss. Facebook and google (?) rarely worked over ssh.
The tone of the post is pretty offensive, yes.

But I've noticed a pattern, which is that folks who talk a lot about using these tests talk in this rather offensive way. It makes me think that companies that start off with these test have somewhat abusive attitude towards their employees - "we don't mind making you jump through hoops so we don't have to". Might not be a signal this is a great place to work.

Maybe the company could promise to solve a puzzle I submitted if I solved their puzzle? It might seem fairer.
Android is the killer app.
Right, as a front end shop, we have found that having the two disciplines segmented works very well. We find the best artist we can find and task them with developing a PSD to deliver to the UX team.

We get people that are really, really good artist and that is what we want from them a good artistic comp. Trying to force them to cross the bound to writing HTML and CSS that will be used in a complex web application adds additional constraints to finding talented people.

In that case we would need an exceptional artist that can write HTML and CSS that is componentized so we can bust it up into widgets, if not we accept sub-par HTML for what we need. It limits the pool of talent.

Now conversely if we only require a comp we broaden our pool of truly talented people. Further when we go to look for good browser app UX developers, we don't put the constraint on them of being an exceptional artist. Just finding someone who is versed in Human Factors, HCI and interaction that can produce clean reusable code is hard enough, throw in top 10%er artistic skills and you have really constrained the market.

Instead of fighting those market realities we work with them. We hire artist to do art and developers to develop. It works out well because each are exceptional at their core competencies. It also works well because we can hire freelance artist on a per project basis therefore maximizing out investment in art instead of trying to force an artist to do HTML to keep them busy on the pay roll.
The XBox was born of the fact that it used to be an incredible pain in the neck to get PC games running on your custom hardware. That and the fact that custom hardware evolved so quickly that programmers could barely target a given class of GPU before it was obsolete.
Once you file suit, it's the process server's job to get ahold of you. They have less restrictions. And you can tack on court costs to the suit you bring -- and then use the grievance you win to garnish their wages.

It sounds easier than it looks, but that's how you get your money as a debt collector. The ones you can't find are probably just as like to be no shows in court. Once you have a greviance, it's easy to garnish. All that involves is contacting their employer.
Okay, it's good to see some backup on this - I got downmodded to hell the other day for even suggesting that Android was fragmented:

http://news.ycombinator.com/item?id=1917559

To be fair, my example sucked and I totally did misunderstand the Netflix issue. But I was right on the basic fragmentation problem, dagnabbit! =)
My last internship in college involved working on thermostat systems for Honeywell with a bunch of people who had been there their entire professional careers. I didn't have much interest in becoming a lifer and ended up interviewing with a couple other companies, including Microsoft.

I interviewed for a Program Management position in the Visual Studio group. My first interview was with the Design Manager for the VS product line. Her final question for me was about building an effective temperature control system for a new house. I launched into a 5 minute analysis of the advantages and disadvantages of a wide range of HVAC systems, obvious ramifications from open floor plans, and so on.

A month later, we sat down for lunch as co-employees for the first time, and I told her the whole story. She got a big laugh out of it. I guess she didn't realize that's what I'd spent the last few months working on.
The problem is that some hardware can't handle the way they wrote the code.

Um, that's the definition of fragmentation.
The latter half is true, I think.

But I’d say there’s a significant chunk of folk* who will not hit on people they know are in a relationship. In the first month of your subscription this probably won’t have an effect, but by the sixth month...

----

* This is obviously very cultural - who and where you are can change this a lot in either direction I imagine.
Just an interesting sidenote. It does feel like the letter is shorter than it used to be, so I plotted the number of pages by year in the PDF fils on their site. Looks like there was a decrease from 20 pages to 15 starting in 2017.

Graph:

https://imgur.com/a/TQ2oewY
Problem is, binary computers have decades of R&D and supporting infrastructure. A lot would have to be retooled for trinary; you can't even power the chips in the same way. Not to mention the surrounding technology such as RAM and bus architecture. You're essentially starting from scratch in a few ways. I'm not saying it couldn't be done, just that it would take a lot of years and a lot of money to get it up to speed.
do you have a list for that? i am aware, that there are dialects and {table,trees,graphs}<->{table,trees,graphs} may be a problem for some languages, but having it at least would be a progress.
@tovej:

I concur, no one can be told what the Matrix is. You have to see it for yourself.
Many engines have scripting languages allowing modding using full turing complete languages rather config files LUA is a common one in games.

Its kinda like the config file vs code as config debate. If I where modding something I would rather have a full programming language than just a config file, but the config file does make it easy to do simpler things without breaking stuff, the more complex the config becomes the closer to a full blown DSL it is and you might as well just use a mature scripting language instead.
This is a good post and technique in general.

I used to use it extensively in C++: beware though of (super long) compile errors while nesting them through templates params. :)

Edit: I was wrapping pointers for instance to not mix GPU and CPU memory addresses, to define a unidirectional flow of memory transfers between devices (and avoid manual synchronisation and tracking)... etc.

You could somehow define a state machine through types and ensure compositional coherence.
https://en-gb.howareyou.com/jobs/ror.html
Sure, but "growth" isn't some physical thing that the very wealthy might have stolen. "All the income growth has gone to the very wealthy" means the same thing as "Income growth has paused, with an exception among the very wealthy".
This line of research has interesting implications for moral philosophy.

If the degree to which we are able to resist our impulses is partly determined by our genetics, does that affect our level of moral responsibility for our impulse-driven actions?

Or does it merely mean that people who are more "at risk" of having poor impulse control because of their genetics have a moral obligation to recognize that fact and take measures to combat the deficiency?

For instance, if I know that I have relatively poor impulse control, should I ask my spouse to handle our finances so I don't blow all of our money? And if I fail to do so, is that the moral failing I'm responsible for, rather than the moral failing related to making impulsive purchases?
If I have a doctor's appointment in the middle of the day, I might add it to my personal calendar with full details, but I still need to add an entry to my work calendar to show I'll be out of the office, possibly with a generic title like "Medical Appt".
that sounds like an idea for a startup, lazy people can hire for free people that enjoys mounting IKEA furniture
Sure. But people who think the status quo is not bad are unlikely to petition for it. So there seems to be a selection problem here.
Well, the executives making the outsourcing decisions still have their paychecks and people who own stock are reaping the profits from cheap labor. It matches the gp comment's description of events just fine.
https://overcast.fm/+KebsDhWec

Great Tim Ferris podcast with Michael Pollan that goes into the details on this subject.
Yup. Those were power-hungry times, without deep sleep modes, or even useful hibernation. Heck, most machines then didn't even bother to reduce clock speed when idle.
Of course it is heritable. The uncomfortable question is if its genetic.
Your solution to an application using HSTS isn't just to punch it straight through the proxy, but to sell the device?
For what it's worth, GPS works because the satellites are broadcasting signals to earth, not your phone to space.
"As an ex Perl guy (well I still use it sometimes), I find append and extend an endless source of confusion in Python. Especially as strings do the opposite of what I expect, and get treated as character arrays with extend (or was it append)."

list.extend(data) works like "for item in data: list.append(item)"

strings (str) do not behave differently than a list or a set. Try .append() on a list or a set, you get the same behaviour.

Maybe your confusion comes from the fact that strings are immutable in Python, and a list is not a string.

You may like bytearray() in Python 2 (bytearray.append raises an error if you pass a string longer than 1 character), but there is not mutable type for Unicode strings.
Here it is on the creator's website instead of a lame blog post: http://idav.ucdavis.edu/~okreylos/ResDev/Kinect/
This is pretty much my conception of when cyclists should be using the sidewalk instead.
> high school

Luckily we've seen enough US movies to know what that means, kind of :)
>really smart type inference

Are you calling php's chaotic mess of type juggling "really smart type inference"?
Thanks for your response!

In the case of conversation, I feel as though being lost is counter to a equanimous and relaxed conversation. For example, I may disagree with with the other party, and become overbearing. Or I may feel uncomfortable, a mind racing, and unable to relax into a conversation. These I recognise in hindsight, but not in the moment.

Programming may be harder to articulate, perhaps posture is analogous? Maintaining good posture while being lost in programming. Or being mindful of my shortcomings as a programmer while typing.

Though being “lost” in an activity does resonate with me, and appear as a positive. So I wonder if there are different strains of “lostness”. Some helpful, and others not.

A man lost in a moment of road rage is surely not doing right. Nor is one who neglects or doesn’t value the needs of a loved one in the moment.

How do you view these different forms of being lost?
I think if you procrastinate at the office you have less of a bad conscience when you head home.

OTOH when you procrastinate at home you end up working late to make up for it.
Quite a bit of work has indeed gone into the language, and what has been accomplished is no mean feat, but the myriad open bugs [1] around core features of the compiler do not inspire confidence.

It'd be better if the documentation reflected that the language was in an alpha state rather than touting stability guarantees etc.

[1] https://github.com/vlang/v/issues?q=is%3Aissue+is%3Aopen+lab...
Notice that if I make this alleged "List" with a single data item in it, my data lives in the List object I just made (probably on the stack), but an empty List gets allocated on the heap.

I thought Aria's "Entirely Too Many Lists" tutorial actually tries to build this, but it actually doesn't, she draws you the resulting "list" and then is like, OK, that's clearly not what we want, let's build an actual (bad, slow, wasteful) linked list as our first attempt.
>Does Perl, Python or Ruby have built-in automatic escaping and sanitization?

No, of course not. That's very much the point. PHP's broken attempt at that created security holes.

>On top of that all three of those languages require additional setup

No they don't. It is just that someone else has already done the setup for you with PHP at most cheapo hosting companies. Installing python is no harder than installing PHP.

>(Especially Ruby with RoR shudder)

You are comparing a framework to a language. Rails is no harder to setup than any of the PHP frameworks like zend or symfony.
Basically no long distance trail is created from scratch. They link together existing trail networks, negotiate agreements with private land owners, use roads as needed, and sometimes just have gaps. That's the case for both hiking/walking and cycling (although cycling trails are probably much more likely to include road stretches).
Its worth noting that the companies that decided to not do this are not huge megacorps, so there is an argument to be made that anybody who isn't aggressively chasing engagement just can't get a seat at the table anymore. Am I mistaken about that? This sort of makes it a systemic problem, not necessarily a problem that a company leader can solve. Eg, not even Google+ with all its resources was able to dislodge Facebook.
The inaccuracy is that people who normally had their vote suppressed were able to bypass the voter suppression efforts this year and turn out. This caused statistical anomalies like a lot of inner city people actually voting for a change. This is why you see many states with Republican legislatures racing to tighten mail in ballot restrictions before the next election.

Who would have thought that people would vote if it didn't require you to stand in line for two to three hours during a workday?
That's what you get when the SCOTUS dismisses the case by one sentence without looking into those affidavits. Those 72 million citizens that supported and approved of the formal court hearings and wanted investigations to happen are not silent servants of those who sit in the Capitol building during normal days. When the due process is ignored by one side, another side has a full right to demand the due process by acting physically. They have this right granted to them by the US Constitution, which is above anyone in the Capitol building.
A similarly garish subculture exists in Japan:

https://en.m.wikipedia.org/wiki/Dekotora

I've never seen one on the road though. I wonder if it's just a car show kinda thing.
This argument only works if you ignore the voters who were improperly purged from the voter rolls for having the same or similar names as convicted felons.
Nah, any form of mass communication works. Newspapers (and other written publications) started plenty of wars after the printing press was invented, radio caused a few social experiments starting in the 1930s, and TV starting in the 60s.
While Google's customers ARE the advertisers and their first priority is to make sure they are protected, Google would sit up and do something if more website PUBLISHERS would complain. It's a business.

However, as a practical issue, I fail to see any practical reason to disable the guy's revenue from YouTube videos, based on clicks from an unrelated site. Just stop counting the clicks on the site, Google!
Good point. With thousands of dollars at stake one ought to be able to speak to a human and have a reconciliation process.
A couple of reasons:

1. The pragmatic one - our current web server doesn't require hacks like that, so there's lots of existing code out of our control that would break.

2. The pedantic one - at Urban Airship we try to offer as standards compliant a RESTful HTTP API as possible. Asking our users to work around shortcomings in our system is something we avoid as much as possible.
Are you saying English and Chinese are both exactly as easy to learn, write, and read?
User, as in programmer who uses the library.
SEEKING WORK - London or Remote

JavaScript / Node

http://cv.myles.io
https://github.com/mkrecny
https://twitter.com/recborg

mkrecny [at] gmail [dot] com
As with most vaporware, this date keeps getting pushed off. It was originally scheduled for 1997.
Of course any evidence of that would break any confidentiality agreements that were surely put in place when stepping down from Google.
Thx Steve :)
This is ridiculous. The author has a long and excellent record fighting against software patents. On a couple of occasions his analysis may have been an error, but I don't think he's ever mis-reported anything. You comment is just FUD.
I don't see how this contradicts what I said, which is that some AGPS implementations require assistance in order to accurately determine your location. Not every AGPS device can map radio signals to a lat-long; some can only do that with assistance.

It also lists some ways that various implementations require assistance:

Assistance falls into two categories:

Information used to more quickly acquire satellites

It can supply orbital data or almanac for the GPS satellites to the GPS receiver, enabling the GPS receiver to lock to the satellites more rapidly in some cases.

The network can provide precise time.

The device captures a snapshot of the GPS signal, with approximate time, for the server to later process into a position.

Accurate, surveyed coordinates for the cell site towers allow better knowledge of local ionospheric conditions and other conditions affecting the GPS signal than the GPS receiver alone, enabling more precise calculation of position. (See also Wide Area Augmentation System and CellHunter and openBmap.)

Calculation of position by the server using information from the GPS receiver

The assistance server has a good satellite signal, and plentiful computation power, so it can compare fragmentary signals relayed to it