skysight-inc/HackerNews huggingface dataset:
Yes, that's what I said: for most businesses (that aren't trying to scale to infinity the way that VC startups talk about), literally any database will do. Even single-node SQLite will do, because there won't be enough contention for its locking to ever matter.
This is where I think clojurescript (particularly with React) really shines. Pure functional is the default, and you have to actually do work to make things stateful. The main pitfall of almost-functional languages/frameworks is that it's all too easy to fall back on stateful programming to get things done quick-and-dirty.

Clojurescript has a lot of other problems -- e.g. not really having an ecosystem outside of Lein -- but using cljs/om for the first time was like a breath of fresh air.
A softer phrase that might work better is "All Software is Experimental". It has less pejorative connotations, and could be a shibboleth among seasoned developers.
I've seen some I added myself with Instabridge (another WiFi sharing app), the location of some of the networks are wrong because the app messed up sometimes (my school network is also located at my house for example).
Yay for hyperbole ;)

Shared libraries are most useful when matched within a specific distribution's package/version chain.

Tying a third-party distributed package to a given shared library, on the other hand, is less helpful than just supplying the expected, tested, and supported library upfront and still let knowledgeable operators do what they will on their chosen platform.

No technical debt is accrued if the libs are truly interchangeable anyway, but especially if they are not, this stands a better shot at fixing it.
For now, but this is the future of HD computer displays.
Free Web App Configuration Course
You can buy a whole Chromebook for that price.
Remote Procedure and Event Protocol
>The real world has wild temperature ranges, wilder temperature _changes_, mechanical variations well above and beyond datacenter use, and possibly wil wild loads (e.g. viruses, antiviruses, all sorts of updates, etc. etc.).

I'm not sure what you consider "the real world" (SSDs in ToughBooks for research expeditions in the Amazon?), but seeing that HN is a startup/pro IT social site, most of us are interested to be running them in data centers...
> 30-80 percent of SSDs develop at least one bad block and 2-7 percent develop at least one bad chip in the first four years of deployment.

Did he perhaps mean 3-8 percent?
I wrote and implemented a similar protocol to RPEP in 2013 and have been using it personally, but haven't released it. In my recent search of something similar I found the unfortunately named WAMP (Web Application Messaging Protocol). Despite its goal of being simple and easy to implement, I found the spec complex and bloated. It doesn't stick to being a messaging protocol, also defining routing and brokerage - unnecessarily so in my opinion. I subscribe to the single-responsibility principle, and WAMP seems to violate that. So I wrote up this RPEP spec and want to know what people think about it.

If anyone wants to contribute to RPEP by either making implementations or discussing changes to the spec, please let me know.
Putting on goggles to block out all visual distractions? An office with a door does this pretty well too.
Rep. Zoe Lofgren: Without Immigration, Google Would Have Been Founded in Moscow
As expected, I didn't see an actual apology for your complete misunderstanding over a fundamental issue of Prop 13. Just bleating about state and local governments somehow "crippled" even though there is no evidence of that. I bet you don't even live in San Jose, whereas I have for many years. I suggest you should actually understand the issues. You obviously don't, and instead just prattle off talking points that you googled without bothering to understand them. The Bay Area housing market has been hot for the last 20 years, the vast minority of houses will be owned for more than 20 years, which means that the amount of taxes that were collected has risen tremendously.

But I see fat cat public servants getting ridiculous pensions and 13% raises, and then the politicians coming back to the people for more money by raising taxes. Police services include web sites to record crimes, since they won't actually come by and investigate them.

This is the original reason why Prop 13 was introduced, because politicians went to the well of property tax one too many times, and the public got sick of it. Prop 13 will never go away, despite your best Internet efforts, but little actual physical efforts.
It took a few clicks but the Zoltan user guide explains the project's raison d'être:

The Zoltan Library contains a number of tools that simplify the development and improve the performance of parallel, unstructured and adaptive applications [for application developers].[1]

[1] http://www.cs.sandia.gov/zoltan/ug_html/ug_intro.html#Motiva...
Web typography is a Forbidden Art. Mere mortals are not allowed to gaze into the profane heart of CSS.

(I can't access it either, from the US. Site seems to have collapsed under the traffic from HN.)
Illumina sues Oxford Nanopore for patent infringement
I don't think this is code that someone learning Scheme should be reading, it's pretty damn unreadable. Some obvious issues, just starting from the top and continuing for a while:

- Defining a new iteration macro FOR that's used in just a single function, has a very odd syntax, and that's way too generic for uses.

- The first parameter to the PICK function (the position) is a pair. That might make sense if those pairs were values that had been passed throughout the program. But actually every place where PICK is called constructs a totally new pair just for that call. It should be split to separate ROW and COLUMN parameters. This would remove a lot of noise at the call sites.

- Or alternatively, if the parameter is kept as is, all of this boilerplate: (cons (- (car kpos) 1) (- (cdr kpos) 1)) should be replaced by calls to a function that does both the consing, caring and cdring. Something like (add-to-position kpos -1 -1)

- The is-piece-foo functions use eq? and equal? inconsistently.

- The CH-HOF function is full of copy-paste boilerplate with each instance having tiny tweaks. Turning these into calls to sensibly parametrized functions would make a big difference.

- There's like 20 instances of (set! rsc (+ rsc 0)) . What in the world is that supposed to achieve?

- The indentation of IFs is horrible. Putting the THEN branch on the same line as the test, and then putting the ELSE on the next line is just criminal. Especially given how deeply nested some of the condition expression are, it's very hard to notice that it's in fact a two-branch rather than one-branch IF. It's as if this code was deliberately written to be obfuscated.
Onyx Boox 13.3 Inch E-Reader
I never said this is sound advice for bipolar people as opposed to those suffering from depression. As a matter of fact, I never insisted this is good advice for anyone, I specifically stressed that I'm not a doctor. I merely pointed out that there's a certain point of view, quoted by reputable sources. Given the above, I don't really understand the downvotes
No, they're talking about building a small test loop Real Soon Now. Their site has a huge collection of renders and animations, but very little about real hardware.[1] Supposedly they had a 220 meter prototype for an amusement park in New Zealand, but there don't seem to be any pictures of that.

The hype to hardware ratio is strong in this one.

[1] http://www.skytran.com/
"They call it the "Voxatron Table," and it's outfitted with eight joysticks plus buttons. The game can be played with four players, Kean says, in the fashion of the 1982 arcade game Robotron: 2084 — a heavy influence on Voxatron's design. The table has a manufacturer's suggested retail price of $29,800 and is available for purchase now. The company's still working on a more consumer-friendly volumetric display."

Holy cow that is expensive. Anyone know of other volumetric display hardware that is cheaper?
Yeah, I used my limited knowledge of x86 and some research into other ISA's (such as MIPS) to give me some ideas.
How are the 950 Pro. Are they worth the hype? There is some rumors about them running too hot for laptop use actually.
Oh, and I forgot to answer your question.

I haven't decided on audio. It might be a set of sys calls that manipulate oscillators. The graphics interface is quite literally just manipulating the program memory. You can see the registers in the lower left corner of the video I linked.
a "kitchen monad" may seem to be a overkill for doing what you (or your mom) may need to bake a small number of cakes for you to consume

but

bakery monads are what is needed if you want to bake hundreds of thousands of cakes of hundreds of different variations (types) in a manageable manner.

FP starts to make (more and obvious) sense there not in the small household kitchen. But even then that is not to say that FP doesn't make sense in a small household kitchen. Only, it is very difficult to make sense of that sense at the smaller scales.
Interesting, except on my macbook I can't hear anything. I wonder what the low frequency cutoff is.
It’s got a 32-bit UEFI Bootloader which isn’t Linux friendly. Just like most compute sticks. I think even the Intel Compute Stick with Linux on it was limited to Ubuntu 12.04...

I spent an afternoon once getting Linux to run on the Lenovo stick and an HP Stream 7. I returned them because I don't ever want to have to do that again. I can't even picture using one of these on a daily basis.
The problem with this approach is you would inevitably end up breaking the team as your budget may not fit the team available. This approach also ignores the managers who allowed the team to flourish in the first place. There is something fundamentally wrong with this whole article as it ignores the high hiring bar that Google already has in place which creates a self selection bias.
I'll toss it out there that 100% pure FP is pretty much the epitome of keeping a stack of state somewhere... But I wouldn't claim it's too similar or intuitive to someone more used to standard state management.
Yeah, exactly. But what does it mean if even seasoned developers rely on interfaces in all this experimental software staying fixed for all time? The article falls for this disconnect as well, with its great enumeration of the problems contrasting with the repeated references to interfaces as a solution. Interfaces are part of the problem. (Or more precisely, our propensity to freeze interfaces, and our reluctance to rethink interfaces at will.)

My favorite bit of the article is something I've been thinking about for years:

..paradoxically the cleaner and saner your interface the more likely it is to succeed and thus more likely to become constrained by its users, to solidify.

I've been idly dreaming of a future where we decouple modules not by their interfaces but by their behavior. The major failure mode of our age is premature freezing of interfaces, and it happens because it's hard to judge how done the interface is from the outside. An interface that looks really clean can be exposed by a detailed look at the implementation that covers a corner case that hasn't been addressed yet. I'm trying instead to think about the input space of a function. I'd like in future to be able to make guarantees like this:

> The behavior of this function is fixed when argument foo is less than 5. However, for larger values we're still nailing down some details.

The argument foo might shift from being the first to the third, or its type may change in some subtle way (that still preserves previous guarantees). So upgrading will often cause some pain. However, the upside is that the pain is bounded. You never end up in some 1% situation where upgrading your OS borks up your Rails app and takes days to fix, or breaks things in subtle ways that you don't notice for months.

You know that the upgrade effort will be bounded because you know that as long as you pass in the right value into the right slot, and as long as it's less than 5, behavior won't change and all your tests will pass. That seems like it might be superior to an interface, even if it adds a little extra work up-front.

More details, in case you have any thoughts:
http://akkartik.name/about
http://akkartik.name/post/libraries2
Compared to what? People talking about their favorite programming editors? Discussions of brace style? Functional vs OO vs ... programming?
What I meant by the difference between the HTML in an Aurelia template and JSX is that the React component's markup has to be inside the its respective controller's render() method. That's the main issue.

I am not arguing about JSX syntax, but rather the principle behind it. How would I safely refactor a css class across hundreds of components in a safe way and not by find/replace? An IDE such as WebStorm actually tracks CSS classes by their reference in other HTML/CSS files and this includes CSS preprocessors. I know it's a safe bet to run the renaming, although I always preview the changes beforehand.

I'm a reasonable developer, but this is an anti-pattern that has been eschewed voraciously over the years. Your appeal to the intelligence of React's devs is an informal fallacy and doesn't change this fact.

I am not trying to be dogmatic here. Yes, breaking the 'rules' when it is warranted is perfectly fine. My argument here is that in this case, this anti-pattern isn't warranted and will be very expensive work with as the product grows. I am advocating standards and best practices. React sidesteps both for an unnecessary reason. It works, it's pretty awesome how fast it is, but it cannot scale with a product's lifecycle.

Web components keep the HTML in the DOM and are being officially adopted as a standard. They can be polyfilled with a lib from http://webcomponents.org/. Aurelia, although it is a framework, is extremely lightweight and greatly simplifies the use of web components. Polymer isn't as elegant, but it clearly demonstrates the idea of dynamic reuse. There are other alternative libs as well.

As an aside, ES6 is now standard and with Babel. Javascript is now closer to ECMA, as it was intended to be.

I think I've made my argument as clear as I can, thank you for a great (and polite) discussion. It has actually been helpful for me to voice my opinion and get a better understanding of the support behind React. Again, it's impressive how fast it is over other libs such as jQuery, but jQuery's always been bloated and is near the end of its usefulness. However that point doesn't detract from the very cool things that React can do in the right hands. I wish I could bet on it, but to me it's the wrong horse in the race.
> Defense of any principles (right, left, or religious) is considered extremist and dangerously reactionary these days.

Economic orthodoxy being is also considered radical and extremist by the mainstream.
I've wanted to make a language where the memory and the graphics output were interlinked. Meaning your memory was always visible and you had to balance memory usage and graphics usage. For some reason it took me too long to realize I needed to make a VM to make that a reality. Because of that goal, I decided to design the VM around a simplistic goal of having all program memory in one block. While this isn't realistic (a real machine wouldn't have its registers stored in the same memory as stored memory), I decided I didn't care.
So in the end, there was one core idea I wanted to play with, but I also wanted to teach myself more about ISA design and explore that area more.
What I want to know is, are senior engineers 100x more likely to be extremists? Is Steve Wozniak the next Osama bin Laden?
Yeah, I forgot to mention that this was over a period of two months. I settled to 8.5 hrs, on the dot, but with a shift of sleeping a bit later every day.
>What is the best font-loading strategy today?

As a website visitor, I'd prefer sites stuck with the bloody built-in fonts. Can be get some kind of project to increase the standard, cross-platform fonts available in all platforms/browsers to 30-50 from the ~10 that they are now?
Artisan-Made Goods from Mexico – Jim and Ale from Maria Bonita
Nope, the resolution is still way too low, the FOV is too big. We need something like 4K per eye for it to become comfortable.

And even that won't even get close to 3 physical monitors in terms of resolution, simple because the geometric transforms kill your perfect pixels.
Increase the volume. It's very low pitch track.
Even Python has immutable strings and numbers.

Mainstream languages are slowly moving towards more and more functional concepts. The progress towards referential transparency is slow, but ongoing.
The New Republic Is Sold
Sorting and filtration are super bread-and-butter FP. The "hard" bits are the IO to get the results and to print them out. Solve the first with a nice HTTP client lib like Wreq, bring in the IO language to do it, finish it off using putStrLn to print. It's neither the same mechanism as you're used to not difficult.
Hidden Mesh Gradients in Inkscape
The biggest destruction of ivory in Africa's history is about to take place
Maybe engineers are just more likely to be effective extremists?
I solved a problem that was right up my alley; using tools I'm very familiar with; a challenge that wasn't too easy and wasn't too hard/complex. It was just right.
Everything happened in a "state of flow", it felt completely effortless. I feel euphoric on my way home.. the solution is almost perfect, everything fell right into place.
What Computer Games Taught Me About Urban Planning (And What They Didn’t)
That'll just be the speakers.

Sennheiser HD 600 plugged into my MBP comes in loud and clear (or loud and eerily wobbling bass noise)
> The last time I looked at Haskell, it needed ~700MB of dependencies before I could even get started.

ghc is big, indeed. There are smaller alternate compilers and interpreters (that no one uses). Compiled executables are usually smaller than ghc, which is probably the biggest Haskell programs ever written.
The title is misleading. The WTO is taking issue with the protectionist provision that quotas a certain amount of solar panels that must be produced in India. This is bad for Indians and bad for the world. This kind of protectionism doesn't "create jobs" because if everyone does it, everyone is paying more for the same stuff. There is therefore less money to go around (because some of it was wasted) and thus less jobs can be paid for overall. I support the WTOs move to get rid of protectionist policies like this. India will have an easier time fulfilling its solar program without it.
> wasn't a good cultural fit

And I'd fire you if you used barfy corporate speak like this.

> should've been let go

How positively stalinist. Just so we are clear - a guy complained and you'd fire him for that, not maybe first reason with him? Don't complain when the company is razed to the ground because nobody talks to anybody lest they be taken by the nkvd.
"The keyboard is the only thing I need, except for the glasses."

I think this loses a lot of appeal until we can throw away the keyboard. We should be able to do better. Hopefully, Google ships this silicon this year:

https://www.youtube.com/watch?v=0QNiZfSsPc0

I'd rather have those monitors and no keyboard.
Isn't performance a problem? Technically you can memoize to eliminate constant recomputing of state, but that itself is overhead. Sometimes I try to use a functional style in common languages and end up backing out when it comes time to optimize.
Why? First, loops are only a special case of recursion, and trying to shoehorn everything into that special is actually hard to read.

Second, functional programming usually emphasises combinators like map, filter, reduce/foldr. Those are easier to read than either naked recursion or loops.
Free personal finance software for Linux, Windows, Mac, iOS
Unfortunately, that won't give you the level of HMR integration that webpack with it's dev server instance will give you. Which is, to say the least very nice when working on the front end, especially gui changes several steps into a process...

Just a couple months ago, I was working on the final screen in an 8 step process that has several seconds of delay (not react). Needless to say, it wasn't fun at all and probably took me several times as much effort. Yeah, getting an understanding of webpack, babel and the setup/configuration for a project can take a full week or more, but once you have it, it's more than made up for.
I don't hear a single sound.
If only we had http://www.skytran.com/
Tutorial: DeepMind's Neural Stack
> I disagree. Recursion makes a stack trace that should be 10 functions deep into one that's 1000 functions.

Recursion has nothing to do with stack traces. Stack are one way to implement some version of recursion in functions.

Some other versions of recursion in functions can be implemented with loops.

And, of course, not only function can be recursive, but data structures as well. (And a few other things.) You can traverse these data structures any way you feel like.

> It's difficult to debug and follow the code around, or even to understand the code if someone else wrote it.

I have that problem with loops (and mutation) much more than with recursion. Different things make different people's heads hurt.

> Also recursive functions tend to spiral out of control and have ridiculous exponential run times.

Oh, that's an artifact of how you've been taught (or self-taught). Loops are a special case that only works well for simple tasks. Recursion is more general and can express the simple case in a simple way.

Of course, if you only reach for recursion in the complicated cases, all uses of recursion you see will be complicated. Simple observation bias.
>Stateless programs; No side effects

Which is not all it's touted up to be.

>Concurrency; Plays extremely nice with the rising multi-core technology

Nice, but not that nice. Don't expect any significant speedup for the most common kinds of programs.

>Programs are usually shorter and in some cases easier to read

For some people they are harder to read. As for shorter, Python can be pretty terse too, as can lots of other languages.

>Productivity goes up (example: Erlang)

Anecdotal. In the real world, most systems in production (including at NASA and the most critical environments) are made with imperative/oo/etc programming, which must count for something. For every WhatsApp there are 10,000 stories of such programs.

>Imperative programming is a very old paradigm (as far as I know)

Functional programming is 5+ decades old too. And parts of math are even older, but we're still keeping them...

>and possibly not suitable for the 21st century

Citation needed.
Orca are not whales. Technically, they are really big dolphins. They are in the delphinidae family (dolphins) which explains why they look/act/sound/move so differently than other "whales".
20? More like 40. Until 2005 or so few considered this "pure" style essential to FP.
https://news.ycombinator.com/item?id=11187981
Oh exploitable!
I wonder how the faculty male/female ratio impacts the student ratio. Here's Harvey Mudd's CS Department:

https://www.cs.hmc.edu/people/

It lists 15 Faculty: 9 Male, 6 Female.

Interestingly, 6/15 also equals 40%.

How does Harvey Mudd's ratio compare to other schools? I'm guessing most CS departments are more male dominated, but don't know for sure.
Of course not. Hehehee. Stuff like this makes people like me happy, because of all the exploits.