skysight-inc/HackerNews huggingface dataset:
foo(X) ->
case X of
bar -> void;
_Else -> undefined
end.

> would become:

foo(X) -> foo1(X).

foo1(bar) -> void;
foo1(_Else) -> undefined.

Incomprehensible rubbish, made more obfuscated by the second form. Okay, X appears to be an identifier bound as a parameter. So then why doesn't bar behave that way in

foo1(bar) -> void

is it because the X symbol is upper case? Or one letter wide? (Yuck, if so.) Or does it have something to do with that semicolon? (Double yuck.)

At a glance, how the heck do we know when a symbol denotes a binding, and when it denotes itself?

"_Else" is beautiful? It reminds one of the "_Bool" retch, vomited up in C99 by a drunken ISO C committee; but at least that is hidden by a #define bool _Bool that everyone halfway sane uses in its place.

In any event, splitting case statements into pattern matching functions isn't "lucid". Unless you're doing OOP, it's largely stupid. The case statement keeps the relevant cases together. It "en-case-apsulates", pardon the pun. The only reason that the individual functions retain clarity is that they are grouped close together, so we, the readers, can reconstruct them as the case handling aggregate that they are.
It doesn't sound particularly misleading to me. That's just what "gross" means. Gross is always way, way higher than net. You wouldn't subtract the wholesale cost from the gross income of a retail chain, you wouldn't subtract employee wages from the gross income of a software firm, and you wouldn't subtract contractor payments from Lyft.
Personally I'm using a similar form factor atom-based stick in a body-worn computer to handle animatronics and lighting for a costuming project. The Raspberry Pi isn't powerful enough to handle the tasks that I need to do, and the $100 price is a lot cheaper than industrial boards.

For a home-based solution, it seems like a solution for non-hackers to set up a computer for the kids, etc that they don't have to worry about. For schools, it's a cheap way to turn surplus monitors into computers for student use. For an office type layout, I can see these as being useful for people who don't need more than google apps and the like. If there's a problem, a reboot will fix it, if it's more than that, the help desk person can just pull a replacement out of their pocket. Tiny's pretty useful when you need to deal with the logistics of a few hundred desktops throughout their lifespan.
I have not been impressed with mine, slow and buggy. It also is not a fit for the NAS requirement.
I do like the interface. I usually just scan the contents hence the card layout works fine.
But don't like card interface for sites like hackernews/reddit. There i am mainly interested in user comments.
Points well taken. Thanks.
Is the currying example even currying? It looks like it's just a function returning a function to me. I thought currying it's some thing like func contains(subString: String, string: String) -> Bool, and calling contains("a") would automatically return a func(x: String) -> Bool.
Terrorists hide plans by 'going dark'
Australia tax hits again. Seems to be $130 here, but I think that's going to be the rough price I pay for any device I go for. The addition of chromecast is nice.
Once the case, wireless adapter, and a few other items are added in to make the Raspberry Pi 2 function as a nice HTPC it comes out to about $100. The same cost for much less hardware.
Yep, the video chip in it handles 1080p with no problem, and should handle 4k even.
ISIS Calls Anonymous ‘Idiots’ as Cyber War Heats Up
We may not need to wait nearly so long.

This is a quote from a book by Nick Lane that I think would be relevant here.

"studies show that bacteria can lose superfluous genes in a matter of hours or days. Such fast gene loss means that bacterial species tend to retain the smallest number of genes compatible with viability at any one moment."

The main reason he claims is that for bacteria, the speed of DNA replication is generally the limiting factor in speed of cell division and proliferation of said bacteria, so selection pressures lead to more favorable outcomes for the bacteria that maintain the smallest functional genome.

The book is Power, Sex, Suicide: Mitochondria and the Meaning of Life if you or anyone else is interested. Fascinating read I would recommend it.
Ola Raises $500M in Series F from Tiger Global, Softbank and Others
Similar processes are going on even now. "Bog iron" was very widely used in the days before long-range transportation.

https://en.wikipedia.org/wiki/Bog_iron
Please split YouTube comments from Google+. The YouTube comments used to be a traditional comment system, amd was a good source for infos related to the video. When the merged it with Google+ the comment quality tanked. Nowadays you read a lot of "hey my friends have a look at this video" with replies from friends. A very bad decision and user experience.
"Ola has closed over $1.3 bn of external funding, of which over $1.2 bn has been raised over the past year."
Astonishing!
Raspberry Pi is not really good as a media player. It struggles for high quality high bit rate 1080p videos and it is limited with USB 2 and does not have gigabit ethernet.
[MIT Lectures] Introduction to Modeling and Simulation
A site I hate, avoid like the plague, and block via /etc/hosts where possible.

But thanks for the example.
Lets play devils advocate. Does pretty == readable?

I consider this:

foo(X) ->

case X of

bar -> void;

_Else -> undefined

end.

More readable than:

foo(X) -> foo1(X).

foo1(bar) -> void;

foo1(_Else) -> undefined.

First function is parsable in its entirety immediately. It conveys an idea in a single fragment, which is not too large and it is not too small. Foo executes depending on value of X.

Second function requires parsing two fragments of code. It requires a not-so-pretty naming scheme of appending 1 to the function. And you can not grasp the entirety of the matter in a single glance. To parse this function you must follow a train of thought: foo -> foo1 -> execute depending on X.

Second function style of code results in a million functions in a single module which I very much disagree results in more readable code.

Moving on to next example:

foo(X) ->
final_function(maybe_function(X)).

foo(X) ->
Maybe = maybe_function(X),
final_function(Maybe).

I fail to see how second foo is more clear. In Erlang maybe value can be absolutely anything. It is unnecessary verbose. The explanation on what is wrong with first function contains way to many "shoulds" and not enough "becauses".
A simple generic code generation tool
Let's see:

2 HP-41's
1 HP-41C
1 HP-41CX
1 HP-48gx
1 HP-49g
1 HP-16C
1 HP-32S
1 HP-48S
1 HP-35S
1 HP-200LX
1 HP-Prime

All in perfect condition, manuals, original boxes, accessories.

Yeah, I've been into the RPN thing for quite some time.

Favorite?

The 35S sits by the CNC machining center inside a zip-loc bag to keep oil and metal shavings off of it.

Desk-side is mostly the 41CX.

One of the things nobody has mentioned yet is how much better the 41's LCD display is when compared to ALL other HP calculators, excluding Prime. I tend to do a lot of coding and CAD work under subdued lighting. The 41's display is very easy to see just with the monitor's illumination. The other's suffer from low contrast LCD's that are hard to see outside bright office environments. Prime is self lit so that's not a problem.

I had a couple of others but gave them away. One was an HP-50g and the other was a folding model, just can't remember the model number. Yeah, HP has made some, well, less than great calculators.
Does lashing out against something one feels is destructive without a reasoned argument accomplish anything positive? I have my doubts that it does. It might even lend weight to the very arguments he's attacking since he's made such a weak argument.

I'm not debating his position, which I respect, but his argument. If an argument is nothing more than talking about how angry one is and then attacking those who hold the opposing position, it's noise at best and a rallying cry to a mob at worst.
Engineering Principles
You could probably proxy a file through your own server and add any headers you like. But in that case browser cannot use a version of a script cached at other sites.
I have wondered this myself. Would make a pretty interesting next-gen Mac Mini.
Any chance you can link to some memorable stories? There's such a huge collection that having a curated list might be interesting to read.
According to the folks in charge is unrelated.
You can't, where? You mean in general in some functional languages?

Sorry I don't see how your comment fits with the gp's comment.
New Startup connects homeowners with service providers
The Kangaroo is unavailable in Australia?
Hey dipshit he threw away his entire way of life to tell you about an enormous imbalance of power. Try not to miss the forest for the trees.

When the visionary points at the moon, the fool looks at his finger.
> almost what everyone though the Chromecast was
I'm not sure Intel will catch up. Underestimating the power and importance of graphics hardware seems to be a chronic problem that they have.

It's a shame NVIDIA's Project Denver custom CPU didn't seem to work out very well. I was really hoping they'd be able to produce a CPU worthy of pairing with their top-end GPUs, to make an x86-free workstation and lessen their dependence on Intel. Wouldn't that be something?
libdispatch is more than just programs submitting blocks to queues – dispatch sources and event handlers can handle channels of asynchronous input as well.
I'm doing that this semester with a Tabata timer app - I'd seen my wife workout with one and thought it would be good for textbook skimming. I have the timer ding every 60 seconds, and at that point I'm on the next page (unless I make an exception, which I do at times). It gives me a 10-second break between every page, which I use to finish a sentence, or just redirect my gaze in a new direction. With that kind of intensity you can only do so many pages at a time, so I typically set it to 15 "reps" of this before I take a break.
I personally prefer it than Facebooks super dense 'UNIX window manager from 2003' look.
You sound like a propaganda sponge.
شركة مكافحة حشرات بالدمام
Maintain and convey positive outlook on life.
That would be exactly opposite to what terrorists would want you to do.

Make a difference!
From my speculation, rather than the memory card carrying a binary (e.g. control code) that provides extra functionality, it's far more likely that the welding machine is inherently capable of working at a large range of frequencies, but the control software deliberately disallows these options without the SD card, which likely carries some serial# or decryption key.

A more suitable analogy would be a console game with so-called DLC that is already present on the disc. Or classic Casio fx-82ES => fx-991ES hack (OT: My copy of 82ES happens to be rev. A which is trivially hackable; Casio responded by producing a rev. B that is harder to hack).

I personally believe that at least modification of this sort for own use (i.e. not offering it as a service) should not be prosecuted. That is, if I own this awesome welding machine, it should be totally fine for me to reprogram it, regardless whether I changed only one bit or page in the Flash, or completely wrote code for it from scratch.
That's not quite true. You normally wouldn't refer to Lyft's total proceeds as "revenue", gross or otherwise. Retail stores hold inventory which runs the risk of going unsold. Not true of Lyft. Ebay calls it "gross merchandise sales". PayPal calls it "total payment volume". Google subtracts "TAC" out of its network revenue. Etc. I've seen Uber refer to it as "gross bookings".
Then one day at my academic progress meeting the dean asked me about my publication record. I had forgotten to publish, but it was ok!

Now that I was unemployed, I had even more time to play with physics!
I've built systems with libdispatch and blocks. I found it much nicer than traditional C style non-blocking IO or typical pthreads, both of which I have also done.

• You don't need to use blocks, there are function callback versions of the calls available, but blocks are nicer.

• There are asynchronous IO routines, that covers most of your stalls.

• Go probably stalls threads on page faults, as does libdispatch.

You can read about the Linux port of libdispatch at https://github.com/nickhutchinson/libdispatch
> It feels a bit heavy in comparision to Highcharts

But Highcharts is not Open Source :/
Doesn't sound very convincing. What's the significant difference between those technologies? Both JSON and XML represent trees, they both allow to validate structure, specify a location on the tree. Why JSON is "data format", and XML "language" - and what is the difference between these two concepts?

I feel a bit sorry for XML. A modern evolution of SGML, which pursued ideas of reliable data storage for decades, XML was an attempt to be user-friendly, to be easy to deal with manually. It was after all rather similar to HTML, on appearance.

However, XML is too verbose for automated processing, and too inconvenient for manual work today when there is JSON - or other more "humane" formats. So it seems it's on the way out.
Also, accounting. When/if it goes public, it almost certainly will not refer to its total proceeds as "gross revenue".
According to the people who rooted the chromecast a couple years ago -- https://blog.exploitee.rs/2013/chromecast-exploiting-the-new... -- the chromecast is using a modified Google TV base. So any hacking between the two platforms wouldn't be easily transferred. Even with the chromecast 2, there probably won't be easily transferable exploits as that is using a Marvell chip at its core.
> Second function requires parsing two fragments of code.

foo1 is used to illustrate a point not that you'd name functions like that. The whole thing would be probably:

foo(bar) -> void;
foo(_) -> undefined.

I don't know, I see that better than the case statement.
While this doesn't invalidate your point, I've seen recordings of people being coerced to give up their pin by someone acting like they are being helpful in getting an ATM to work. The guy of course has a skimmer and gets it later.
Perhaps it's because Uber is the only service with such an offering?
According to the article hendzen linked to, the Phi processors are absolutely general purpose CPUs -- they can be the main CPU on the board and can boot and run stock OSes.

This is much more powerful than a GPU, which is fundamentally SIMD -- it can hit TFLOPS speeds running hundreds of threads doing different things. While not everyone will need this power, I suspect it will open up entire new classes of applications.
Google have been tremendously coy about what their success metrics for G+ are, though they've played highly disengenuous all-but-utterly-fake numbers games in playing up "engagement" since the very beginning.

I'd argue that the issue isn't numbers, but relevance. G+ is lousy in many ways but has a few small areas of success, notably its Notifications mechanic, a community which, for me, works fairly well, and a search which while pathetically under-featured is comprehensive and fast.

Winning the numbers game for social vs. Facebook in its current incarnation is a fool's errand. Numerous people have pointed this out, including ex-Googlers pointing at the "Interest Graph" (though suggestions for following / pursuing this date to the first few months of G+).

If Google does grab the Cosmo crowd, that's fine, so long as it doesn't also chase off the Nature/PLOS crowd in the process. Unfortunately, Google's proven more than happy to sling absolute snot (as in the G+ "What Snot" feature ... oh, no, that's "What's Hot").

Power users learn how to disable that instantly.
Honestly, you don't want the Linux version of the compute stick. It's got a gig of RAM and 8 gigs of flash. Getting a windows stick for the increase in RAM and flash, and then doing a nuke and pave seems like a much easier route.
I have one, no complaints whatsoever for streaming 1080p hi10p over wifi-n with kodi or MPC-HC.

I would agree with the article when it complains that (A) streaming requires good wifi, and (B) an Atom isn't as powerful a desktop workstation as an i3/i5. They seem self-evident to me and as an HTPC i'm quite happy with it.

Steam streaming was my specific use case, so now that the Steam Link is out, i might have purchased a cheaper arm device and attempted to port or RE its software.
Appending 1 to functions is quite common in Erlang for cases such as that. You cant find a good naming scheme for small fragments of ideas.
Interesting, haven't heard of that observation or the book. Thanks!
I was thinking the same thing. Why not use the Wordpress model and have your template language be a bunch of api calls to the parsing engine.
It's wasn't ban just for Intel Xeon, but Nvidia and AMD as well. So it is competitive advantage because there are no alternatives. It's obvious that such restrictions won't affect China's access to actual hardware, but prevent their cooperation with CPU/GPU vendors.
To understand this story it helps to realize that in the olden days there was something called "tenure".
The author is Ash Furrow, who has written numerous Obj-C books and apps. I highly doubt he's confused about Obj-C; he'll probably turn up in this thread at some point though, so it may be worth asking.
Snapdocs (YC W14) is hiring front end devs
Full Time | San Francisco, CA

Competitive Salary, benefits, and generous options.

SnapDocs is a early-stage, rapidly growing company looking for a front end developer. The ideal candidate loves beautiful web pages and has a strong interest in UX. We believe in good design and we are data driven. So far, we've been pleasantly surprised to find out that these are not mutually exclusive.

We're a small team tackling the absolutely massive mortgage market. We're bringing elegant software to a field that still relies on fax machines and manilla envelopes.

Everyday, our clients call and email to say that we're making them happy, and that feels great. However, in this industry, most people are unaware of what modern software is capable of. That means we must do research, gather data and talk to customers to inform each of our choices.

Snapdoc's culture is one that trusts its team members to make smart decisions. This means we value both independent work as well as seeking collaboration. We're becoming ubiquitous in one segment of the market and we're looking to hire another core engineer to help us expand further.

==Job Description and Required Skills==

* Can take a mock and make it a crisp, responsive page.

* UX experience (or interest in cultivating it) would be excellent.

* Being the 5th technical member of on a fast-growing company. This means helping to form a healthy and happy culture. We strive to be respectful of each other's time and point of view. We're learning how to do this together. We want to create a place where it's OK to fail, and that you know the team has your back the whole way through.

* Self-motivated. To us that means when you get an interesting problem, you will rip into it until you understand its nuances and perhaps have a glimpse of the solution.

* Empathy. We work closely with our customers, meaning phone calls, emails, and sometimes lunch. It is important in this job to listen to them so that we can build what they need and want.

* Nice to have: familiarity with Rails

Send an email to jobs@snapdocs.com telling us about yourself. Please name a well designed product and write a couple sentences explaining your choice.
Probably a style thing. I think I recall reading about this in one of his Swift or Objective-C books? Can't quite remember.

EDIT: Or maybe even just a hastily typed example code
One Degree of Separation in the Forever War
Batch auctions do defeat cross-exchange arbitrage. I went into some detail about this here: http://cdetr.io/smart-markets/ [excerpt from Section 2.1 Batch auctions and mechanical arbitrage]

> ... batch processing with uniform-price clearing eliminates mechanical arbitrage opportunities. To be clear, if only the local market utilizes batch processing with uniform-price clearing, and the external market utilizes conventional serial processing and discriminatory pricing, then there will still be arbitrage opportunities in the external market. That is, the fastest traders can still profit by propagating prices from the local market outward to the external market. But arbitrage opportunities in the other direction, from the external market into the local market, are eliminated.
This I what I'm thinking. Good solution for someone that is not really into computers and technology.
Internet in Africa from balloons would solve many issues. Mobile internet has far more penetration than fixed-line broadband because of infrastructure challenges. Providing another means of low-cost wireless connectivity to millions of people would be a powerful enabler, and drive costs down.

I constantly find myself surprised by how quickly Africans, who are pretty much written off by most people, adapt to new technologies.
$ git clone https://github.com/zsaleeba/picoc
...
Receiving objects: 100% (3305/3305), 1.29 MiB | 0 bytes/s, done.
...
$ make
...
$ ./picoc -i
starting picoc v2.2 beta r
picoc> int i = 1;
picoc> printf("%d\n", i);
1
picoc> printf("%d\n", sizeof(i));
4
picoc>

You might need to nuke the -DVER in the CFLAGS (this code hasn't changed since it was ported from Google Code, which uses svn, but there's no .svn in the dir anymore, so it breaks). I also needed libreadline6-dev.

Oh, and to make things easier, a clickable link: https://github.com/zsaleeba/picoc
Unrelated to the issue of trying to prove a negative - can you demonstrate where the US Constitution allows the Federal Government to set up the FDA in the first place?

Some of what the FDA does is good and proper. But it's unconstitutional for the Federal Government to do it.
Sure, but I'd argue even using gross in a situation where you aren't the primary provider is misleading. Financial processors such as Visa (or Square for that matter), pretty much only talk about net revenue (Square's S-1 uses "Gross Payment Volume" to talk about gross, and never uses the phrase "gross revenue" once). We are certainly in the weeds of semantics, but I do find the phrasing of that misleading.
This is actually part of why my recent switch from Android to iOS was so refreshing. While material design looks great on some level, it seems to be so remarkably wasteful of space. Google+ actually feels claustrophobic to me in a way: there's so much content, and yet you can see so little of it at a time. It creates a feeling of being constantly lost.
That was always the case. The real question is why did it take the US a decade longer to do poorly what the rest of the world has been doing effortlessly.
I haven't looked at the source yet so I don't know what the implementation is like, but this makes me wonder if the author has read this article: http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html

Of course, doing it in portable C is going to be much slower than raw stack-switching style.
About a very simple C REPL, see my comment reply to CyberDildonics.
I don't know, I find I do it with variables more than functions. With functions I seprate them by arity, so there could be a foo/0 and foo/1 maybe. But usually I haven't seen much fun1 fun2 fun3 ... pattern.

And if you don't see a way, don't split it. I mean, make your code look good and easy to understand for yourself and others, that's the point.
American Bankers Focus on Blockchain at the Clearing House Conference
Sure,

I was being facetious though. While the story is interesting, it should be considered in the current context.

A huge swathe of senior researchers are burnt out but the wisdom Feynman imparts isn't particularly helpful to them due to the nature of academia today.
HN isn't considered great design by majority of users outside this community.