skysight-inc/HackerNews huggingface dataset:
I worked at Adobe for a bit over 2 years before joining Khan Academy last year. I left only because KA's mission resonates for me, and wouldn't hesitate to go back to Adobe.

I was working with a team of really great people who had all been there for years (IIRC 4 or 5 of them had been there more than 10 years) when I joined. Those people could certainly have gone elsewhere if they had wanted to.

Depending on what you're interested in, there is a lot of interesting work available. Adobe has two big product areas (Creative Cloud and Marketing Cloud) and a few other things that I don't think are put into those two buckets. Broadly, Marketing Cloud work is mostly web-facing frontend and big data backend kinds of work. Creative Cloud encompasses the desktop apps like Photoshop and the cloud services that connect the desktop and mobile apps (among other things).

It's a really solid company, good work/rest of life balance, generally sharp business people and technical people to work with. They're also really good at putting on events and I was fortunate to go to 2 Tech Summits (internal tech conference) and 2 Adobe MAX conferences (conference for users of Creative Cloud) in my time there.

The only "bad" thing isn't really a "bad" thing but rather something that I have mixed feelings about. I've mostly worked for organizations under 1,000 people during my career (KA is about 100). Big company scale makes a lot possible (like Tech Summit and discounts with some national companies, etc), but it also introduces various bits of red tape and occasional systems that feel outdated (Adobe is more than 30 years old!). That red tape never got in the way of getting products shipped, though!

Adobe's reputation is going to vary a lot depending on who you ask and what they're interaction with Adobe is. A huge number of people know of Adobe because of Flash or Adobe Reader update prompts. Most usefully, though, Adobe's customers generally live in Adobe products and have created workflows that let them get things done in a way no competitor does.

As SteveMorin says, your own personal experience will depend on your manager/team which is true everywhere. My own experience at Adobe was great.

(BTW, Khan Academy is hiring too ;)
A great option is to join a small startup that you find interesting. Small startups are great to quickly get exposed to a lot of things, to make a difference quickly, and see the results of your code in production faster. They are risky, but at the beginning of your career, that's actually a good thing.
Awesome. Really great to see this. Nice work to everyone involved
> When the Rust people say “always use the nightlies”, they mean ALWAYS use the nightlies.

AFAIK, the Rust people haven't said that for quite some time. There are still a number of unstable area (the most annoying to me being benchmarking) but by and large stable is very much usable.

In your case, the code could be simplified (and would work on stable) by using a bytes iterator (and an actual for loop):

fn main() {
let mut state = mkstate();
for it in stdin().bytes() {
update(&mut state, it.unwrap());
draw(&state);
}
}

replace a few `char` by `u8` and change key_dir to:

match input {
b'h' => Coord(-1, 0),
b'j' => Coord(0, 1),
b'k' => Coord(0, -1),
b'l' => Coord(1, 0),
_ => Coord(0, 0)
}

(I used unwrap because the stdin errors are not handled anyway, might as well panic)

edit: conventionally, when structures aren't "raw" they're initialised via a `new()` method, so `mkstate` would usually be `impl State { fn new() -> State { … } }`.

And derive(Default) is necessary because, well, you're using default values for your structs. From what I've seen that's mostly done when partial overrides of default value makes sense (`Struct { f: v, ..Default::default() }` will fill any value which isn't provided by whatever's in `Default`) which isn't the case here.

You could get rid of it by implementing initialisations explicitly, something along the lines of:

impl State {
fn new() -> State {
let mut state = State {
// or add a new() on them as well
position: position::State { objects: Vec::new() },
graphics: graphics::State { objects: Vec::new() }
};

mktest(&mut state, 42, Coord(1, 1), '@');
mktest(&mut state, 57, Coord(8, 8), '$');

state
}
}

I'd also suggest deriving Copy on Coord (makes the structure "pass by copy" rather than "pass by move", so you don't have to clone it explicitly).

And you could `impl Add for Coord` to replace `vadd(old_position, dir)` by `old_position + dir`

(I believe Rust code also tends to use more methods, but I'm guessing you like free functions).

You could also replace the inner State structs by type aliases, the struct doesn't seem to have much value, so

mod graphics {
pub struct State {
pub objects: Vec<Sprite>
}
}

=>

mod graphics {
pub type State = Vec<Sprite>
}

and remove the indirections through `objects` (and you get a "free new" on graphics::State and position::State as they're now just aliases for Vec<_>)
Are there any articles that i can read that discuss into this @lollopo25?
Being in the deep learning community, the number of papers appearing has been getting out of control. Most of the papers appear on arxiv and are of low quality. This is particularly problematic right before conference deadlines.

Karpathy's Arxiv-sanity helps a lot to keep in touch with the latest and greatest deep learning without having to spend all my time reading papers.
We can't keep expecting "employers" to solve problems like this because fewer and fewer people will have employers. Coase's theory of the firm explains employment as a way to reduce transaction costs—it's hard to find the right person for each task and negotiate a deal with them each time, so just pay people to obey orders and use them to get things done instead.

The technology we build is driving transaction costs closer and closer to zero. Fewer tasks will need firms to coordinate them—they'll be coordinated by the market instead. More people will sell their work directly to the people who want it.

The basic income approach can solve the living wage problem without relying on the employment relationship. Any energy we spend trying to get Uber to solve the problem will be wasted when we build ride hailing marketplaces that don't require an Uber to connect the rider and the driver.
Awesome. Nice work to everyone involved
Mystery widens as rare blood infection spreads from Wisconsin to Michigan
Another flowery buzzword for the same old technique (from judiciously using animation to draw and focus attention, to gratuitously abusing it to dazzle and titillate) is "cinematic interface". Of course like any flowery buzzword, different people have different takes on what it means, but here you go:

One concrete example from OpenLaszlo: there was a "cinematic" input focus indicator, so when you tabbed between controls in a form, it would smoothly fade in, animate over and fade out four corner chevrons from the current field to the next, to draw your attention and move your eyes to the next field in a form.

And of course it supported type-ahead: you could quickly press any number of tab or back-tabs, and it would continuously animate toward the current input focus.

I thought it was actually pretty nice and served a purpose, and was obvious enough that it didn't need any explanation, but yymv.

Here's a talk about OpenLaszlo that defined the term "Cinematic User Experience" (this was years ago so it all seemed so fascinating at the time):

Creating a Cinematic User Experience with OpenLaszlo:
http://webconf.hu/2007/program/i/openlaszloen.html

What is meant by the term Cinematic User Experience? It’s characterized by the following:

Continuous User Interface: By featuring fluid application state changes, rather than today’s standard page-by-page format, a Laszlo-enabled site helps users stay oriented and efficiently complete multi-step online tasks.

Universal Canvas: With the ability to view common media data types including text, video and sound formats seamlessly on a single “universal canvas,” users are able to work with integrated multimedia information displays without the distraction of separate playback software for each media data type. Furthermore, Laszlo enables a wide array of media types without requiring users to install additional plug-in software.

Real Time Information: Traditional Web sites only update information when a page is reloaded. Laszlo enables live data push into standard browsers. This real-time messaging enables Laszlo-powered Web sites to provide integrated instant messaging and real-time inventory or financial information displays.

Other people have used the same term in various ways:

Cinematic Continuity in User Interface Design:
https://medium.com/ux-design-1/cinematic-continuity-on-ui-de...

Cinematic Interfaces -- Film Theory After New Media:
https://www.routledge.com/products/9780415833158
For a new project I like to start by writing code that sketches out ideas of how the software should hang together.

TDD at this point is kind of wasteful because if you decide to backtrack or rework aspects of the design then you have to also rework all of the tests. I find that once the design begins to crystalize, adding unit tests at this point is valuable, but not necessarily in a 'test-driven' way.

TDD by itself, per se will not automatically produce a good design, and can often produce bad designs with huge proliferation of classes / interfaces that makes a codebase more complex and difficult to understand.

TDD is not the be all and end all that some commentators seem to believe.
I use FreeBSD for a fileserver because it has rock solid ZFS support. At least at the time I set it up (I haven't looked recently), neither OpenBSD nor Linux supported ZFS nearly as well.
I wonder if booths at trade shows still have curvy women dressed like hookers. In the "old days" (80's?) they were a fixture.
So this is like Hurd, right?
Yes, use more modularized components. This has always been good advice. Rolling all your own code is obviously a waste of effort and bug-prone.
My thought process went from
'Oh that sounds cool! ' too 'Ha, no' the instant I read the €3,000 projected price tag.
I feel like this is missing the point that "gender" in a questionnaire is not asking you what you think you are, but what you really are. There is a scientific definition of the word gender that is being ignored here.

And also yeah we could get rid of that kind of questions in "some" questionnaires, but for these kind of mass statistic tools this is interesting for example to see if females are paid less than males. I don't think people are interested in the .1% that is transgender as it will probably be too low to make valid statistics.
Yes, seems like more anecdote than reality. Reality is, you wouldnt just 'code an AI', and leave it running for the weekend, and then act all surprised when it has bugs in. You'd work your way eg through Sutton's tasks, like drive a car up a hill https://en.wikipedia.org/wiki/Mountain_Car , try not to fall off a cliff, http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node65.html balance an arm http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node110.htm... , and so on. And since these mostly learn really quickly, and ones initial implementation will be buggy, you wouldnt go away for a weekend and leave it running, youd just sit there running it for a minute or two, fixing bugs, running again, and so on.
The drivers are less important to Uber -- both in the short and in the long run (automated cars), the drivers are the expendable part of the equation.

Oh bullshit. The drivers are the face of the company. As in clean cars, professionally dressed, courteous. The only thing separating uber from a DC taxi is the app and the driver. I've had many good rides with uber drives who all said it paid more than their last gig. But already they were shopping around for other ride sharing apps that paid even more. Uber loses its drivers people use lyft.

And what's with the automated cars crap? It seems everyone is an expert and has a timeline on when they are going to rollout. 3 years, years, etc. is it an eventuality? Yes. But I wouldn't make business plans around it just yet.
openscap has been able to do this either on an installed system or on a chroot for years. But "containers", so it's all new and exciting, and definitely nothing like chroot/jails.
Open source telegram bot that reads live data from Google Docs spreadsheet
To get some sense of the arXiv submission growth: http://arxiv.org/help/stats/2015_by_area/index
Optimizing the Graphics Pipeline with Compute
Let's look at what someone would believe to also believe that sharing their salary is a good idea.

1. that if enough people share their salaries, it will cause salaries to revert to the mean, increasing the equality of outcome, independent of inputs.

2. that the data will be real, and not sabotaged or cherry picked.

3. that employers are somehow obligated to pay more than people are willing to work for, presumably just as you make up the difference from shopping at whole foods by paying the ethnic grocer an extra few bucks, because justice, and they're just so grateful, amirite?

4. People with poor negotiation skills, aka those who have less to offer, will make more money.

Yay, sample bias. Now I get to know what people stupid enough to share their salaries earn, which is useless, because if I wanted cogs with minimal value add, I could offshore the work for less.

Seriously, if an HR person ever used that site as a data point for why they made a crappy offer I would say, "yes, I can see that's what you would pay someone with a misunderstanding of how the world works for this job."

Put another way, if you have any doubt about whether someone is overpaid, don't worry, they'll tell you.
EDIT: The text you quote does not say that man / woman and male / female have different uses. There's nothing to say that male / female only refer to sex not gender.

If what you said is true (and it isn't) people would only need two questions on forms:

"Are you male or female?"

"Are you a man or a woman?"

This would make no sense and so we can safely ignore it.
You may have an off-by-one error. :)

Otherwise you're right - but all languages have sharp edges.

I'm using Go on my current project and I've gotten a lot further a lot more quickly and with better performance and reliability than I would have using Django, Rails, or Node.

Because I'm not in a hurry I thought it would be fun to write a simple custom server/router/middleware bundle around net/http without using any 3rd party packages. From a cold start it all turned out much easier than expected, and so far the whole thing is under 500 loc.

Being careful around a few sharp edges seems like a small price to pay.
That almost sounds like you have photographic memory. I do have a good spatial sense, and combined with a fairly decent memory, I can remember where certain things are, but if it's items I've never bought or looked at, I can't just bring it into memory like looking at a picture of it. I don't even really see the shelf, I just go to that spot on the shelf in my memory and think what was there. It's location only, I don't see anything.

When I draw something, I call up a shape from memory (more like a series of explanations of a shape rather than seeing the shape). Probably why I can draw simple things, and not always 100% the same way - I'm not drawing it from a mental image, I'm just thinking about the shape of something.

After reading this though, I'm amazed that people can visualize things so well and am kind of jealous. I've gotten by and other than not having a great drawing ability, it doesn't impact my enjoyment of books or anything like that.
Although a similar argument could have been made as societies industrialised, that once the value of farming work fell (which nearly everyone did), then there would be mass unemployment. It didn't play out that way.
Yup. I have never had much luck with support except sort of some big known problems or something where you can afford a lot of time. Most of the time you end up figuring out the problem or a workaround long before it gets pushed to some real engineer. And even when you diagnose the problem partially they will simply ignore you and ask rota questions and 5 days later give you the solution you have come up with in case they come up with one.
Global trade is very similar to the Music (and software) revolution that happened over the last 15 or so years.

The original creators of creative works were upset because free music, software diluted the value of the original work and it would make it more difficult to sell it in the future because most people would just get it for free. These companies essentially needed to compete against the same software/music they were selling, but free.

The same thing is happening now, but with jobs. Companies are going overseas for workers and Americans now need to compete over a worker that can essentially do the same job, for a lower wage.

Many people here have defended software and music piracy and even said things like "I wouldn't have purchased it anyway".

Well, companies "Wouldn't have hired Americans anyway". It's ironic that so many of those same people are now clamoring for government protection when they fought against patents and copyrights for so long.

Instead of complaining, you basically need to compete and offer companies something that they can't get overseas. This is exactly what the software and music industries have both needed to do to survive.
You can't really get a contract via an intermediary (an agency) as self-employed, as they're liable if you don't pay tax.

Having a Ltd also allows you to defer paying higher rates of taxes, avoid paying NIC (both employers and employees), and I'd say it's simpler being two entities.
Yeah. Congrats to Samsung in advance on their $860 million donation.
Swiss bank accounts of corrupted officials are fun to look at
The mobile app could easily just discover the local server and then throw a webview of the admin website.
https://lists.torproject.org/pipermail/tor-dev/2014-December... — for those looking for some critic of software before trying it
If I read this sentiment correctly, this means that any attempt to improve anything ("provide benefit") usually results in net negative. But I cannot imagine that this is the case. Can you elaborate?

For example, let's say I want to improve my car factory efficiency. I introduce a way to keep things running without delays on the production line. Would you say that this plan is futile too? Toyota might disagree.

Would you also say that accountants waste half of their time doing double-entry bookkeeping? Half of the transactions are extra in the same sense.

I mean, I understand your argument on the imperfection of any improvement plan, but this does not say much on the actual topic on hand. Should we discuss concrete trade-offs instead of general sentiments?
> But he doesn't. Because the benefits aren't higher, in fact they are lower (as is the case with every well-intended scheme in the history of anything.)

The benefits of X are always lower than any naive adopter thinks? That's quite a claim. Would you care to justify that? Heck, don't even worry about the general case, just explain it for this one.

I've been doing TDD for many years at this point. Right now I'm working on a hobby project where I was intentionally sloppy about testing, just to see how little I could get away with. The answer is: in the long term, I can get away with surprisingly little. But there's a lot of subtlety in exactly how and when the benefits come, and when exactly sloppiness is ok.

Given that I'm still learning about the benefits of TDD despite many years of practice and thought, I'd say there's no reason to think a novice would have a particularly good idea. Maybe their expectations are unrealistically low, maybe high. But more likely it's both and neither. Maybe one's very notion of "benefit" changes over time. TDD has certainly done that for me.
I am sure this has a lot of appeal for libertarians. One has to ask, though, can this system of law support a high-GNP economy, with high-efficiency complex interactions among strangers.
I thought it meant a filter for nonsense articles, but apparently arXiv is not very searchable anymore.
I should stop reading. I'm starting to believe that ignorance is indeed bliss.

Ignorance is only bliss until your well-intentioned life accidentally runs into a law you didn't know existed that is now too late to change.
Are you sure about the name?
Every company I've worked at has one or more test "engineers" who do nothing but install and run software on every release. I have always pitied them for their grueling repetitive jobs. Having said that, many are very good at isolating a problem to the point where fixing is easy and others say "this doesn't work".
Yes, but "consider" also implies a lot of things not so sinister. In that way, the discriminatory aspects you bring up are being euphemized and hidden within an otherwise positive or innocuous term.
This semester I am taking a DBMS course and the instructor works at one of NASA's NSSDCA center in South Dakota.

He mentioned in that class that, this NSSDCA center is in the process of moving away from Oracle to PostgreSQL. The transfer process is going on for over 2 years.

Even the book we are following changed their focus from Oracle to MySQL from recent edition.
Many people thing $10 is too expensive for a movie ticket, why would they pay $150?
Also:

- LLVM
- Arm support
- The handbook

I do envy OpenBSD's pledge() and arc4random() though.
"going public" means taking investment from the general public, nothing to do with profit level.
The `bytes()` iterator is stable and provides a stream of u8 (well io::Result<u8>) which is sufficient for what you want. I don't think there's a good way to decode an iterator of bytes (which bytes isn't either way, but it could be adapted) to a chars iterator at the moment.
A lot of good thought put into this article. I remember first hearing the final state of this line of thinking from Star Trek. I believe the next generation, where a character says,(paraphrasing) I work for the betterment of mankind, with which the opposing character was incredulous. It seemed so utopian then, still does to a certain extent, but it's something it appears we'll have to deal with faster than it appeared even 20 years ago.
I am not arrogant. For example, I am not familiar with Android intricacies; I would not jump to sensationalist conclusions just from a title without read the article, first and foremost, then doing some basic research. How arrogant is it to expect this of fellow tech people?