skysight-inc/HackerNews huggingface dataset:
I don't know that much about Haskell and I don't consider myself strong enough to make judgement calls on the theory side of systems architecture. That being said, here is what I was scratching my head about:

1. ("form over content comment", sorry) Not necessarily a criticism of the speaker as this is mostly a typical room mic issue, but the volume differences made this rather hard to follow. But in the delivery, it often seemed like the filler language was very loud and more in-depth details were mumbled into the screen.

2. I keep wondering "why?". It was just brushed over in the beginning, but I did not hear a compelling reason being presented on doing everything in Haskell. I do get that it is questionable to build this ever-growing API that does nothing but glue the client (javascript app) and server side to eachother. But isn't that what the internet is about? Having contained nodes that communicate?

And how is basically automatically generating the same sort of API... but now instead of a growing list of named end points (paths and maybe even GET variables), you have an RPC style protocol that directly adresses the internal code via the tree it sends back as part of the request ... better?

Later (around the 48 minute mark) the very valid question is brought up - isn't binding UI updates to server interaction very, very expensive? Expensive in such a way that encouraging it as a basic part of the systems design is a bad idea. And the speaker kind of makes a joke of it and says we can just throw more servers at it. Well maybe, but that seems to be a rather substantial error in the entire system design. It might solve some other problem and the problem created may have a simple solution, but... I just don't get how all that sums up to being a great idea.

3. Is this, in some sense, about avoiding to write an application in javascript? Because I have found a lot of people doing that - building the most incredibly colorful systems only to avoid to finally let go and just build a javascript application already.

In this particular instance, it seemed to be about trying - as much as you can - to do everything in Haskell. I have also seen people build frameworks on the idea of writing everything in XML files and interpreting them at runtime in PHP. It's possible and you can conjur up advantages, but at the end of the day, it's still not a good idea.

Nor is it compelling to other devs to join in, which brings it back to the LISP problem: an incredible potential for flexibility, but at the end of the day, it's just not very social. And thus, no matter how much nerds despise that conclusion, doomed to obscurity.

4. How can this ever "upgrade seamlessly"? It seems like this pushes the syncing issues down to the code level. I'm not sure that is an advantage to having syncing issues on the data level.
I feel like you've likely come across this regulation-related op-ed penned by Skype's previous COO, but just in case:
http://www.coindesk.com/bitcoin-regulation-lessons-early-day...

> To put it bluntly – every bitcoin actor should be reading the law very carefully and finding the loopholes. You should all invest a great deal of time in this – it is hugely important. For example, are you really moving ‘currency’ or are you simply exchanging some sort of token?

> Companies need to just carry on doing what they are doing, if they can make a case for themselves that they don’t need regulation, they shouldn’t even go near it. ... [They] should read the rules, argue why they are not covered by the rules and use that analysis as a defence, but they should only ask for permission if they are sure it is necessary.

Regardless, great positions.
I feel the same way about machine learning algorithms and even deep learning. The more you learn about how the algorithms work, the more it seems like just simple averaging of numbers. I think this is a good thing though, because it removes the mysticism behind it.
What This Dive Bar Can Teach You About (Not) Marketing
Hope you don't mind me being frank, but you got screwed. Perhaps there's some complexity that I'm missing here, but this looks like maybe a 200-hour gig, so at 150 USD/hr (you can get real quality talent for that in the US), you'd be looking at 30k. Maybe more if you wanted to put extra time into the mobile experience, but I doubt you'd need more than 40 extra hours for that. Certainly not 100k worth of work here.

EDIT after reading more comments: looks like I did miss a lot of complexity. Still, it's hard to believe all that stuff was necessary. Need more content? Pay some schmuck $7/hr to make content (or outsource on Mechanical Turk, etc). Or stay extra-lean and do it yourself. Admin area? Probably don't need something terribly advanced. Caching? Not unless you're getting a ton of traffic, which it doesn't sound like you are. Wordpress integration? Doesn't sound terribly useful or relevant, but I could be wrong given that I don't know the target market (if there is one?) very well. Maybe you had tens of support emails a day asking for it - but I doubt it.
There is indeed a lot more to do. While there is clearly diminishing returns, secondary rays for instance are computationally very difficult, and contribute significantly to the final perception of the scene. While we're able to take all sorts of shortcuts for special instances a general and global solution is still an unsolved problem.
Currently security related things are implemented not only as libraries, but as libraries written in memory/type unsafe languages like C.

A more principled approach to security might be to bake the relevant security features in to the semantics of our languages. There is work being done on languages with type systems that enforce security guarantees.

http://www.pl-enthusiast.net/?p=11 and the pl-enthusiast blog in general covers this topic.
Classic algorithms and data structures in CoffeeScript
Well, a good site is supposed to grow, right? At the same time, our site isn't really growing - which makes me think there's something wrong with it, somewhere. I have tremendous respect for the people on Hacker News, and I think we need honest advice from intelligent people. Showing HN usually doesn't muster really, really tough criticism.
There was an article that appeared in the NY Times, a few years ago, that discusses the malfunctions of radiology equipment. There was one story, in particular, that stood out for me. It describes a, reportedly not unusual, malfunction/crash of a linear accelerator used for Intensity Modulated Radiation Therapy (IMRT):

"An error message asked [the medical physicist operating the device] if she wanted to save her changes before the program aborted. She answered yes."

How many programmers read that and cringe? I know I did. My guess is that the operating system being used for the device is some standard OS (Windows CE, maybe?) that is being repurposed to run the application and provide the GUI for the device. It's not that this is necessarily bad, but I would think the most important thing to do would be to strip the OS (or UI) of the various "user conveniences" that in a life or death situation could have all kinds of unintended consequences.

If a person is coding or doing graphic design -- or typing up cooking recipes -- and a crash happens, it's a good thing to have the opportunity to save your work. If 1 teaspoon of butter gets changed to 1 tablespoon because of some kind of data corruption, big deal. So your cookies come out terrible!

It's quite a different matter if the application is coordinating 120 moving parts to direct a radiation beam onto a human body.

The article is here:

http://www.nytimes.com/2010/01/24/health/24radiation.html?pa...
Wikipedia says Boyer Moore is O(n+m) which is the same as this algorithm.

https://en.wikipedia.org/wiki/Boyer-Moore_string_search_algo...
Thank you, we'll fix that!
Firebase (YC S11) Is Hiring a Head of Business Development
And are not traditional bricks a form of lego anyway you just use mortar rather than studs to connect the bricks.
Yes, one of our legal counsels actually recommended that we read that article once. And then again. And again until it sank in.

It sank in. ;)
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n402...
I think he's talking about salary, which tends to go up when you're not a major shareholder. They have to motivate you to stay with a higher base pay/bonuses, when they can't trust you to stay because you care for the company.
Longer, LISP had it in 1958, a full 56 years ago.
See also: "The Power Of Poop: A Whale Story"

http://www.npr.org/blogs/krulwich/2014/04/03/298778615/the-p...
> Well, a good site is supposed to grow, right?

Why, precisely?
The argument I presented is saying that campaign finance is not the root of the problem.
You're asking a question that the experts have also asked, so it's definitely a good question. The algorithm you're talking about is also called the naive algorithm. It's much faster in practice than you might expect given its simplicity and poor worst-case performance. That's because pathological behavior doesn't actually happen that often, and most of the time it is quite efficient.

I'm not sure whether it or KMP would be faster. But it doesn't matter much in the real world, because even better algorithms, like Boyer-Moore and its derivatives are faster still, and they are used instead.
Well, C++ ABI is a similar issue but not related to the Gtk+ ABI because Gtk+ is written in C.
In that case, the reference is still mutable even if the email address isn't. One may also delete an account; i.e. you can change the state of something. A language should set clear boundaries on what is mutable or not, and I see both FP and IP languages going with extreme boundaries in either direction.
What is a language? How deeply up and down the abstraction scale does a "language" need to implement to be called a language?

Some languages, like Go, implement a different edition directly atop many various OS's, with their own garbage collection and type inference. Whereas others, like Coffeescript, are text generators sitting atop and relying on features of other languages. And there's many shades in between, such as languages that produce JVM bytecode rather than executables for each different hardware target the JVM sits atop.

Then there's the issue of how much support atop the text files a language directly supports. Some, like Kotlin, make IDE support an official policy, whereas others, like Java, don't, instead relying on third parties to provide it. Some languages only provide the visual interface. Macros, like in Clojure, and compiler directives, like in C, could also be considered "atop the text file syntax".

If readable source code in some certain language can be generated from a VM or an AST that many different "languages" target, then in a sense they're not really languages at all, only "bytecode generators" or "transpilers".
A lot of people who talk about math on the internet seem to phrase it as this cold austere thing where it doesn't matter what anyone thinks because theorems are theorems and it's all just axioms in the end. And while we all sort of work with that understanding (somewhere, deep down there), in our waking hours "experiments" are the most efficient and insightful way to check our work and intuition. If we come up with some great beautiful theory and, assuming all the work was done correctly, we find a simple example for which our results contradict something we know to be true (or hold dear) then we have to look more closely at the starting assumptions, potentially rejecting them entirely.

These kinds of mathematical experiments definitely do not "take place" in the real world. Having an infinite number of people who can see infinitely far in front of them should have been a clue to that. It's just a way to expand mathematical jargon into an idea that is easy to keep in your head.
Are you familiar with the history of Bitcoin-denominated stocks? The history of various bitcoin stock exchanges which have been shut down by the SEC? Do you know exactly what the regulations are? Are you aware of how they've actually been applied to Bitcoin in the past?

Are you aware of the extensive fraud that has been perpetrated in the this space?

This is not a new field, it's got a couple years of history, and very little of it is pretty.

What are you doing that makes you think you'll be different?
I don't get what you mean.

What's the purpose of a presentation, and why can't it just be generated?

If colors and animations convey meaning, there's no reason not to include them in the generated UI.

I have used many aggregators that let me use features from a handful of services, and never have I missed the diversity of presentations of all the base services.

> Arguing that computer ux should solely be driven by the needs of interface without concern for presentation is like arguing that all print media should look like unillustrated pages from a research paper.

Unless I don't understand your definition of presentation correctly, and ignoring the absurd idea of avoiding illustrations in a research paper, I don't see a problem with this.
Intel Omni Scale Fabric to Power Next-Generation HPC
I see what your saying and that was the type of thing I was getting at. If i understood the article correctly, the claim was that it was faster because the first 2-4 checks could be optimized by avoiding the idiv. But even if you optimize those check to zero time, that is a small number of checks in comparison the number of checks needed as lim increases (even at lim = 20, only 10%-20% of the checks would be optimized). It doesn't follow that the run time would be cut in half based on the article's conclusions alone.
>Presumably, as baby boomers reach retirement age, more people will exit the workforce than enter it, even in good times

That maybe offset by boomers working past traditional retirement age as pensions go broke, they live longer meaning nest eggs need to go further, and retirement accounts make up lost ground from the '08 recession.
I don't think he means ABI in this strict sense, but just in terms of API compatibility.
Got it. It's OK to be honest that things aren't growing without feeling like the site "sucks".

Have you tried having a 15 minute Skype conversation with your 10 most passionate users? They can tell you loads about what they love/hate. You'll get some good clues about how to find more people like them and convince them to share it with others.
An alternative way to provide housing for the poor in developing countries is the beer bottle: http://www.smithsonianmag.com/arts-culture/when-heineken-bot...:

"In 1960, Freddy took a trip to the island of Curacao in the Caribbean Sea and discovered that he could barely walk 15 feet on the beach without stepping on a littered Heineken bottle. He was alarmed by two things: First, the incredible amount of waste that his product was creating due to the region’s lack of infrastructure to collect the bottles for reuse. (Back then, bottles were commonly returned for refilling, lasting about 30 trips back and forth to the breweries). Second, the dearth of proper building materials available to those living in the impoverished communities he visited. So he thought up an idea that might solve both of these problems: A brick that holds beer."

That approach was less ambitious by aiming at building small houses only, and had the advantage that distribution already existed, but failed, too.
The Prize by Daniel Yergin devotes several chapters to the impact of oil in WW2, notably the destruction of the Shell complex at Balikpapan in the Pacific and Ike's decision to allocate fuel to Montgomery instead of Patton when stocks ran low, boosting Montgomery's march towards Antwerp but stopping Patton two days short of the Saar.

He covers everything from Japan's desire for the oil production of Indonesia to Germany's doomed synthetic fuel effort. The author also covers Nimitz's focus on denying oil resources to Japan, a strategy that eventually let him land several fatal blows to the Imperial Navy and end the war in the Pacific.

Nimitz was so successful in that strategy that near the end of the war, the Japanese began using kamikaze attacks against American naval vessels as a fuel-saving tactic, since pilots only required half as much fuel to complete their mission.

http://www.amazon.com/The-Prize-Quest-Money-Power/dp/1439110...
This post was written by Morten Welinder, the author of Gnumeric and a popular GNOME blogger.

I feel really bad for GTK developers. The GNOME guys have clearly taken the toolkit from a "general purpose" direction to a much more gnome-centric one.

At the same time though, I can't help but be hopeful for the future. Qt is a wonderful project, with a bunch of wonderful licenses, developed in a wonderfully-open environment (It's not like before!) and with wonderful improvements already available in Qt 5. With more and more applications switching to it, I see Qt as a central part of the Linux desktop ecosystem in the future - finally, not only will we have a beautiful desktop with common themes for all apps, but also the power of a truly cross-platform toolkit in most Linux apps. It will be nice.
Or: The divorce industry has been a significant help in reducing the stigma associated with divorce, such that people can now make their own decisions without the societal pressure to stay in an unhappy marriage.
I don't think it truly qualifies as an expert system because, to the best I can determine from this limited article, it doesn't make any inferences from a base set of rules. Rather, it is provided with a comprehensive set of all rules, and attempts to find the best solution that satisfy those rules (or, in the language of operations research, constraints). The value provided then is that, because it can consider the space of solutions efficiently, it may discover solutions which are not obvious to human operators.

The way these systems are made, and as the article mentions, is that the obvious rules are added, and solutions evaluated. Experience humans will then usually discover something about the solution that is impossible/impractical, but was not included in the provided rules. The new rules/constraints, and the process repeats until humans are comfortable with the feasibility of the solution/schedule.
> Strike the first rune upon the engine's casing employing the chosen wrench. Its tip should be anointed with the oil of engineering using the proper incantation when the auspices are correct. Strike the second rune upon the engine's casing employing the arc-tip of the power-driver. If the second rune is not good, a third rune may be struck in like manner to the first. This is done according to the true ritual laid down by Scotti the Enginseer. A libation should be offered. If this sequence is properly observed the engines may be brought to full activation by depressing the large panel marked "ON".
Hey! I just want to say, this is awesome and I wish you the best of luck.

I am a Developer and I noticed a few really concerning things in your CSS:

1. I believe you're committing the greatest CSS Sin: Emulating the DOM structure using nesting. Here is one example: "#site-header.newheader nav>ul>li>a.buttonGreen"

That CSS Selector should not exist like that. You shouldn't be using ids (first) and second this should be be: .buttonGreen {}

It looks like bad Sass or LESS is being used and nesting is being abused. If you'd like more advice on how to fix this I have written many talks.

The reason these selectors are a problem is because of the extremely long paint time. Right now your site takes around 30ms to paint. It should be closer to 10ms.

2. The CSS classes used are meaningless. Above there's a "buttonGreen" class. However, what if you redesign and that button is now blue? Do you just edit the CSS (like should have to be done) Or do you change your HTML and CSS to reflect a basic styling change? This only hurts you and maintaining your site.

3. You're loading 2.4 MB of data on your home page. 1 MB of that is images, which is fine, but that means you have 1.3 MB of data loading. The good news is that on mobile almost 100% of what you are loading are images, however, that number is still 2 megabytes. I'd see if there is a way to lower that number.

4. It is extremely busy. I was really confused when I got to the site. I am not a good designer so I cannot give specific advice, but I'd think "calming" the site would help a lot.

5. On Chrome Mobile I cannot click the hamburger button. It does nothing.

6. You need to simplify your creation flow. You have 4 pages right now, it should only be 1.

7. Your select boxes need a dropdown arrow.

8. USE NATIVE SELECTS and restyle them using CSS. Use a fallback for IE and IE only!

9. Mobile functionality is not the same as desktop functionality, this is a big one that needs to be fixed. You should be able to do the EXACT same things on mobile that you can on desktop.

10. The goal of the site should not be browsing, I don't think. I think it should be about: Creating lists and sharing lists. Browsing should certainly be an option, but make creation and sharing more prominent than browsing.
> Don't know why you're being downvoted

Perhaps because someone who downvotes without replying is the sort of person who would rather click than think.

Ironically.
Astro-Matic Baseball
"Nurse scheduling competitions" seem to alternate between IP and CP approaches - my feeling is that when the number of solutions is "small", CP pulls ahead, but when there are many solutions and the objective is important, IP wins. Very case-by-case dependent, regardless.
I don't think I've ever got work from my portfolio. It's occasionally been something to show someone later in the process. The vast majority are face to face contacts and networking.
I doubt that any of this will move the needle in a meaningful way for this site.
Apologies for poorly making that point. That is, my point was that we need more ways to embrace this separation. I'm not sure unifying the language on client/server would really help.
Technically the site seems just fine. For your $200k I hope it has a robust back-end, as unless I'm missing something, it's functionally simple.

Your mobile interface is good - needs a tiny bit of polish around things like the vote counts being cut off on the "list of lists" view. Your featured lists suck. Greatest presidents? What's the utility, other than "oh look"?

Find a niche and cram yourself in there, saturate it, then look at other verticals. Right now you're putting the onus on the user to find a use for your service. Don't make them think. Give them a use.

Given the extant decent mobile interface, and the general clumsiness/info-overload of the ilk of trip advisor, sculpting for travel lists might be a good niche to push into - best places to eat, stay, see, etc. Cheap to experiment with this and other verticals.

Anyway, that's my $0.02, and fwiw I've steered several startups (from a dev/consult for equity corner) to successful exits - just not my own!
SINQ - Swift queries fluently
I believe you're committing the greatest CSS Sin: Emulating the DOM structure using nesting. Here is one example: "#site-header.newheader nav>ul>li>a.buttonGreen" ... If you'd like more advice on how to fix this I have written many talks.

I didn't know this was an issue until recently and now I'm slowly fixing it on my main project. I'd love your additional advice/pointers!
This is an excellent introduction to first and second-order Markov chains. Please re-post once you've got (Python?) code snippets. Gifs are really helpful at illustrating these principles.

There's a typo: You have the word "leaving" twice in a row.
Yup, I clicked that green 'Create a list area' at the top several times.
I always wondered why most common KMP and RE implementations don't take into account the case of using streams instead of strings. That's why I ended up writing this article (with code) "Searching for Substrings in Streams: a Slight Modification of the Knuth-Morris-Pratt Algorithm in Haxe" [1] and adding information about a currently unsupported RE lib that take into account streams.

Hope this helps.

[1] http://blog.databigbang.com/searching-for-substrings-in-stre...