skysight-inc/HackerNews huggingface dataset:
Ceylon looks very interesting. The union type is a brilliantly simple way to combine types. It's something that once you've seen it you would ask how come type combination not done this way all along.

The map comprehension is very interesting, going beyond list comprehension. Should make functional style programming easier.

I wonder how big the download of the runtime is for running as Javascript inside the browser.
I like the direct approach to Union and Intersection Types.

I wonder if the goal of making the language 'immediately readable to people who aren't Ceylon programmers' limits them too much. This might be why the type signature for functions in `void repeat(Integer times, void iterate(Integer i))` is so macabre.

Tuples and comprehensions are always nice. The 'tree syntax' stuff seem a lot like JSON-javascript, which I guess has found it useful.

At the end of the day I'm not convinced why this is a better language than the lot of JVM languages out there.
Complexity.

Though it has definitely been improving over the years.
Well... Why didn't KGB use {some book} as a tool to undermine USA? Didn't USA have any weak points to attack culturally?

I've heard similar stories and they don't sound good for USSR if you think of it. Your enemy deploys a new kind of weapon on your turf and you can't answer.
I wonder if there's a 'Godwin's Law'-analogue for this quote [1]. It's one of the first things that I thought when I saw the article, and we're not the only ones: emilion thought of it, too (https://news.ycombinator.com/item?id=7992318).

[1] To be fair, Godwin's Law is not quite the right comparison: unlike references to Nazis, I think that this quote actually does contribute something to the discussion, by succinctly describing an interesting consequence of trying to decide if axioms are 'really true' (obvious / intuitive / whatever).
Python has map comprehensions like this:

{i: i+1 for i in range(10)}

Works pretty well.
Yeah, I don't use Spotify for that reason. But that guy was just answering a question.
I wonder if my comment was downvoted because I made him sound as if he was cursed with some condition outside of his control and that's all. I feel sorry for people who have self-defeating patterns of behavior that cause them problems -- even if I, myself, could not stand to be around them, because I don't believe anyone would willingly choose to have problems. This boss may well have even been in that category. Who knows. But in point of fact, his behavior was frankly abusive, vindictive, and bullying toward me, and he would throw demonstrative fits of temper and behave in ways that I've never thought possible to get away with in a workplace, all the while being very personal and spewing pure hate. When this type of person is your boss, it only makes it so much harder to deal with.
If you are actually taking about the icon/logo for the app, you'll probably want to spend some time working on it. It's the first thing that a user sees, and so can have a surprisingly significant effect on engagement. You'll also want it to be unique enough to stand out amongst other apps, but not so ugly as to encourage the user to delete it.

I'm definitely not a designer, so I use a professional designer for real (consumer) projects. For just an app icon, creative talent is actually pretty cheap - e.g. fiverr had 225 listings for 'app icon.'

While it is a bit intimidating to roll your own, it isn't actually all that hard. Here's what I've done:

1) Download a few component SVGs from http://thenounproject.com . For example, if you want a star on your icon, search for 'star' and download the one you want.

2) Load all of these SVGs into Pixelmator, or an Adobe tool, or GIMP.

3) Resize/recolor/shade/layer the individual SVGs until you get something passable. Save it in a very high-resolution as a master.

4) Resize this master into all of the different sizes you need. I think Android has roughly five different icon sizes, from 144x144 to 36x36. If you're comfortable on the command line, ImageMagick does quick work of this resizing.

Good Luck!
> If these code examples look boring to you, well, that's kinda the idea - they're boring because you understood them immediately!

This sales pitch finds me at home!

Also there seems to be some nifty features in there e.g native unions and intersections.
Unite[0] and Vimfiler[1] for Vim. Before, searching with ag[2] required using the command line, now I can do it directly from Vim. Also, opening NERDTree took seconds, vimfiler opens in less than a second.

[0] https://github.com/Shougo/unite.vim
[1] https://github.com/Shougo/vimfiler.vim
[2] https://github.com/ggreer/the_silver_searcher
>Ceylon's syntax is ultimately derived from C. So if you're a C, Java, or C# programmer, you'll immediately feel right at home

...yet we introduce the VB-keyword "shared" instead of "public", "variable" instead of C#'s "var" and use square brackets instead of curly braces for array initialization. You know, just because fuck you.

Seriously I see this all the time in new languages. Why invent or change keywords just for the sake of changing? Why does Rust use "let"? Why does Scala use "def"? If you want easy adoptation from one of the two largest languages in the world, change what matters and stick with the rest.
This is why I haven't tried it. I have zero ways to establish the long term risks of this. I don't want to radically enhance something and end up with depression or a decrease in other areas.
filter, so we pass it through hash 1 – returns 33, hash 2 – returns 7 and hash 3 – returns 22. Next we go to each of those elements in the array and set them to 1,

I think the diagram was poor shortly below this line, it didn't even match up with what you were saying above, making me confused. I enjoyed wikipedia's algo desc better: http://en.wikipedia.org/wiki/Bloom_filter#Algorithm_descript...

Good article in the end though!
Well, I bought the game and I gave it a shot. I like indie-productions like this.

The game is fun but I encountered a little snag where, somehow, it'd keep asking me if I wanted to resume the game constantly. I must be doing something non-standard with my thumbs and this takes away from the experience.

Granted, I play this on an iPad at 1x-mode, so the form factor difference might be the reason for the constant pausing.
They did other stuff like helping the anti-war movement during the Vietnam War.
Twitter has too much noise and there are specific users that I want to get tweets from. This is an ongoing project that I am working on that lets you create a list of your favorite Twitter users and see the tweets they posted today.

I am going to add the ability to get texts anytime a user you choose tweets.

Any suggestions you have would be appreciated!
Yummly on Hacking Taste with Food Data » Food+Tech Connect
Customer segmentation and personalization: combining 2 powerful techniques
I think the big idea is that this STM only attempts to commit at points where the GIL would have traditionally been released anyway - after so many bytecodes or some other condition. The linearisation of the memory writes of the different threads should be the same as if there was a GIL.
It's not that I am creating a different Math. Just point out that branches of math are not just exploring different topics, they often use different Axioms.

With care, operations on infinite sequences can be defined precisely

Sure, but let's suppose your describing a finite state machines. Now, they can't generally deal with infinity.

The Venn diagram bit is actually part of an old CS joke. "Everything is working perfectly, and the database returns NULL."

Edit: Bringing back to my first post, the "Axiom of Choice" is not the only place you can disagree.
Because it is of interest to hackers and rightly so. Some submittals are good because they are cutting edge, others because they touch on the fundamental - the magical - aspects of computing.

In terms is it being news, it's a bit of a feature story rather than on the scene reporting of a city council meeting or a cub's coverage of the police blotter or the Chamber of Commerce recent press release wrapped up as news.

If nothing else it's better than a blog post about the algorithm, and for me it's always helpful to be reminded what an amazing resource Wikipedia has become for computer science topics.
Who are the globally known people born within present day X?
> The air strike was to prevent further spillage

Yeah, that's what I meant -- I just didn't word it right.

ca 1991, I hadn't gotten interested in world news yet. I would've been 12ish years old.
A Tech Company w/ a Radical Idea: Having A Baby Shouldn't Derail Your Career
Immutability is kind of an overrated fad. The world is very much mutable. I want to see how languages manage mutability. Languages that provide simple mechanisms and tools to manage mutability go a long way to help the programmers to cope with the real problems.
Show HN: VOTD.tv the daily awards site for Video
A few months ago I stumbled on James Morris' GitHub profile [1] by accident. There's not much activity, but he has dabbled with Ruby on Rails.

1: https://github.com/jhm15217/
Google totally ignores users' concerns about sticky toll roads option on Maps
Is there a Scheme / Racket compiler for the LLVM yet?
The prisoners are metaphorical. What this is really about is a mathematical (not practical) strategy whose result seems to be at odds with probability theory.
I was wondering how Ceylon is supposed to be different from Scala. I found this blog post from 2011 that compares Scala, Ceylon, and Kotlin: http://blog.lunatech.com/2011/08/24/scala-ceylon-kotlin-goal.... Basically, Scala aims to be concise and “scalable” by explicitly aiming for both OOP and FP support. Ceylon aims to be an improved Java that is more concise, powerful, and modular, while still being familiar. Ceylon also aimed to be less complex than Scala while still being as powerful, but I don’t know if it has succeeded.

There is also this huge 2013 article comparing eight JVM languages with each other: http://zeroturnaround.com/rebellabs/the-adventurous-develope...
> Why does Rust use "let"?

let is the standard keyword for introducing a new, shadowing variable binding. It is a very old tradition and is immediately recognizable to functional programmers.

> If you want easy adoptation from one of the two largest languages in the world, change what matters and stick with the rest.

In the case of "let", it would be a false consistency with C/Java. Assignment in C/Java does not have the same semantics as a let binding in Rust, although a let binding in Rust has very similar semantics to a let binding in Scheme or Haskell.
Didn't he have like 9 paying users after 15 years or so? Poor guy :) Could have needed some monetization strategy advice
Top Google result for Felix: http://spin.atomicobject.com/2013/05/02/chicken-scheme-part-...
Oh, I agree. I'm totally comfortable with it, by now. I think the von-Neumann quote might apply here: "In mathematics, you don't understand things. You just get used to them."
>>But the people that had to carry out the scheduled work took a while to get used to the idea, as they didn't like not knowing why they were doing certain things.

There's some real Asimovesque worship of technology here. Without sounding like a Luddite (computers are good at scheduling), this is scientifically scary.
Thanks! I built it because I wanted to use it myself. You can read more about pricing here:
https://www.productpush.io/pricing
Essentially, i wanted to have per usage fee people would be comfortable paying instead of doing the same task manually.
There will likely not be one, at least in the short term, as there are plenty of scheme-to-C compilers out there.
> The world is very much mutable.

LOL, what?
Sorry but I don't get it. Why I'm going to pay you if at the end it's me the one creating the tweets, the coupons and there is no extra exposure?
Walking City
That is amusing.

It is good to see the flag brigade taking over whilst some of us sleep.
I think the issue with these comparisons is that they commit the "all languages are equal" fallacy in what seems to be an effort to be "fair" and trying to find good and bad points for every language.

In the end, only actually using the languages helps...
I don't think you see what I'm saying. Imagine a single torrent called "music", 15 terabytes large. Opening the application inside brings up a local copy of Spotify.

>It seems to me that the a-grade private torrent trackers are exactly that. Larger catalogue, more comprehensive metadata, and better interface than any commercial service.

Regardless of metadata quality and collection size which I think is debatable although having not seen one... they are a la carte, so much different.

> If you have the infrastructure, and are really dedicated, you can definitely do it today.

No infrastructure is required, just multiple terabytes of storage (which most households do not have... yet), and bandwidth that makes downloading terabytes an attainable feat. Needless to say the later is not viable today either. But eventually both those things will become commonplace.

15 is a high number too. The set of music one would be possibly be interesting in hearing (of the set of all music which has already been produced) may be closer to 3-5 terabytes. Movies of course, are different larger set of numbers.
>It's just that the default settings – only one panel (at the top), ugly blue theme & background image – are not very appealing and feel dated.

I used to run exclusively Linux distros, but then switched to OS X around 2008. Recently, I installed the Xubuntu Desktop and I felt that dated feeling you write about. My thought was, "Wow this hasn't changed" Even if it has changed, I couldn't tell at a glance. That's good in one way, but bad in a lot of others.
Ask HN: When is a good time to get some publicity?
Like Show HN, Ask HN, techcrunch, etc. When you have few customer base in hand? Or early beta?

Just curious to hear your thought.

Thanks.
From the article, it doesn't sound like any actual artificial intelligence or machine learning techniques are being applied here, just a collection of algorithms. Does anyone know technical details?
C — the language he cites as inspiring the syntax — doesn't have "var" or "public," so you're arbitrarily choosing another language as the "starting point" and then insulting this language for not doing the same thing as the one you would have chosen. And in the years since C came about, square array literals have been pretty common (and curly-brace array literals are actually almost unheard-of)†, so that seems like a pretty reasonable deviation from C.

† Here is a not-remotely-exhaustive list of languages with square sequence literals: D, Objective-C, Python, Ruby, JavaScript, PHP, the whole ML family, Clojure. On the other hand, C didn't even traditionally have array literals — it just had a special curly-brace initializer syntax you could use with arrays as well as other aggregates.
I'm trying to figure out if there is a good reason for the mammalian birth canal to go through the pelvis, without much luck. If that routing is not advantageous, birthing problems would only come up when it happened to be prevalent on that planet.
We intend to enforce the Show HN guidelines (https://news.ycombinator.com/showhn.html), so if anything, you should see the scope narrow a bit.
For more context, take a look at "The Bones Chronology" (http://tighar.org/Projects/Earhart/Archives/Documents/Bones_...). The message regarding the sextant box serial numbers is about half way down the first page.
are we at least somewhat confident that it does what is claimed?
They said it's a genetic algorithm, which just means they're looking for an approximate solution to an NP complete problem. My guess is that they have a list of tasks and dependencies, and then try to do the tasks in an order that minimizes conflicting use of dependencies. An example being track section A requires signal work and track work. section B requires track work. Do the signal work on section A and the track work on section B, then do the track work on section B. This is better than doing the track work on section A and letting section B remain idle.

Of course, with hundreds of miles of track and thousands of tasks to perform, the algorithm does a better job than people. Though people are not particularly bad at this task.
Nah, FRP is fundamentally about continuous time.
Coming back to the UNIX Philosophy, again and again
From the language specification[0]:

> This code is not legal, since all three statements occur in the initializer section of the class body:

class Point() {
Float x => y; //compiler error: y is not referenceable
Float y => x;
Float->Float xy = x->y;
}

> However, this code is legal, since the statements occur in the declaration section of the class body:

class Point() {
Float x => y;
Float y => x;
}

If I'm reading things correctly, class declarations are split up into "initializer" and "declaration", with only an implicit split (the last statement that is not allowed in the declaration section). This seems very awkward.

0: http://ceylon-lang.org/documentation/1.0/spec/html_single/#r...
Ian McEwan's "Sweet Tooth" [0] was partly inspired by the CIA's secret funding of Encounter magazine [1].

He also makes reference to to Frances Stonor Saunders' [2] book "Who Paid the Piper?: CIA and the Cultural Cold War" [3] which is about CIA funded cultural manipulation (on my bookshelf, but only dipped into it a bit).

Fascinating stuff.

[0]: https://en.wikipedia.org/wiki/Sweet_Tooth_(novel)

[1]: https://en.wikipedia.org/wiki/Encounter_(magazine)

[2]: http://www.amazon.co.uk/dp/1862073279

[3]: https://en.wikipedia.org/wiki/
This really reminds me of an essay called "Manna" from Marshall Brain (which may already be known to a large number of HN readers).

[1] http://marshallbrain.com/manna1.htm

[2] https://en.wikipedia.org/wiki/Manna_(novel)
Gnome 3 works pretty well on my desktop. But I use the keyboard for navigation a lot.
When I wrote my comment, I was actually looking at how variables inside a method are declared, not fields (attributes, as they call it in this language) like you mention (seems like the 'variable' keyword is not for local variables, but for attributes).

So I was mainly hoping it is like F#, that forces you to decorate non-immutable variables with the `mutable` keyword, inside a method/function.

However, thinking about it more deeply, this is not so important. Because local variables (in a method) are never shared between threads. So immutability doesn't suffer from them being mutable. Right?
What are the implications of this for SV methods of hiring?
European Banking Authority Opinion On ‘Virtual Currencies’ [pdf]
The Console key is set to ~ in input.ini but doesn't appear to work on this build of UE4. Only option that's working for me is:

-fullscreen -resx=1920 -resy=1080
I've been poking around the site and there was a mention of running in the browser. I have been unable to find any examples. Does anyone see any?

I'm thinking of something modifying form text boxes or something simple like that.
Hmm, Not sure what the problem would be. Are you accidentally touching the top right corner of the screen? Thats where the pause button is, there's a little video player pause icon up there. I made that whole corner into a pause button so it's easy to hit when your playing on the iPhone
And I thank you for it :D
I loved the overall UX feeling.

Even if it gets messy with so many "morsers" in the room, what's not to love about mess? For a moment there, I felt like part of an orchestra, tuning my instrument; adding my bit to a more transcendent byte, petabyte, or whatever.

Just to illustrate, watch this:
https://www.youtube.com/watch?v=Xxz630u7YlQ

Oldie but goodie
The etiquette for reposting Show HNs is similar to that for reposting in general, but there is one difference.

The general rule of thumb is: when a story hasn't had significant attention on HN in about the last year, a small number of reposts is ok. That's so good stories can have more than one crack at the bat.

We can adjust that for Show HNs like this: if a Show HN has already had significant attention on HN, there shouldn't be another Show HN for the same project. In other words, no one-year cutoff. But if a Show HN hasn't had significant attention yet, a small number of reposts is ok.

As the guidelines at https://news.ycombinator.com/showhn.html point out, though, if a project has had a new and interesting breakthrough, it might be ok to make a new Show HN out of that. But not for routine feature releases.

In case anyone is wondering, yes, we're eventually going to add this information to the Hacker News FAQ. We're dragging our heels about that, partly because we want to change things slowly, and partly because we have ideas for more sophisticated dupe detection that we might want to try out first.
Code for fun, not profit
I definitely agree with you that the title is over the top (a little click-baity). I think the tone of the actual essay is more reasonable.

While it may a somewhat mediocre piece, I didn't see anything to indicate anti-intellectualism. However un-original, the main idea is important and worth being reminded of (at least, I enjoyed the reminder). I think the last two paragraphs sum it up well.
How much training does it actually take to learn the GNOME 3 interface though? I use to train people at a call center how to use an old terminal based DOS application to fill out orders for sausage in 3 8-hour days. But gnome 3 is a lot more simple. Surely 8 hours is enough to teach about work spaces and how to press the windows key?

It's funny you almost never hear about companies having to train staff to use a company smartphone. I guess all smart phone interfaces are pretty similar though.
I don't see how that is supposed to be any recommendation. If Ceylon is going to be similar to Hibernate in terms of quality, simplicity, performance and amount of design WTFs, I don't want to touch it.
If you are thinking about the Android runtime, Dalvik and now ART, those aren't JVM (I think they compile to a different bytecode). There probably is a port of JVM but I didn't get the impression you were talking about that.
Mobile Phones Will Help You To Make More Payments
I also suspect this is a "defensive" move. A good experienced co-ordinate will give a ML system a run for its money on "gut" plus be able to factor in the efficiency of certain teams, morale and even how hard the "track work" is - but he gets it wrong and it was "gut" and his boss cannot justify it. Put in an ML system and his boss now gets to say "the system decided"

Both ways there is an expected % of sub optimal decisions but only one can the boss blame someone else.
Then why don't we start architecting computer systems that respect many peoples aversion to large abrupt change, and allow them to gradually adopt new features? Instead we do these sporadic and massive code-drops that are jarring to a large segment of our users. And then we blame our users for being disgruntled.

As developers we would never accept this from the kernel, and we would complain about how it was forcing us to do massive changes to our code. Yet, we think nothing of doing this to those who have come to rely on our code.

We need a better methodology and economic model. This may well be one of the hidden benefits of SAAS where slow incremental changes fit in more easily.
This has long been a dream for architects.

Back in the 60's Fritz Haller produced a building system for the Swiss company USM. If you've ever played with the fischer-price toy Construx you know exactly what it was like.

The USM building system consisted of three sizes of connections, interfaces and panels. Each panel would be surrounded on four sides by four connection beams, and four interfaces at the corners. Build up enough of these together
and you could put together a building.

Sadly, the building system was too far ahead of its time.
But they did build furniture for inside the factory, which was a huge seller.

If you speak German, there's a great talk about the USM systems history.
https://www.youtube.com/watch?v=qZNbJoI2DuE