skysight-inc/HackerNews huggingface dataset:
You'd be surprised at how many people haven't learned to solve basic coding problems in college. I have no problem doing a whiteboard problem if I were interviewing.

It's entirely possible that the person who has gotten that far in the process literally cannot code Fizzbuzz. It's not an insult to be asked to do these things. It's a reality caused by the fact that some people can BS their way into anything, the hiring process at most companies is deeply flawed, and usually not the fault of the people you are talking to in the interview.

Obviously anyone who is that offended by this has never seen the other side of the equation where you've hired someone who turns out to be completely incompetent despite appearing to be very knowledgeable and smart in the interview, and now you've invested a whole lot of time and effort and money even if you are able to cut the person loose quickly. It happens. A lot. And it's often not because the hiring managers and other interviewers are idiots or otherwise failed to interview the candidate well.
Ghost city of Ashgabat, Turkmenistan: Recently built in marble and unoccupied
Really, the typo thing was not the main point of my original comment, it was just an aside. I'm sorry to anyone I have offended.

I mainly take issue with the proliferation of Go frameworks, especially HTTP frameworks. Frameworks are an antipattern and there are already a huge number of HTTP frameworks that are all incompatible and reimplement the same functionality. I don't think this is useful for the language and in fact think it hurts it.
> says expert

Koichiro Zamma is a chimpanzee expert, not a sleep expert.

The description of the bed sounds like a hammock, but there are no photos of it.
Yes, of course; we agree. Let me refine my question:

In our not-quite-an-industry, we seem to laud attempts to optimize the artifact of a residual hack, and we are absolutely dismissive of attempts to rebuild the stack as being too ambitious. And the problem with being dismissive is that it's a judgement without trial. We have precious few "crazy professors" and no tolerance for them.

What can we do?

There's the 2020 group in San Francisco. Is that kind of meetup the right direction?
Apple launches coding camps for kids in its retail stores
Primarily specificity.

I want the function to fail when it is passed the wrong arguments, but I don't really care about how exactly it fails. If the wrong types get passed to a function, I'm already screwed and there's no way to do the right thing at that point. I only care that I get enough information to debug what happened.

In pretty much any other case, I want to function return some precise value or do some precise action. These are situations that the code will encounter during normal execution, and so I do care about what exactly it does.
Sometimes the hardest part about dealing with people like this is that they seem to have multiple personalities. Thus a person that to me (white male) seems like a great guy, may not be that same person at all when they interact with others (women or minorities for instance). It can be really difficult to reconcile the person you know with the person that other people are interacting with, and when glimpses of this less pleasant personality show through in casual comments and the like, it is all too easy to write them off as jokes, because no one wants to believe that their friend is a bad person.
I wouldn't worry; we can't agree what causality actually is, or whether it even exists, let alone what would constitute a violation of it.
There's a huge photo right at the top of the page!
None of these "exploits" really sound much more dramatic than using a database without transactions
This free guide should help developers write more secure code.

https://www.inversoft.com/guides/2016-guide-to-user-data-sec...
Good insights -- and check out Alex Warth's "Worlds" paper on the Viewpoints site -- this goes beyond what PIE could do with "possible worlds" reasoning and computing ...
"This impacts all contracts on Ethereum, not just the DAO. This is an issue with Ethereum’s JavaScript-like programming language (Solidity)."

No it doesn't, no it's not. It affects contracts that use this functionality with arbitrary untrusted contracts (which is a bad idea), and most contracts just don't use this functionality at all.
Your claim is that P(consent | sexy clothes) = P(consent | not sexy clothes)? Seems counterintuitive. Do you have evidence to support this claim?
Just a few hours ago actually. Great. Thanks!
Based on my experience in the US construction industry, I haven't seen many people paying for specialized API's. In the vast majority of cases, availability and price are often at least as important as aesthetics.

It's hard to see who the customers would be. Using an API requires an atypical level of technical expertise. Contractors have their suppliers. Suppliers have their inventory. Architects? well maybe since specifying high priced unavailable materials is not unknown...but their business is the least likely to make money by spending money on an API.

In general, money in construction changes hands when construction happens or materials are sold. Monetizing information about stone is perhaps more likely the more it is directly tied to such transactions.

Good luck.
To avoid both problems, the hammock needs to be really large and made of high quality, heavy, natural fabric. Small, rustic hammocks are only ok for recreation, not sleeping.
People (and I include myself) are lazy and will present that laziness via technical arguments and pretending not to understand/remember what you are saying. It's the steady string of previously debunked straw-man arguments or orthogonal unrelated objections that is the tell tale signal. If you keep pushing you are just burning relationship currency.

If you dig in for every single little thing your going to be the bad guy org wide because people don't have enough context in most development workflows and aren't going to put in the effort to understand the technical or timeline issues at stake. You will just be the one who makes a fuss all the time. I've watch some solid people get pushed out due to this.

As long as the harm is minimal I'll point it out and let it slide if the objections go off the rails even if the cost to do it right/better is less than the value realized from doing it right/better. Discussion isn't free. When the cost of dragging the discussion out is commensurate to the harm or value realized then that is when I will tax both myself and others involved in the discussion to address it.

This is one reason to have these discussions before code is written and people are invested in not having to make changes. If you are brutal and break things down into small chunks delivered regularly the latitude for things to go sideways is reduced and discussion is more productive.
Everyone uses fat JARs because it removes a lot of things that can go wrong operationally (especially when standing up new servers).

The approach described in this article is the way Java was designed to work; but then everyone said you needed a "self-executing" service binary for portability. Enter the fat JAR, containers, orchestration layers, etc.

JVM application servers are certainly the way to go if you run a bunch of Java. But then you're committing to maintaining a bunch of dependencies on your application servers, so really you're pushing the tech debt down the line to your ops folks who now have to ensure dependencies are synced, maven servers running and updated properly, proxies punched for new external dependencies, etc.
It sounds scarily real to be. Being manipulated is a thing, and this ticks all the boxes: she was tired/hungover, he wouldn't take no for an answer, he continued talking about mundane stuff to maintain an atmosphere of normality even while applying strong pressure, she only found the strength to resist after being dragged (literally!) outside of her comfort zone.

It rings very true and does not sound like the kind of story someone would make up for attention.
So you are fine with his other behaviour?
If this is what you need, a mindmapping program like Freemind (or commercial alternative) is worth looking into.

Not to hammer the org mode drum, but you can output org-mode to opml and into Freemind for visualization.
Agreed. The syntax and benefits would certainly appeal if I were a Ruby developer, but coming from a different perspective, I don't get the reason for all the love.
What do you think of their recent Swift Playground programming education effort ?
Could you list something to read please?
I guess you own some Ethereum and have no shame.
Nearly a year ago I made the comment --

"Who are these people[1] and what credentials do they have to build and run a cryptocurrency platform?"
[1] https://angel.co/ethereum-1

Today, not a single cryptographer, mathematician, or anyone with software security experience is listed on the Ethereum Foundation member list[2]. I am not attacking any individuals by themselves, but as a group this says a lot.

For the record, what I see listed online today is a: consultant, magazine founder, a programmer, and a lawyer. On the advisory board a sales person, a psychologist, a leveraged debt consultant. On the "special advisors" list, which I have no idea what this means, maybe someone who answered a phone call a few times, one person with a bunch of business credentials, something "fintech" related with little explanation, and a tech CEO.

Maybe the Ethereum Foundation doesn't need anyone with deep experience in cryptography and security?

[2] https://www.ethereum.org/foundation
> In the end the decision was mine

I don't think you're describing consensus. I think you're describing the benevolent dictator who listens to his peers and subordinates.

Or maybe we're using different definitions of consensus here. As the OWS and anarchist groups I've come into contact with used it, consensus means 100% agreement for something to move forward.
I used to do Scala prior to coming to Elixir, mainly by using Play Framework to create web apps. I can tell you that I love Elixir and that I will not be going back to Scala. I miss nothing from Scala.

* Pattern matching in Elixir is superior to Scala's in every way possible (You can pattern match on function parameters!!)

* Async code is a breeze with Task.async()/Task.await() instead of mapping on Future's everywhere and making sure you have the proper implicit globals imported

* Actor pattern is built into the language and it's a breeze to work with. No need to rely on Akka to replicate it

* JSON is a joy to work with

* Documentation is fantastic in the core language and many libraries

* No more JVM!

* Building a release is much easier than dealing with SBT

If you have a functional background, I would recommend reading Elixir in Action as a starting point. It already assumes you have an FP background and takes you into more of the core features of the language. I really enjoyed it and the content is superb.
It's an exploit because you can do this live on the DAO (and potentially other deployed contracts) today.

Vector of attack for future contracts but already impacts the DAO.
Well in theory couldn't any obscure exploit in the underlying framework (Solidity or related) be used to exploit contracts based on it? I think a comment from yesterday nailed it - that a system like this may be perfect for processing a repetitive, high volume of relatively low value contracts, wheres high value contracts may be better served by traditional systems wherein the Courts provide dispute resolution as needed. Broadly it would seem like Ethereum needs to isolate the potential for loss due to zero day exploits such that it is less than the savings realized from operational efficiency.
I understand your logic. But I think it's not that simple: Part of being a senior engineer (at least for me) is to educate my less senior peers. And in a sneaky, non-condescending way, that is.

It's usually thursday or friday evening that my team will pop some beers and talk conceptuals. In those informal discussions information just flows, sentiments are shared and fruitful decisions are reached.

Winning and losing battles implies that battles exist. That's bad enough for me.
Have you thought about a mindmapping program? A visual representation, with the ability to add files (images, etc) and reorganize easily to assist with studying.
"Pearl thinks that about every one in four cars in the United States on the road today has one"

Isn't this the kind of statistic they should know in order to show the possible market?
Certain willful and vile behavior does merit banning from a community. Why should other people have to endure sexual harassment and be fearful when they go to events because of this guy?

Tolerating his behavior sends the message that it is okay to behave that way in that community and that if you want to be a part of the community you'll simply have to endure his toxicity.
Because when things go sideways a human can't fix anything without copious amounts of reading/testing/poking around? I'm taking your meaning of "explain" literally here, which might be shortsighted.

Either way, the idea of machines or systems as "living" and able to communicate intent and process, even if only within their own "umwelt", is really interesting. Even a taste of that would make modern systems easier to debug and understand, if not more robust (which would be a better starting point for many systems anyway I suppose).
> The original post was about coding on a whiteboard ... But he did not mean that

...and the rest of us are supposed to read his mind? Since we're talking about communication skills here, I submit that good communication skills might include stating one's meaning more clearly.
Probably blatantly guilty, though it didn't help that when the fog finally cleared and we finally got a detailed story of him sexually harassing a drunken stranger in public, corraborated by multiple named and trustworthy people, it promptly imploded after the woman in question apparently came forward and said she was neither a stranger nor being harassed. I assume that some of the newer claims are actually true, but that a whole bunch of trustworthy-seeming people were willing to stand behind a claim that fell apart like that... well, it doesn't inspire trust.
I don't think that's what the OP is talking about. It's not a battle unless it's a batte, non functional teams will have more of these than higher functioning teams, but the advice is geared towards those times. Going through positive battles, winning and losing "the right way", that's how you're either going to change dynamics in poor teams, or conversely, how you're going to let bad actors put themselves on blast / realize you're part of a toxic org that you need to get out of
This reads a little sensational. The original source [1] referred to in the article looks at the issue in more detail.

[1] http://pdaian.com/blog/chasing-the-dao-attackers-wake/
I'd love if we could keep HN free of these boring accusations of shilling. It makes the Reddit cryptocurrency forums really tedious to follow.
First of all, I now enjoy talking about myself :)

I stopped assuming I knew everything, and a childlike sense of wonder returned to my life. I began looking beyond what was directly in front of me and sought out more comprehensive generalizations. What do atoms have in common with humans? What does it mean to communicate? Do we communicate with ecosystems? Do individuals communicate with society? What is consciousness and intelligence? Is my mind a collection of multiple conscious processes? How do the disparate pieces of my brain integrate into one conscious entity, how do they shape my subjective reality?

I found information, individuals, and networks to be fundamental to my understanding of the world. I was always interested in them before, but not enough to seek them out or apply them through creative works. I discovered for myself the language of systems. I found a deep appreciation of mathematics and a growth path to set my life on.

I was able to do this exploration at a time when my work was slow and steady. It came along a couple years ago when I was 25, which I've heard is when the brain's development levels off. I feel lucky to have experienced it when I did because I was totally unsatisfied with my life before then.

Since then I've found work I love at a seed stage startup where I've been able to apply my ideas in various ways. I have become much more active as a creator, including exploring latent artistic sensibilities through writing poetry and taking oil painting classes with a very talented teacher. I've found myself becoming an artist in my work - I've become the director and lead engineer at the startup and am exploring ways to determine and distribute truth in the products we sell, and further to make a statement on what art is in a capitalistic society (even if I'm the only one who will ever recognize it). I've also become more empathic and found a wonderful woman and two pups to share my life with, despite previously being extremely solitary. Between work and family I have less time for introspection now, but I expect I'll learn just as much through these efforts.

Ultimatey, I've learned to trust my subconscious. I was always anxious and nervous about being wrong in any situation before, but now I trust that even if I am wrong in the moment my brain can figure out good answers over longer stretches of time.

I don't know how far cannabis led me down this path but it definitely gave me a good strong push.
> Discussion isn't free.

Exactly, that's the key insight to have. Making the discussions more important than the project is a pretty good way to derail anything, there has to be some sense of proportionality.
Cool site. FWIW, fasthttp powers iris, and it's in these benchmarks (and doing very well at that!).
Think of JSON.

The programmer shouldn't have to know that a newline character is written as \n in a JSON string.

The JSON string "a\nb" take 6 characters to write, but it's length should be given as 3.

99% people want to manipulate a JSON model, not the JSON (or BSON) serialization itself. The 1% can still use a byte array and do whatever hacks they like.
isis agora lovecruft among others has put her name explicitly on this: "Sometime around 5 o’clock in the morning, I woke up very confused and startled because my pants were unzipped and Jake’s arm was wrapped around me, his hands in my underwear and he was rubbing my clit and rimming the edges of my vagina. I tried to shove him off me and wake him up."

You are saying, "it just concerns me how bad they're working to make this guy out as a rapist when no one has put their names explicitly to actual penetration, as opposed to mere sexual assault."
"is this what the HN front-page has come to?"

Judging from what I've seen lately, yes. This, Sam's Trump rant yesterday, and a host of other dubious items (that squeak in because they fall under the vague "it's of interest to the community" banner) have really degraded HN's signal-to-noise ratio, IMO.
Absolutely not, but there's a world of difference still.
We love to reinvest in the open source community. :)
Actually it's much worse, it's the equivalent of calling a function that ends up doing something totally different than you thought it would. Very reminiscent of a web bug that has since been blocked by newer browsers: parsing JSON data that ends up using a constructor redefinition exploit to execute arbitrary JS.

Pretty much this: http://www.thespanner.co.uk/2011/05/30/json-hijacking/
@mtmail: "Nothing is decided yet, it's media companies pressing hard for law changes."

Shhh! –don't let the facts get in the way of a good clickbait headline.

I think the only hard fact we can take from following said clickbait is that Google's German > English translator needs some work!
"Not every battle is going to be a winning one, and understanding when to challenge a teammate and when to hold back is a skill that can only be developed with practice. The battles I’ve lost by not being prepared, the battles I’ve lost by picking on something trivial, and the battles I should have started—but didn’t—are what inspired this blog post."

"The more stressful a situation is, the more I find pragmatism is the best tool for improving the product and the team. What are your strategies for choosing when to push back and when to let it be?"
Awesome book. I read the pre-release and it was a great deep dive into various topics that will help improve your search application. I highly recommend for anyone who is working with Elasticsearch (I think they also have a Solr appendix, but I was only interested in ES)!
I agree. In undergrad Computer Science, I had my first "Oh sh*t" shocks. (My undergrad was a large state school, so I could coast outside of CS) I got a few more in grad school in other subjects.
Intro to 6502 Machine Language (video)
I should probably write it up. I've been pretty busy traveling for business and doing conf talks. The next few weeks slow down quite a bit so I should have some time.
Yeah, my high school didn't offer AP calc. They did offer a few AP classes like English, which I took but never transferred anyway.
Or you can 3) pick some of the most aggregious issues if there are any and try any of the suggestions in the OPs post that can effect positive change. Not having conflict isn't some higher order way of being a human being, it's a march towards mediocrity. Otherwise, I think you're just trying to be disagreeable with the OPs post cause you both seem to believe the same things :-)
On the quest for the right project management tool: Jira, Trello, Asana, Redmine
There are optional type specs:
http://elixir-lang.org/getting-started/typespecs-and-behavio...

which can serve as documentation and are used by a tool called Dialyzer during the build process to find errors based on the type specs.

I have not used this particular tooling first hand, but my sense is that it is well-integrated and works well. Someone else will probably comment with first-hand experience.

The Elixir compiler seems to catch a lot of errors, for what it's worth. If you attempt to call a function that doesn't exist or with the wrong arity, you're going to get an error (even w/o any type specs). The number of compiler errors one has in a statically typed language that are really just about types may not be that many.

w/r/t static vs dynamic, in general, these are the things I'd consider (if you haven't already): you're domain (are you building a rocket or a consumer-facing web app), you're appetite for testing, size of project, size of team, specifics of the tooling w/r/t refactoring (elixir's compiler is pretty good for supporting a big rename, for example; ruby, without a compiler and with so many language features, not so much), how the language makes you feel when you use it (dynamic wins here in general for me; I don't like to be in trouble or interrupted when I'm thinking), the collections library (this is big for me -- I could never go back to a weak collections library -- Go, I'm looking at you), Etc. YMMV, qualifier, qualifier. In general, the specifics really matter -- both of what you're doing and the specific tooling and how they interact.

Elixir seems to strike a very nice balance of all these things with a just right, small, extremely powerful feature set on a rock solid VM with astounding concurrency and distributed computing facilities, if you need them. By all means, I would try it.
Being part of a small dedicated group fighting for a cause absolutely leaves you open to this, even when the ideals you are fighting for are against that very goal. You can see it all the time in far left groups, there are often similar sorts of deals going on, like this: https://www.theguardian.com/society/2013/mar/09/socialist-wo...

Anecdotally, I've met/heard of lots of creepy guys (almost always guys) at these sort of highly motivated ideological groups. There's a strong in-group/out-group thing going on.

I assume far right groups can be similar, but I've never been involved in one. Also it's less interesting, since they generally don't jump up and down to be called feminist.