skysight-inc/HackerNews huggingface dataset:
* Being an entirely interpreted language, JS cannot have static type checking. This has not been an issue in my experience.

This doesn't mean it isn't an issue, just you haven't encountered a situation where it is.

* I think the syntax argument is laughably ridiculous. Programming languages that live in glass houses shouldn't throw stones. Just today, I've seen three links to guides "to learn basic Haskell syntax", two of which contradicted each other.

And you've never seen three guides to "learn basic Javascript syntax" which contradict each other?

You can argue it both ways, as far as I am concerned. Javascript like any other language has issues, what exactly those issues are... depends greatly on what you use Javascript for.
I believe the word that OP was looking for in his title was "block chain". Not "blockchain".

Blockchain is the company name of one of your competitors.

One of the speakers at the Toronto Bitcoin Expo corrected his own slide during his own company's presentation concerning this matter. It was quite comical.
Getting it ready for github and I'm also planning to publish it to npm. It's still pretty rough around the edges, so hopefully in another weekend or two I'll get it out there.
There seem to be a few different viewpoints on the matter. This is the one I go with (as well as Brendan Eich and other high-profile JS people.)
Could you clarify on `this`? I find how it works very obvious and natural to me, therefore not quite sure why everyone consider it broken and not 'different'?
Very well done. I like the step-by-step animation.

Another nice sort visualization is Sortviz.org. For example:

http://sortvis.org/algorithms/combsort.html

and

http://sortvis.org/algorithms/heapsort.html
Me too. I was a kid. I got 2 games a year, one for Xmas and one for my birthday. Even if the game wasn't fun I would have played it to death.
Given the fairly nihilistic ending ( You are dead, you are forgotten, there is nothing. ), I sure hope he's OK.
> lack of module system

ES6 fixes this with, well, a module system.

> weak-typing,

Yup, this is a problem.

> verbose function syntax,

ES6 fixes this with arrow functions.

> late binding

Does this just mean dynamic typing? Well, yes, JavaScript is dynamically typed, but I wouldn't call that a language flaw. Static vs. dynamic typing is a tradeoff.

> which has led to the creation of various static analysis tools to alleviate this language flaw

The footnote talks about JSLint and friends, but none of those impose a type system, which means that they do nothing about dynamic typing.

> but with limited success (there is even a static type checker)

Well, yeah. It's very hard (read: "research problem") to impose a good static typechecker on a dynamically typed system, though.

> finicky equality/automatic conversion

Yeah, this is bad. I really wish tools like restrict mode [1] had caught on: together with ES6 they eliminate a lot of what people dislike about JavaScript.

> this behaviour,

Fixed in ES6 if you use arrow functions (finally!)

> and lack of static types.

Again, I wouldn't say it "sucks" for this reason, just that it's dynamically typed. That's a tradeoff.

[1]: http://restrictmode.org/
Baltimore certainly didn't need Uber to have gypsy cabs when I lived there:) I'd see people putting down their arms when they noticed a real cab approaching, lest they accidentally hail one.

That fact supports the article though; Baltimore is a sad, sad place. Everyone is very nice there, though. One of the nicest towns I've ever lived in. I never really heard about any gypsy cab related crime when I lived there, either. People become more trusting by necessity when they're desperate, but they also seem to become more trustworthy for mutual benefit.

The first time I got off of the Greyhound in Baltimore, the woman who picked me up hailed a gypsy cab for us to ride to her apartment in. It was a first for me.
Huh, thanks for pointing that out! May have to add the misspelled name into the keywords for the next version (iTunes keywords are a PITA: they're limited to 100 characters, and can't be edited between versions).

What do you mean by hour tracking? Like time-sheets functionality (which seems a bit out of the scope), or something simple you could type in how long you spent at the location? I've been considering adding a notes option for logs, which might work for something like that.
Hmm...This post just disappeared from the front page and the ask section, any ideas why?
Realtors & hosting companies.
I accept that I will be downvoted for this.

My impression of the Haskell community is its full of snobbery and complaining.

This has got to be the 4th javascript ducks post on hn in the past week.

I like hearing the positive aspects of Haskell. However, the language x sucks posts are tiresome.

Develop an imagination. Javascript can be wielded very effectively. It's just different. I hope that I or someone else wires posts on what can be done to be effective with javascript and weakly typed systems.

There are advantages to using weakly typed languages, mostly centered around flexibility and rapid iteration. The disadvantages are alleviated by comprehensive functional or black box testing. Skip the unit tests.

I feel liberated by not having a strong type system restricting my options. Ymmv. People have different styles and preferences.
Unfortunately quite fuzzy due to that ridiculous website. I wish they hadn't done that.
Theoretically Determining the Man Made in C++
Is there a market left for vulnerability scanners?
There seems to be an abundant number of vulnerability scanners out there for web applications and I'm wondering of the market potential left for new vulnerability scanners with some differentiation (not so much on the technology side)?

Thanks for your input fellow hackers
I'm getting "W: Failed to fetch http://ppa.launchpad.net/andrewsomething/digitalocean/ubuntu... 404 Not Found
"

Does anybody else have this problem?
For the second example, the non-implementable public interface, is there a way to allow implementations when testing?

naively, if i define a non-implementable public interface as described in the article inside `foo.go` and put some test code next to it in `foo_test.go` that attempts to implement the interface with a special test version, then as we might expect, that doesn't work. if i put test code inside `foo.go` itself, `go test` doesn't appear to collect the test.

(i have no experience with go, apologies if i am missing something very obvious)
Zura, I go in to the office twice a week on average. I try to pack those days with meetings and other things that are best done in person.
Mostly, they don't. Boarding priority is governed by a few factors, most prominently giving the frequent fliers and first-class ticket holders the feeling like they're getting their money's worth. Coach is boarded back to front because a) coach is (semi-intentionally) treated like luggage which moves itself and b) boarding back-to-front is faster that front-to-back, in that it has less "person stowing their bag blocks the aisle" moments. Saving 10 minutes on boarding per plane per trip is worth, literally, hundreds of millions of dollars.
>This doesn't mean it isn't an issue, just you haven't encountered a situation where it is.

You're right, but it seems to be fairly rare. I've only once ever seen static type checking help find bugs in rarely-used code paths, and that was a single occurrence five years ago.

>And you've never seen three guides to "learn basic Javascript syntax" which contradict each other?

No, I haven't. The only things I can think of off the top of my head that a JS newbie would find contradictory are semicolons and declaring arrays with [], both of which are used by the vast majority. I've only seen one codebase ever that used new Array(), and only a handful that didn't use semicolons unless necessary.

>You can argue it both ways, as far as I am concerned. Javascript like any other language has issues, what exactly those issues are... depends greatly on what you use Javascript for.

Good point. Claiming Javascript is issue-free is as ridiculous as claiming that (to quote this guide) "Javascript sucks".
I'm using this approach for a library that is currently in development. It works very well.
As asked in http://programmers.stackexchange.com/questions/234900/go-lik...

I wonder if make sense to merge the julia multi-methods + GO interfaces.
Certainly this article was a bit heavy handed in its recommendations -- in my experience, there is a spectrum of people, with a spectrum of feelings about random interactions (some of which can even change from day to day, depending on mood). Those personal boundaries should definitely be respected if tested and the stranger does not want to talk.

I have seen times when those boundaries have been crossed (particularly when alcohol is involved). It is odd the author did not go into any detail about unwanted interaction, and only focused on extra interaction which supported her hypothesis, without warning for situations which may turn uncomfortable and worse off for the stranger.
Can foreign residents in the US get Obamacare under the ACA?
As far as I know, AWS doesn't allow running a hypervisor inside another hypervisor.
This is a really interesting perspective thanks for sharing. I don't think anyone intended to create this shadow economy. The founders of AirBnB, TaskRabbit, Lyft, and the like did not create those services with the intention that people hustle full-time. More that it was a stopover to get some cash in an economy where you might need it and a place where cost of living is high. But I very much agree that this piece demonstrates perverse incentives. As someone else posted on here, it's not right if people hustle to the extent of crashing with their friend's parent's cousins every day just so they can list their places on AirBnB.

The other point though, is that I don't think we'll have decades of hustle anyways, because the point of many of these services is to catalyze a culture of sharing that we've lost. Once we gain it back, then Lyft, Uber, and the like (as one example) can shift from drivers that drive around looking for rides (which is hardly sharing so much as a homegrown taxi), into truly picking up people when convenient for their usual routes. Of course, this depends on these organizations not being swayed by perverse incentives themselves.

We'll see!
> In Japan it's very much frowned upon to talk on the train, at least in Tokyo. I kind of like that system.

My experience was different. Random people started conversations with me, including a coy girl on the shinkansen, even though her English was as good as my non-existant Japanese. I'm pretty sure it depends on how inviting you look for conversations. I mostly had a dumb smile on throughout my trip, so I guess they liked that.
Just counting down the days til you die, huh?
A simple, no-BS platform for running your Node.js apps.
Get set up with any SQL or noSQL database. Just plug in and your ready to go. Host all of your Node.js apps without any extra setup and tangled wires. Deploy like a pro with any global npm modules you use on your local setup.
You can also open the page in a "private window" on firefox. I haven't tried in chrome but I assume you would get the same result.
Here's the problem with your post - and it has nothing to do with what you think it does. It attacks two things at once and quite distinctly. On one hand you're defending JavaScript - and that's separate from your attack on the Haskell community. It's just unfocused and confusingly conflated. I'm not going to down vote you, but you need to organize your thoughts a little more coherently if you don't want to get down voted.

PS The reason there are so many JavaScript sucks posts is because JavaScript, a language designed for very menial things in 10 days in the mid 1990s, has become the lingua franca of the world and is used for sophisticated applications outside of its wheelhouse. A lot of very respectable people believe it's a poor tool for the complex applications that it's being used for and the less respectable people just reiterate this as "it sucks". It's not that it sucks for making a photo gallery, it's that it sucks compared to other languages for making a rich, modern, immersive, large application. They key word there is large. All of the reasons they reiterate about the "why" it sucks are only relevant when you couple it with the "large".
Working on improving the layout of a project I’m working with a friend on, where we translate Ukrainian & Russian media into English and interview Ukrainians ourselves.

Progress: http://i.imgur.com/Vch8UDO.png
Site: http://zasiv.ca
A task list for developer teams that use git
Set up a project for each repository to organise your tasks. Bring in and assign tasks to each one of your team members. Mark tasks as complete in your commits via task #num
I'm not using his PPA, but the reason you're getting those errors is because his PPA only has builds for saucy and trusty, and you're using raring.

Easiest thing to do would be to ask him to add a build target for raring.
I'm surprised that Haxe isn't in the list of alternatives. It's been around for quite a long time and it's very mature:

http://haxe.org/doc/features
Your example of `foo.go` and `foo_test.go` would actually work the way you want. In go, tests are in the same namespace as the code they are testing so they have access to private members.
Facebook-funded Silicon Valley police station, with free Wi-Fi, opens
I just don't understand why anyone would want to find the games. Is it just for the documentary? I'm sure there's all sorts of 'new old stock' in landfills all over the world. Stuff much more interesting than a [very] bad video game for a console very few of us still have.

I suppose it wouldn't surprise me if limited edition numbered authentic landfill ET cartridges were a sought after collectible in the near or distant future.
That was some nice writing. All 11,000+ words of it. Kudos to Maria Bustillos.
> Javascript is actually untyped, not weakly typed (untyped means no type declarations, not that it has no types)

I've never really heard the term untyped before -- I guess I'm old school and still call that dynamic typed. But JavaScript is also weakly typed. It will automatically convert strings to numbers, etc. Some languages, like Python, are dynamically typed but also strongly typed: No type declarations but no automatic conversions.
The top comment as of the time of my writing is as follows:

OS x version, please!!

Screw this. I'm on a Mac, but this is crap. This guy put in a bunch of time and made something awful, and the top voted comment is asking him to port it to another system, without even thanking him for his work or acknowledging how often what he made is? Ugh. Talk about entitled.

Want an OS X version? https://github.com/andrewsomething/digitalocean-indicator/fo...
You want to be able to use the interface outside the module, but not allow anyone else to implement that interface.
> Again, I wouldn't say it "sucks" for this reason, just that it's dynamically typed. That's a tradeoff.

This is the Haskell wiki. I would expect most participants to view having a single global implicit union type to be a flaw, not a trade-off.
What do you then do with the nanobots?
It's essentially duck-typing iOS Objective-C protocols, but closer to how RubyMotion basically makes them optional.
Amazon's Stressed Out Culture Is Burning Out Employees
>My impression of the Haskell community is its full of snobbery and complaining.

Probably because the Haskell community is used to having a programming language that is, in and of itself, very good. They complain because they know what they're missing when they have to use inferior tools.

>Develop an imagination. Javascript can be wielded very effectively. It's just different.

The same can be said of x86 assembly. That doesn't mean we don't complain about programming in it, and we don't try to find better alternatives. The entire field of programming language development is about finding tools that are better than the old ones, even if the old ones work OK.

>The disadvantages are alleviated by comprehensive functional or black box testing.

If you think "more testing" alleviates all the problems of weakly typed languages, you have no idea what you're missing.

>I feel liberated by not having a strong type system restricting my options.

If you feel restricted by a type system, you're using it wrong. A type system is a useful tool, not an impediment. It only prevents you from doing wrong things.

"I like assembly because it lets me do any operation on anything."
3D Printed Nintendo System Made With Raspberry Pi
We use kanban for the Brackets[1] project, so I've been looking into tools like this recently. The most promising one I've seen so far is Octokan[2]. What I like about Octokan is that it:

1. uses GitHub Issue labels to represent the columns (unlike Waffle)
2. doesn't require all of our open issues to be "on the board"
3. is faster than Huboard
4. uses horizontal scrolling with fixed width columns like Trello rather than trying to pack all of the columns into the width of the window (also in contrast to Huboard)

We currently use Trello for our backlog and kanban[3] but it is kind of painful to synchronize this with GitHub (and so we don't... there's a lot of "small item" work that happens only in GitHub and is not tracked through our kanban flow).

None of the tools I've seen provide us with cycle time and throughput metrics, which is a drag. We're likely to write a script to pull the data out of GitHub and calculate those values. (GitHub, alas, does not track when labels are added or removed... so we have to start there in our custom work.)

I think it's great that there are people building better visualizations on top of GitHub Issues and I'm looking forward to seeing how tools like Waffle, Octokan, Huboard, etc. evolve.

[1]: http://brackets.io
[2]: http://octokan.com/
[3]: https://trello.com/b/LCDud1Nd/brackets
> But I don't see how that's different from explicit interfaces; in both cases the intent is only implied by the name.

Go's approach is theoretically more error prone. It relies on names matching in a way that can happen by coincidence. The important part of explicit interfaces here is referencing a common declaration site, that could e.g. give informal requirements in the form of comments. I doubt Go's approach is particularly error prone in practice, though.
Sounds great, we are doing similar to this ourselves now but it's time consuming and I'd love to outsource it.
I just recently (i.e., last week) finally splurged and bought a motorised sit/stand desk. I've been wanting one for some time as I work from home full time and want to stand for part of the day.

Here is the new setup (in standing position): http://imgur.com/cgRoSUu

I just bought the frame and reused the desktop from my old desk. I was tired of using plastic boxes and phone books as monitor stands, and couldn't find good stands that had the height I wanted, so made my own using some wall-mount monitor/tv brackets: http://imgur.com/YwyRwVl

The window on the right looks out on the cat-run in the back yard (when the curtain isn't drawn) and that's a hermit crab tank on the left (which is currently unpopulated until I automate the humidity controls.)

Speakers and lots of kids photos are on a shelf that is currently behind the monitors, but can be seen when sitting. My back is to the door, so there is also a little rear-view mirror glued to that shelf to make it harder for the kids to sneak up on me. (Tying bells to collars worked okay with the cats, but not so well with the children for some reason which is strange as the cats are much more cunning.)
Elixir is neat, but it takes dynamic languages much farther away from static type checking.

Static compilation and compilation speed make Go very attractive for large projects.
Dragontrail X Glass Amazing Strength New Smartphone Covers [video]
Hundreds of "Lost" Atari Cartridges Unearthed in NM
Yeah, well, frankly I don't think either approach makes much of a difference. They both work. If anything, the reasons I prefer Java (the language; there are other reasons to like, or dislike, the JVM), are exceptions, final field, and concurrent data structures. The last two are much more substantial than interfaces or exceptions, which make for a pretty cosmetic difference (I find both languages to be quite similar).
> checking out at a Trader Joe's

I wouldn't draw any conclusions based on Trader Joe's. Their cashiers are friendly and quirky in that same manner around Boston as well. I wonder how they sustain that kind of culture; maybe the pay is better? Some unique interviewing process?
Ideally you would have prior experience in sales, marketing, or fund-raising. But if you have hustle that can be a substitute while you learn those roles.
The purpose was to not allow defining types which satisfy the interface outside the package. In this case they still want others to be able to use the values of the interface.

It's an uncommon thing to need to do, but this example shows that you can do it.
Yes, it's best to use the smallest tool (orthogonal language and libraries) for the job because it's less to test and maintain, and more likely to be correct.
A better example of Emergent behavior might be something that implements A and B it also incitements C if C is a subset of A and B.

Or if your refactoring and decide to split an interface so what was X is now Y and Z. Consider adding unkillable NPC's to a game. Rather than having special code to handle MOB's that you can't kill you remove HP's from the MOB interface and add a killable interface and now the type system helps you refactor your code by complaining when you try to harm something without HP's. At the same time you don't have to change any existing objects.
would love a linode version!
Guidelines for growing a stable codebase
Looks great! Is the depth sorting inherent or manually specified? I notice that there is one Escher-esque shape (maybe this shape is defined as a whole then sorted?).
I can see you point in general about usually this not being a problem and I agree with you (I come from Python here so duck-typing is the name of the game if you wish). However I was trying to think where this might break (playing devil's advocate), I can think of specialized domains with lots of code referring to same terminology.

Ok like we have Close(). One could have Commit(), or MtxDeterminant() or Launch() things like that, where just a lots of people using same terminology in a domain are just bound to create collisions (on individual names!). Now high likely it is that a combination of those would be hit, not very sure on that.
Turn half off and have the other half chew through them, recursively.
Debug 34: Sexism in tech
Very cool, I have been tinkering with something similar.
> Yes I know about Erlang, no I won't touch Erlang again.

Curious, what makes you say that?
Both - but my depth sorting technique is incredibly naive.

"Shapes" consist of many "Paths" (paths = faces). If you draw a shape, it will attempt to order its faces. Instead, you can draw an array of paths in whatever order you'd like.

When drawing multiple shapes, the ordering is completely manual (unfortunately). This is currently my top priority.