skysight-inc/HackerNews huggingface dataset:
Guilty as charged on the smugness, sorry about that. This reply is meant to be smugness-free.

My example above is the semi-official one from https://github.com/golang/go/wiki/SliceTricks. The `oop` expression contains a reference to i, and so it needs to be in the loop body. I'm not sure why they opted to do it in reverse though. (Maybe they don't want to compute `len(a)/2` every time, and don't want to use a temp variable? Not sure if it would get optimized away.)

In my head there are three reasons (apart from my own laziness) that I like having reverse() in a language's standard library:

- Code is read more often than it's written. A for loop like this takes time to read, if you don't already know what it does.

- Tricky loops hide bugs. If we forgot the `-1` term in the initializer, I'd probably miss it in a code review, and the bug would only show up for even-length lists.

- Expert attention turns out to be useful here! In languages that check array bounds by default, you can gain a little speed by avoiding bounds checks in reverse(). Rust does this (https://doc.rust-lang.org/src/core/up/src/libcore/slice.rs.h...), but I wouldn't want an `unsafe` block like that in code I had to copy-paste around.
Sounds like a good idea and seems to be worth a shot. Actually, I am thinking about why I put so little effort into this, currently. I will take your suggestion and see how it goes :)
A similar paper on Haskell's stream fusion has a pretty similar PDF filename (http://research.microsoft.com/en-us/um/people/simonpj/papers...). With benchmarks showing the "naive" implementation in Haskell of a simple stream problem beating hand-tuned C.

Haskell is still pretty well-defined in terms of execution, but freedom from how to manage memory is in itself a major liberator for the optimisers.
Find another job, but don't quit, as it makes salary negotiation much harder. Do the interviews in the background. Also if some engineer you worked with has left the company, ask him to help find job for you.
Do you have a source for that? I was specifically speaking about the first eukaryotic cell(s).
It's the body telling the heart "Pump more, we need extra oxygen".

Not having a heart doesn't change his mood, his mood changes the heartbeat.

That's why there were so surprised he could play sports - without that acceleration he might not have enough bloodflow for his activities.

I wonder if it has a knob to manually adjust the flowrate.

Or maybe since it's mechanical it's fine for it to run at max at all times? That might not be good for the rest of the vascular system though.

If that's bad for the vascular system then an idea would be to measure O2 saturation in the toes, and adjust the flow if it gets low.
I would say "try" fits very good but "use" often comes later.
Benefits of Strapless Heart Rate Monitor
I test drove one. Just driving it normally (as I would any high-performance sports car), I scared the hell out of the sales lady. It's the best-engineered car I've ever driven. The Germans are going to have to up their game because of Tesla.
Or if you want a rock solid json document-based db with an awesomely killer api - use RethinkDb.

Its a phenomenal product.
"someone without the key cannot access the file, and thus it shouldn't be called security by obscurity; the method is public, the key is not."

It's not a key, just like a username is not a password, it's an identifier, and as such cannot be replaced.

If you are ever going to share the url with anyone, they'll have to be notified manually when the url changes, and they can't share the url anywhere for fear that it'll be found out by bad actors.
Compared to a an authentication scheme that every user has it's own credentials to remember and the identifier can be freely shared without worrying that unauthorized individuals can access it.
Order of magnitude faster? I doubt that. Unless the old ones were really old / slow to begin with. But really, we are both speculating without knowing the facts.
If you are on OS X, you should try Paw [0]. It's like Postman but with native GUI and lots of options. I use it everyday.

[0] https://luckymarmot.com/paw
Just copy paste this to the CEO and see what happens. (minus the self-deprecation)
> I'm very unhappy at my company

> Am I expecting too much?

> Is this just how software engineering is?

> my own unrealistic expectations

> I generally don't get any response whatsoever

> it would at least be nice to get some feedback, and I never get any

> I just can't seem to connect with anyone at work

> there might not be enough interest to warrant having such meetings

> you can do what is essentially bad work and still get paid

> the response has basically been "That must be frustrating"

> I'm wondering whether this is due to the company

All company outside a few small areas is exactly like this, the exceptions being:

* Startups

* Open-source

There is nothing wrong with this company. This is how pretty much all companies are. This kind of environment is suitable for 85% of software engineers. They like it that way, and they want it that way. Companies do not want to be dependent on heroics. They want a predictable process.

> I spend a large part of my weekends writing code for prototypes and projects

* Be on the outlook for a sufficently-funded startup where you could be the CTO or technical co-founder

* Join an open source project

Do not talk about this to other people in the company. In the meanwhile, until you have landed your new role, avoid disturbing other people, or make them feel inadequate. Companies fundamentally cannot use people like you. It is contrary to their desire to keep things predictable, both good and bad things.

By the way, personality-wise, I am pretty much like you. I am a co-founder in 3 startups and 2 open-source projects. It may be annoying for you that you are not suitable for working in most companies around, but at the same time, if you find the right place to work at, you will have much, much more fun and make much, much more money than in a "normal" job.
Yes, you could sit without breathing. They do this in surgery all the time (heart/lung machine).

I suspect they want to minimize the blood's contact with anything because blood likes to clot, so doing it longterm without blood thinners might not work so well.

That's what is so amazing about this device: All other devices before it threw off so many clots they killed the patient rapidly.

Lookup "Jarvik" for some of the history.
Quit, join a small company. I did five long years at a multinational megacorp without realizing that life could be better. It was like prison for programmers. When I finally quit to be employee #5 at a bootstrapped startup it was a revelation. After I had been at the startup for a month it still didn't feel real - it felt like I was on vacation from my previous job. It took a long time for it to sink in that I didn't have to go back. Ever!

It's possible to enjoy work! Don't make my mistake and waste years in an environment you hate - I should have left after 3 months instead of 5 years. I will never work for a large corporation again.
Cheney had an LVAD, not one of these.
How do you imagine Cuomo's anti-BDS law could affect him?
When talking about performance, C actually can have overhead though.

For example, people rely on how C lays things out in memory, so C compilers have to lay things out in memory in specific ways. Haskell doesn't have this constraint and so can do a bunch of tricks.

And then there are things where C cannot move a variable/optimise out a variable because it's unknown whether some unrelated bit of code my go poke at its memory.

Now one might say "well if you know what you're doing then you can get the compiler to do what you want." Everything's possible, since everything's turing complete. But I would consider "variables need to be somewhere in memory" to be mandatory overhead.
Another thing about C is it's also debuggable and, consequently, profilable. You don't need to guess like the article's author at what is slow. You can know exactly what functions are slow and also why by examining hazards reported for every instruction. And then you can change your program in a way, which will eliminate the hazards if you wish so (and if it's possible, of course). With a smart high level compiler, even if you will manage to match the binary to source somehow, good luck predicting what modifications to the source are going to do to the binary.

Debuggability is also often overlooked. You can attach a debugger to a running image, and, provided you have symbol names, figure what's going on. Even if all you have is a core dump you can make a good guess of what has happened most of the time. Trying Haskell and doing some research on debugging it seems the only way other than debug prints is to instrument your program and even then you are not getting much.
Good point. Go for it.
https://www.theguardian.com/technology/2016/feb/29/google-se...

Here is an example of the car failing for precisely the sorts of reasons I describe above.
Meh. You get used to the homeless after awhile. They're more noticeable in SF
Ask HN: Whats the best book to learn about AdTech?
AdTech is littered with ever morphing various forms like DSP,SSP,DMP,DFP etc and blurring of lines between a network and an exchange, etc

So for a total n00b starting right now, Can you point to some books or essays on this subject?
It's not, go ahead and use it, learn and gain experience. It's not a replacement for SQL databases. It doesn't have joins and the biggest issue academics and as sysadmins have is it's not fully ACID compliant, so no transactions for example.

If I was writing this 2 years ago, I would say horizontal scaling is much easier. Add a node to your replica, watch it catch up, and continue.

Have data stored in an array 4 levels deep? Mongo will find it for you. It's only difficult to switch to an alternative to the extent that you've convolved your schema in an unfriendly way. Most migration entails normalising your data into different SQL table and exporting it. Not rocket science as people make it seem to be.

I use SQL at work, Oracle, SAS excuse, a bit of MySQL and sometimes Postgres - I'm a consultant.
I have tried some NoSQL DBs but always come back to Mongo, for personal projects.

I've done a few prototypes for clients using Mongo, but those are almost always for geospatial support.
To promote Entrepreneurs/Startups

1. Impose tax on corporate revenues, not profits

2. Regulate market capitalization of corporations
Every place is different but what you are experiencing sounds somewhat typical of a large organization. It sounds like you would be much happier somewhere smaller! Small startups tend to have the opposite sorts of problems, where each person needs to take on lots of responsibility but consequently everyone gets to have a big impact on the company and product. And as long as they practice code reviews for all changes you're guaranteed to get feedback even if sometimes that feedback is just "that's gross, don't do that". Anyway at a smaller startup it should be way less likely for there to be the kind of disconnect between dev and management as you are describing.
Bad parts of javascript:

- many mistakes are silently ignored. If you mistype object field name, divide a number by zero, add number to a string, access missing array element, no error is raised

- no proper OOP and classes

- no type hints for variables, function arguments or return values (well, there is TypeScript but it is another language)

- package manager (npm) loves to create deep hierarchies of folders
Technical correction: the proper designations are "DE-9" and either "DE-15" (if you're referring to the high-density three-row connector used for VGA) or "DA-15" (if you're referring to the original lower-density two-row 15-pin connector). The second letter referred to the shell size, so a DE-9 and DE-15 had different numbers of pins arranged in the same-sided shell. Wikipedia has a good section on this: https://en.wikipedia.org/wiki/D-subminiature#Description.2C_....

The so-called "DB-19", on the other hand, had a nonstandard shell size, so it doesn't really have a proper name under the original system. Maybe "Dx-19".
I really like Couch, I wish it had more adoption than it seems to have and that its ecosystem was more mature than it seems to be... and that javascript wasn't its first class citizen.

But its a really cool database (though I'm partial to rethinkdb now)
Did you only read the bold text? This is very different from "duct tape programming":

> When faced with a hard change, first make it easy (warning, this may be hard), then make the easy change
Most JS programmers seems to use modules (require/import) as masqueraded globals, like importing complexed functions instead of just standalone modules. And in that case it's better to just declare all dependencies in the root (html file).
You would probably want to use a package manager though, to keep track of name conflicts and manage the script tags (dependencies of dependencies).

As for central hosting of packages I think it will work. But we will probably need to be able to have many src attributes in script-tags for redundancy and optimal caching.
GraphQL and Typescript: Strongly Typed API Responses
Unfortunately, I've also learned the same in the last year.

My interactions with people after reaching adulthood have also taught me that people have different inclinations, ethics, intentions and internal reward systems. Some people gain satisfaction by helping others, or doing 'good;' while some others, gain satisfaction from hurting others, or feeling superior to them. Unfortunately I've met a lot of terrible people, and that makes me wonder what we should reasonably come to expect in who we collectively elect?
My grandparents used to harvest most of their food from the farm around their house.

Most people in that village did the same. And they survived and the food was very good - it had flavor and taste, attributes which are not applicable to produce grown in the large scale farms of today.

The only problem is that they had to work every day all day on those farms..

Large scale industrial farming made it possible for people to move to cities and forget about the difficult task of working the land.

And it was good. For a while.. But now we are faced with different problems - over populated cities, pollution, excessive carbon in the atmosphere, water shortages, etc.

Robotic farmers allow us to dream of a world in which people can grow their food locally without having to do the manual labor or rely on large-scale farming.
Many could move back to the countryside - closer to nature and type away on reddit just like before, while the robots take care of their food outside in the small field.
The core point is: If performance is not important, you might as well use Haskell.

If performance is important, it is a good idea to use an optimizable language.
The idea for FL290-FL410 is more to have a designated "highway" of sorts, where all craft are flying within the same system. There is no requirement for auto-pilot above FL410, for example... There are plenty of jets that can easily get that high, it's more about aerodynamics and engineering than pilot skill.

http://www.flyingmag.com/whats-41000-feet
That's talking about automated compiler optimizations; if you want to in C, you can move all those things around yourself by changing the code.
Wow I didn't know that. This whole news cycle seems pointless now. It's been proven other cities operate with Uber this way, and other companies can fill the void.
Interesting, haven't heard about such batteries being commercially sold. Any idea who sells those for private consumers in Europe?
Got the same issue initially. The guide does not document the additional packages that needs to be installed. You need to install elm-lang/html package.
The advantage (one advantage?) of C is that if you write a library in C, then it can be used on any platform, and from any language. Basically every language has bindings into C.
Yeah, I find that Go has influenced my code structure for the better in other languages. I'm much more likely to think carefully about a problem and consider alternative approaches for simplicity before just dropping a `template` keyword in C++, for instance. In Ruby, I am far less inclined to reopen classes. Etc.
front page: https://news.ycombinator.com/item?id=11857747
Uber boasts to Chinese users: Saudi princes are making it rain
Should be an iPhone app
I live in one of the driest states, and my air bags were swapped a year ago.
This list makes me want to cry a little. It rings too true.

> Have migrations (except they're going to be some scary ad hoc nodejs script that loop through your document store and modify fields on the fly).

I literally just spent the better part of tonight AND yesterday evening dealing with one of these scripts. I had pulled down the production table to locally test the script (gross), but when I later ran it in the production environment, we'd somehow had an array sneak in to what was an object field. The whole thing just felt like a mess.
Simple Code to Download a Webpage Java Program
Huh. I didn't know much about Clojure so never thought of comparing. I see that there are many similarities! Will try to install it in Visual Studio (the IDE) to see if it helps!
I was going to ask, why do you need to give third parties read access to your account? I've never done so in my life, and can't see the use case.

Then I see further down: it's for the FUBAR tax return system in the US.

Here's a solution for you: fix your damned tax return system first (and watch Intuit go out of business in the process). Then you've solved many big problems, not just a small one.
The article totally misses what the radiation symbol looks exactly like: the window on a pot-belly stove, which makes perfect sense for radiation: http://mccabe.net.nz/wp-content/uploads/2011/07/potbelly.jpg
Because now Party C can't get affordable housing. Party A blocks Party B (builders/real estate people) from builing more housing which would make things more affordable for Party C.
That continuous flow is new(-ish). My father had an LVAD in 2002, and it was the older type that actually pumps rhythmically, so that was his pulse. At the time continuous-flow models were in research, and I do remember there were concerns with thrombosis (basically, the shifting force of the pulse helps break up clots).

I don't know the current state of the art, but there are definitely studies (the keyword is "pulsatile"). For example:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4250555/

For comparison, here's a picture of some LVADs. The one I've seen in person (after it had been taken back out!) is the one on the far left. Flow issues aside, I can imagine the smaller ones are easier on the patient in general, just from the perspective of surgery trauma.

http://reliantheart.com/wp-content/uploads/2013/04/VAD_Size_...
> None of you have any idea what you are talking about even though you are supposed to be hackers.

You heard it here first folks. None of us know anything.
That's surprising! I think the big difference between Houston's sprawl and the Bay Area's increase in density is that the style of life your parents lead is probably the same they did before. Do you think that's true?
What they neglect to mention is not that you don't need a DBA, that you are the DBA yourself. With all the responsibilities that go along with that role. Who's getting paged at 3am now...?
> Unless you have never written migrations in SQL before you would know that they are even scary and a big bunch of sql

I've written a ton of SQL migrations this year, none of them are scary or even really count as "big bunch of sql". If this describes your code, you should probably stop and rethink what you're doing, because that's bad practice.

The difference between, eg, merging your "first_name" and "last_name" fields into a single "name" field with Mongo or a SQL DB is basically that the SQL DB has better tooling so it'll be cleaner, faster, and more concise.

> Now in your migration script you have to hack SQL and language-based ORM commands

Also false. Nothing requires you to use the ORM commands if they don't make your life easier; literally last week I wrote a migration for some ORM based code using pure vanilla SQL because it was more appropriate. If you know what your ORM is doing, it's trivial. And if you don't, well, you have bigger problems.

> Actually they can be just as explicit and documented.

With a relational DB: Check the table schema.

With mongo: Dig through the app code and try and reverse engineer what fields the code is expecting. (Or pull up a few documents and see what fields actually exist, then ponder how you know whether you're looking at document that uses the latest schema, or maybe an outdated or dead document using an outdated schema. Also, how do you know what optional fields might be missing? Or what possible values the currently null fields might have? Good luck with that.)

> Mongo even has schemas now I think.

No. Mongo still lists flexible schemas as a feature, ie, they do not enforce any specific schema.

> SQL constraints are very limited and literally every application has additional constrains

Yeah, but what relational DBs are very good at is enforcing foreign key constraints. If your data is relational at all (and let's be real, very, very little world data isn't at least somewhat relational), you'll need it, and Mongo doesn't have it. (Well, Mongo doesn't even have foreign keys, but it lacks the equivalent feature for dealing with denormalized data too.) Managing to set some non-numeric characters in your phone number field when some of your app code contains a hard assumption it will be numeric is bad, yeah. But when you start screwing around with relations, foreign keys, failing to properly propagate changes to every copy of a denormalized data structure...oh man, you can spend days trying to untangle that mess. And it's a class of error that relational DBs don't have unless you misuse them badly.

In short, you seem to be suggesting that as long as you're blindly using an ORM, Mongo is almost as good and flexible as Postgres. Which...sure, okay? I guess?
Bad few weeks for CoreOS.. Duke out just before DockerCon
I'm definitely in this camp. I read enough programming related news that I know what new technologies are emerging and what problems they attempt to solve. But these days I wait until things have gained enough momentum that I think they'll stick around for at least a few years before I'll even consider adopting them for real work.

That said it's good to keep learning new things just for the sake of learning so I will still sometimes pick up something new just because it looks different enough from things I'm already familiar with.
LinkedIn Open Sourced Photon ML, ML/Recommender Library Powered by ApacheSpark
Funny, I've seen more locks in Go than in my time with most other populate languages (excluding C). This is probably because there's no built-in concurrent hashmap or generics to implement one, so it's common to see a lock accompanying every map.
Yeah dude, I hear ya. That sucks, and I'm as pissed as you probably are that Lyft and Uber pulled out.

But that doesn't mean your statement was any less racist and xenophobic for it.
The article makes a number of good points. The first three points in the "Learning" section resonated very well with me.

Then there's stuff I just don't understand. For example:

> Multiple scales. Move between scales freely. Maybe this is a design problem, not a testing problem. Maybe it is a people problem, not a technology problem [cheating, this is always true].

What does he mean by scales?
How much does it cost to hire a lawyer to (try to) get your $11k back?
Compliance is not security.

A sophisticated attacker with access to Amazon's infrastructure can read anything they like out of the memory of the machine your instance is on without you or anyone else ever knowing it.
A lawyer Decoding Jacob Appelbaum's sexual harassment allegations