skysight-inc/HackerNews huggingface dataset:
I have to disagree with you on the point that designing an Arabic font is an easy feat, unfortunately it isn't. Maybe for the run-of-the-mill, cookie-cutter typeface, this could be true but if you'd like to import a certain style to the Arabic script, you'd face the usual constraints and limitations of the Arabic letters that they are not as malleable and flexible as their Latin counterparts esp. if you're aiming for 100% style consistency and uniformity across the set.

This is a fixed monospaced Arabic font [0] and I'm pretty sure it took the author a whole lot of time and effort to pull this great work off.

[0]: http://makkuk.com/kawkab-mono/
Bent Flyvbjerg is an academic at Oxford who studied a large number of megaprojects costing 1Bn or more.

His conclusion was that 9/10 projects of this size run over budget, 9/10 run over time and 9/10 have benefits that are oversold.

Rail projects are particularly bad. The average traffic on them was 61% of that forecast and some are as low as 25%.

His homepage:
http://www.sbs.ox.ac.uk/community/people/bent-flyvbjerg

An interview with him : http://www.econtalk.org/archives/2015/05/bent_flyvbjerg.html

One of his books that is very readable:
http://www.amazon.com/Megaprojects-Risk-An-Anatomy-Ambition/...

This isn't to say that such projects should not be built, just that those selected should be the ones with the best realistic cost benefit, not those where the backers have made up the numbers most creatively.
Ruby inherited this from Scheme (and I prefer empty? over isempty or emptyp or variations thereof). They return truthy or falsy values and not true or false (the is* macros/functions in C only guarantee zero and nonzero as return value either).

>AFAIK the general practice is to use ! for methods that perform a mutation in-place
The ! suffix is rather loosely defined as it just means the user should be cautious/the method might have "dangerous"/surprising behavior.

Your description is usually correct but only when a non-suffixed version exists and not even then the behavior has to match your description. There are also a lot unsuffixed mutating methods. See also Kernel#exit vs. Kernel#exit! (immediate exist/exit handlers aren't called) or Tempfile#close vs. Tempfile#close! (close and unlink).
>Java puts the burden to ensure safety on the programmer. (As can be witnessed in your snippet.)

And that's OK too, if less than ideal. The Optional type serves as a reminder to use it differently.
I think I took it from an article online, and it matches my own experience (when you actually finish one of these there is often, but not necessarily always, a message from the course manager with some statistics about how many people turned in the final assignment or are anyway eligible for the certificate).

EDIT:
Found a couple of articles:

http://er.educause.edu/articles/2014/12/mooc-completion-and-...

http://er.educause.edu/articles/2013/6/retention-and-intenti...
Oh, certainly. But from what I've followed of this project, that part of nntpd is, while complicated, healthy and neither needs serious modification nor is slated for much more than maybe adding tests. It's the huge pile of cruft that accumulated around the core that's getting worked on, or simply removed.
Yes, but not in any sense that matters to 99.9% of Java programmers in the field.
Yours is a content-free comment; you could replace CISA with any other acronym and it would be just as meaningful.
They are also building a powerful Open Hardware ARM-based router with WiFi and NAS capabilities: https://omnia.turris.cz/en/
Why is that funny to you when he suggested putting your writing through draft stages to try achieve the "write like you talk" style?
Sound advice.
So I should talk in Legal English all day? https://en.wikipedia.org/wiki/Legal_English which is the reverse of writing as one talks, because the Rule of Law surrounds us always, except for the criminals who flout it repeatedly throughout their day.

When I write, I self censor all the time, and it is no different when I talk. We forgive and forget. We silo only certain words to certain areas of the world. "What happens in Vegas" etc. Language only becomes a problem when it is committed permanently to the footnotes of the web. You can't overlook the law aspect. You also can't so easily withdraw a statement said online.
Have you tried using a non-stationary bike?
Wind abrasion probably makes the mirrors more shiny
You should never have to check that the Optional itself is null. While that is allowed by the language, it is such an obvious error that static analysis tools could easily detect it.
> 2.) Handle newlines properly, even if they are evil Mac or Linux style ones.

ReactOS's version of notepad handles this properly. Grab the ReactOS livecd (63.9MB zipped) and copy notepad.exe off it. :)
That's not true. The bill does not allow Facebook to "deem" any communication "malicious". It can share only indicators, a term that has a definition in the bill more detailed than that of any other computer security term anywhere else in US law.

Meanwhile, the clear implication of the article we're commenting on, and the idea FFTF is trying to spread, is that CISA allows Facebook to violate user privacy, and to build its business doing so, by leveraging CISA. That's a nonsensical argument, and a terribly dishonest one.

CISA is a bad law, much more so than CISPA, which preceded it. The reason we have CISA instead of CISPA? FFTF.
It is 1 household's worth of power consumption.

The point he was making is that he doesn't know the exact number, but he knows how many household's worth it is.
I am not sure I understand.

I guess you are either saying (A) to treat every return type as possibly null or (B) to use your judgment when doing null checks of return types.

In case of (A):
Do you want to write null-checks for methods like String.toUpperCase() or for user.getLastName()? That would lead to a lot of bloated, dead code. Also do you want to write error handling for all these cases you know can never happen?

In case of (B):
NullPointerExceptions are most likely when the user of an API did not expect he might get a null value. For instance user.getDepartment -> null. "What? An employee does not have to have a department?!" In this case you force users of an API to guess if they might reive a null return value. And they might guess wrong, which either leads to dead code or NPEs. Using Optional as a return type makes the difference explicit.
> The average person can absolutely picture 500,000 homes. If I live in a city of 2 million then it's one quarter of the size.

Think about this really hard.
Check out the recent AGL story on BoringSSL for an idea of what a conversion from 90s C code to modern C code looks like.

Yes: do string handling with high-level string abstractions. No, don't try to freelance it with the mem-() functions.
When I come up with a new idea, I write it down and jot down whatever is in my mind about the idea. Nothing formal.

Then I spend a lot of time thinking about the idea. I think of it from it's beginning to where it could grow. The different paths it might go down. I think about how users will react to it and how it helps them. I think about scaling it. I think about it technically. I think about how it makes money. I think about writing a PR about the idea announcing it. I think of the simpliest way to start the project (no feature creep) and then I try to start from there.
that makes sense. i think an important question here is - what does "return null" in a method which returns Optional<T> do? will it return a null Optional<T>, or will it return a non-null Optional<T> which is empty?

sorry to rub it in, but Java needs value types. this whole issue, however maybe irrelevant, does not exist in C#.
FYI your Scala example doesn't work.

Welcome to Scala version 2.11.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_45).

scala> var h:Option[String] = "Hello".some
<console>:7: error: value some is not a member of String
var h:Option[String] = "Hello".some
what the hell is a jigawatt?
design from the 60s, built in the 70s and ceased production in the 90s

put into operation in late 2010s

what could possibly go wrong
The ribbon bar was an improvement for Windows Explorer, Paint and WordPad.

But Notepad has so few features that there'd probably be no benefit.
Exactly. A null Optional reference is such an obvious bug, that it can easily be detected by simple analysis tools. OTOH, a null is often an accepted (if derided) method of indicating that a value simply doesn't exist, so it's much more difficult to detect when a null will cause a problem.
Gulp and FTP, update a website “on the fly”
PHP does this (with a warning). I'm not sure if this should be an argument for or against.

<?php
$foo = array();
echo $foo['a']['b']['c']; // not an error
when I see numbers that low I start thinking it is bots spoofing user agents based on old code

just like you still see IE6/7 user agents sometimes

however the millions of vulnerable kitkat install over the next decade is alarming
> Exactly, it forces the programmer to think

It's a curious feature, the way you've described it. I have virtually no experience with Java so I'm looking at this from a totally foreign perspective. The authors considers it an ineffective feature because you still have to think about null checks, whereas you consider it an effective feature because it forces you to think about the problem instead of ignoring it.
While it's probably a good idea to treat nil as a null pointer that doesn't do anything, it's still an an instance of NilClass and can be used as an object.

>> class NilClass
• def foo!
• puts "bar?"
• end
• end
=> :foo!
>> nil.foo!
bar?

Rails uses[1] this with the very-useful #blank? method.

[1] https://github.com/rails/docrails/blob/master/activesupport/...
WhatsApp's Co-Founder on How the App Became a Phenomenon
15 Israeli wearable techs that will disrupt our lives
Defibrillators Market – Market Data Projection, Key Drivers
I don't need to listen to music when programming. I do sometimes, I don't other times. At work, I'm not allowed to listen to music - which I find very annoying considering I have to listen to coworkers and can't tune them out.
And most Objective-C (one of those languages) developers I've talked to about this would recall nightmares about that behaviour.
I think what he/she meant was 2 million households. You make a good point though, I can absolutely imagine laymen confusing "household" with "citizen".
HIR/MIR don't really help much, actually. A stable plugin interface would probably be completely different.

And clippy uses a _lot_ of internals, so even if a plugin interface stabilizes there's no guarantee clippy will.
Django website along with it's documentation website down for hours now
Analytics Startup Is Hiring a Senior Data Engineer
Data analytics teams need solid infrastructure and great ETL tools to be successful. It shouldn't take a CS degree to use big data effectively, and abstracting away the difficult parts is our mission. Come help build a new kind of ETL product that lets data analysts do their job without a dev team!

Fixing ETL is a technically ambitious project involving everything from distributed data processing systems to low-level database optimization. The stack includes Cascading, Hadoop, Kafka, and Docker, and it’s your task to evolve it to meet new demands of our product!

About you:

- You build robust and scalable data systems three times as fast as other developers.

- You’re deeply familiar with Java and the JVM, and you’re also a polyglot.

- You have a passion for improving data analytics.

- You’re living in or willing to move to San Francisco.

Our small team loves data but think current ETL tools suck. Currently in stealthy private beta. The position is onsite in SOMA, San Francisco.

Competitive compensation package including very significant equity offered to the right candidate.

To apply, email us at etl.sans.dev@gmail.com.
Does anyone want a blogger for the tech/startup blog?
I want to start writing about tech, startups, ideas. I probably don't want to start my own blog because I wouldn't be posting enough to warrant it. Does anyone have a blog I could join?
In the modern (post-1997) orthography, ß and ss have different pronunciations and ß acts like a single letter (doubled consonants make the preceding vowel short, but ß does not)
I think it always depends on what your intention of communication is. Like it is said in the article. Most of the time you want to communicate to others what you are thinking. The simpler the better. I guess there is a similarity to writing code. Your machine can only handle exact commands for communication.
But in human-to-human interaction there is more. Sometimes you want others to start thinking about something. Put an image in their head. Draw a comparison to let them think of the bigger picture.I dont think for that purpose spoken language is always the best way.
It's debatable whether this behavior was a good fit for Objective-C, since it's not actually a dynamically typed language. People reasonably expect their Obj-C compiler to do static checks and in this context dynamic behavior is an unwelcome surprise. It would be interesting if, for example, Smalltalk developers share the same frustration. My guess would be: probably not.

My go-to example in favor of the idea would be languages and libraries where 'null' and 'empty list' cause the same behavior in list-processing functions.
To elaborate on the other answers:

"nil" in Ruby is an instance of NilClass. NilClass has a few methods, but e.g. "thumbnail" is not amongst them, so Ruby looks for a "method_missing" method, doesn't find that either, and then throws an exception, just as if you'd called another non-existent method.

To answer a question you didn't ask, though, you can easily write classes to wrap your objects to get pretty much the effect you are asking about. E.g.:

class Maybe
attr_reader :value

def initialize value
@value = value
end

def method_missing *args
return self if @value.nil?
Maybe.new(@value.send(*args))
end
end

p Maybe.new(nil).i.can.call.anything.without.exceptions

p Maybe.new("Hello foo").gsub("foo","world").value

The first call to "p" will print a respresentation of a "Maybe" instance holding "nil" in "@value".

The second will print "Hello world", as "gsub" will be called on "Hello foo" since the "Maybe" has a non-nil value.

There are any number of implementations of helper classes like this for Ruby, with various levels of popularity. The benefit of course is that you can easily customize the behaviour for your specific needs (e.g. you could create one that will return a default value instead of nil, or you can create one that short-circuits on other values than nil, or any number of alternatives)

The advantage of introducing .? as proposed, though, is that it is easier to optimize (no new class or lots of extra objects to create and destroy).
Show HN: Chrome extension – Keyword search volume for Google analytics and GWT
I don't know about cleaning but the desert sand seems to have little effect on the mirrors:

"Regarding the irreversible degradation on relative specular reflectivity of exposed mirrors on natural aging site, relative low loss of about 0.4%, on average, was recorded after more than 360 days of exposure. This low degradation can be related to the low wind speed on the region."

Surface wear damage of glass solar mirrors in Moroccan desert environment:
http://www.researchgate.net/publication/266078057_Surface_we...
Reminds me of this talk from Defcon 2008: https://www.defcon.org/images/defcon-16/dc16-presentations/d...

Tool called Whitespace used to encrypt messages
Curious as to what the regulatory reasons are?
It's nice, but it seems it is trying to do too much. Or, it feels crowded with features.
There's a conversation to be had about the changes in our communities' psyches as we start to isolate ourselves further through all this "do it at home" technology, in both rural and urban areas.

Is it a good thing for me and my social graph that I don't have to leave my cul de sac to do almost any of these social commons activities?

But yeah on your personal anecdote, a few years ago I moved from the suburbs of a larger city to the center of a larger city, so in that respect I too have seen pretty substantial savings getting rid of my car and just using public transportation and cabs when necessary. If I lived outside the center, though, I'd still be appreciably encumbered and spend more if I just took cabs from my house to get anywhere.

Can you give us the low-down on your living situation? As in, are you out in the sticks or in a flat downtown somewhere? It's good to frame info like that in the living situation so we can understand its applicability.
I see this behavior as implicit error silencing.

Wouldn't you prefer seeing:

foo .? bar . baz .? roo

To know that nil is not even a possibility for `bar`?

Why not make the nil check (or error silencing) explicit when it is so cheap to do so?
Show HN: Gmail filter generator for sophisticated, non-redundant filters
On balance if I have to choose, I would say yes.
And it's worth pointing out that the above is also slow whether you depend on exceptions or just the long if version, and depends on having methods with no side-effects, as several methods gets called multiple times.

As far as I see the proposed version will work equivalent to assigning the result of each method invocation to a temporary, and doing the next check on that, which gets far more ugly if you have to write it out
Some of those people would only say 'no' because that's the only socially acceptable answer.
Well, to be honest C++ is trying too little, too late

And to be fair, the competition is still getting there where it really matters that you write C++ code. Go is starting to be supported on ARM, but given that it had issues with i386 I'm not sure what kind of issues might show up. Swift is for now Apple only, not sure about Rust
There's a recent post from Raymond Chen about this, actually: http://blogs.msdn.com/b/oldnewthing/archive/2015/09/15/10641...
Bacon, sausages and ham rank alongside smoking as cancer causes, says WHO
My point is that you shouldn't do math to get a first impression whether something is important or marginal. The is a significant amount of people for which math and numbers sound like jibberish and don't perform the elementary proportions you just did. There is even some disagreement about the numbers on this microthread.

You have a fair point about the arbitrary landmark though; mine was just a lame attempt at making an example.

The key point readers might want to quickly get at a first glance: is this a significant project or a drop in the ocean?
Isn't shutting down emotions the main reason why people drink alcohol in the first place? You get dumped by a girl - you drink. You get fired from the job - you go to a bar for a few shots. Your favorite basketball team loses the match - you get a beer or two. That's why the main part of rehab for alcoholics is learning how to deal with emotions without drinking.
I have the same feeling about boost's optional. It's a bandage on a wooden leg.
Because the proposed version can be made a lot faster, even before considering that your version doesn't handle method arguments
Thanks for the detailed answer. I think it's safe to assume that Ruby is a bit complicated at least for me but my main point was if he is just interested in checking for the `large` prop (I am not sure about the proper term here in Ruby), I'd expect him to just check for it directly and if this fails, he goes on to the next step as planned and that's why it seemed bit redundant to me esp. I didn't see any exceptions handling done to make use of the fail of previous checks on that chain to instruct the end user or dev accordingly.

Again excuse my ignorance of the subject and technical details in Ruby.
I think so too, but still where on earth do I find household counts for a city? Population counts are on wikipedia, and I know rough numbers for a bunch of cities—but I have no clue when it comes to households. How many households are in your city? (and you're not allowed to calculate from population)
...which is the largest state in India and is mostly arid/desert.
N a u g e s – Dreams
A GoogleNet or VGGNet has tons of parameters.

Kinda, but they are defined for you. For example the GoogLeNet design is described in[1]. Page 5 lists the parameters, the diagram on page 6 shows how the layers are linked.

Yes, I agree that the design of a new neural network architecture is a skilled process, and there is a lot of hard work there. I couldn't agree with that more, but that isn't what we are talking about here.

It is quite possible to take a CNN like GoogLeNet designed for a specific purpose and reuse it in similar situations. GoogLeNet will always do pretty well for image classification.

I think of it as analogous to a piece of software like a database. Designing a new database system is hard, but taking something like SQLite and using it is easy. Yes, you can tune it and get better performance out of it, and yes, it will break if you use it in the wrong circumstances, but it is generally pretty reliable if used as designed.

Now this analogy breaks down because industrial use of CNNs is pretty new compared to Database systems. It's more like trying to get msql running on your Slackware 0.9 system in 1993 it is getting Postgres on Ubuntu 15.10.

Nevertheless, there isn't really a black art to using an existing CNN. Lots of schlepping to get CUDA running on your machine, though.

[1] http://www.cv-foundation.org/openaccess/content_cvpr_2015/pa...

[2] Not MySQL, msql: https://en.wikipedia.org/wiki/MSQL
None of the examples with "It was" are grammatically passive, though.

It's striking to check out section 3 of the Pullum paper ("Fear and Loathing of the English Passive") mentioned upthread by bshimmin. Pullum gives 22 (!) examples of people criticizing texts as being "passive" when they aren't.

Edit: Pullum mentions a purported "passive style" (which, if it really exists, among other things avoids directly mentioning individual human beings' responsibility for things that happen) distinct from the "passive voice", which might be part of what you're referring to here. But "it was..." isn't a passive-voice construction.
Given how much experience we have with this class of reactors, and the inherent safety of PWRs (e.g. TMI, vs. BWRs like a Fukushima), and that the organization running it has long, continuous experience in running these, not much, I'd expect. They only unique danger comes from it being mothballed for so long, and the possibility that resulted in undetected degradation (anything more that corrosion?).
I'm pretty sure most people here will praise Stripe.

https://stripe.com/docs/subscriptions

I usually work with Mollie, a Dutch payment provider (makes payments with CC, iDeal or Bitcoin a breeze).
You're right, I meant 'strictly' rather than 'purely' there (hate that bit of jargon, btw). Unfortunately 'continuation-passing style' was probably the wrong choice of words too: I meant 1) the restricted language with only tail calls, no evaluable arguments etc., not 2) the method (thread the continuation through the code, etc.) used to encode arbitrary functional programs into 1). Naturally 2) produces programs which run in 1), but not usually idiomatic programs in 1) (while otoh idiomatic/arbitrary programs in 1) may be side-effect-free, but they're not usually really functional in the sense of equational reasoning/term-rewriting).

AFAIK you can encode either the lazy or eager variants of functional programs into 1), while 1) itself is effectively "super-eager" as it just doesn't permit any arguments that need evaluation except where explicitly delayed inside a lambda, right?