skysight-inc/HackerNews huggingface dataset:
Once you get the hang of at least one programming language where nulls do not exist, you realize just how much unnecessary pain they cause.

There are of course several ways to represent the absence of a value, fit for different paradigms and programming styles, but I think most of us can agree at this point that having untyped null values is a very bad idea in most cases.

Whenever I program in C#, I always have to be overly paranoid, as more or less anything can be null. Option types certainly introduce some development overhead up front, by forcing the developer to handle the possibility of an absent value, but in my experience this is still far less than the amount of defensive programming necessary to handle nulls correctly.

As a response, I decided to implement a practical and safety-focused C# option type, and now use it more or less everywhere.

Reference: https://github.com/nlkl/Optional

Certainly, this does not guarantee that values are not null, but it allows you to be explicit about absent values in your own APIs, which is of great value. In turn, null checks become much easier as you do not have to accept nulls as legal values (except at boundaries to external code), and working with potentially absent values become much less cumbersome, due to a convenient API.

Interesting things are happening to programming languages these days, and I am quite curious to see the next steps. The C# language team as well has some focus on this (https://github.com/dotnet/roslyn/blob/features/NullableRefer...).
It's explained here. Sage itself is 100% open source, but we have a cloud hosted environment people can pay (a very reasonable amount) to use. https://cloud.sagemath.com/policies/pricing.html
> orders of magnitude more data than a human toddler to detect a cat

Perception works at 10-20 frames per second, all day long. That means 0.5 million perceptions per day. Why would a small neural net that has 1/1000 the experience of a child and 1/1000 the size of a brain (assuming it is 100 million neurons which is huge!) be able to be more accurate?

What you are referring to is called "one shot learning" and is the ability to learn from a single example, which is being studied in the literature.
One problem with standardized tests in my region is that teachers are not allowed to count them on grades, so students will just walk into the testing center, click "A" 150 times, and stare blankly for the rest of the time. That's hardly a reflection on teacher quality.

Student quality (and administrative or support staff manipulation of student-to-teacher assignments) varies a lot from teacher to teacher and year to year, probably much more than teacher quality. You talk about using quantitative measurements, but then treat variance like a qualitative thing that is equally ignorable regardless of scope.
"Radical" doesn't seem like the right word. "Radical" political movements usually have some understanding of the realities of the day and want to change them, while the whole sovereign citizen thing is more like a huge vaguely-defined conspiracy theory.
You can get quite a bit of power out of an FC for its weight :)

You can get above 500 horsepower on that light little car easier and cheaper than any other platform I can think of. Considering you're starting around 186 (Turbo S4?) that's pretty great...and the car will be ~2500 lbs with you in it?
Once upon a time, many years ago, I was taking a database implementation class at the same time as working as a sysadmin of the university. We started having a weird problem with our AIX 3.2.5 (...years ago...) machines: the NFS subsystem would deadlock and become a tar-baby; any process that touched the affected filesystem would block, including other users' processes, system processes, and (the important part) the automounter. As a result, the boxen were effectively unusable until rebooted. Considering that they were serving 8 x-terminals and remote users, that was a problem.

We eventually narrowed it down to students working on their DB implementation projects, and further to the use of mmap. If you mmap'ed a region larger than a physical file and wrote to the outside region, that NFS filesystem went belly-up. Yes, that's explicitly mentioned as a thing not to do in the mmap documentation. (On the other hand, it worked fine on a local AIX filesystem and in fact was how local file systems extended files; I'd spent the previous couple of years working with AIX filesystem developers.)

Anyway, after getting the professor to tell the students not to do that, I notified IBM tech support. The response I received was exactly, "the docs say data must meet requirement X, and that's good enough".

In a sudden fit of ethics (honestly, I have no idea what came over me), I completely failed to advertise the nifty denial-of-service attack widely. It would have been spectacularly amusing to embarrass my former employer on BUGTRAQ, say. Not to mention imagining the face of the tech support guys when they tried reading their "good enough" spiel to an IBM customer who had more than our handful of machines.

On the other hand, AIX 4 was a complete re-write and fixed the problem with the NFS filesystems. Yay.

Anyway, the bottom line is that using documentation to cover your ass for implementation infelicities is not a very good idea.
Do you recommended any resources about this? I'd like to try to bring this over to my org.
Take a look at vexrobotics.com. They have all the mechanical and electronic parts you'd need to build small-ish robots (think Roomba size or a bit bigger.

Edit: actually they have a VEX Pro line too that's aimed at larger robotics too (primarily designed for FIRST and BattleBots).
At this point I'm surprised there aren't Science Researchers with Giant Gold Clocks around their necks to promote a new paper they're spinning.
Maybe I should just declare victory and start trying to divide the spoils like you're fond of doing?

The point under discussion is the abolition of the DEA, meaning legalization of drugs. The DEA doesn't spend a lot of time running down drug users - this is about dealers.

Don't assume other people are moving goalposts because you didn't understand where they were to start with.
> A further web search took me to a site called legalnamefraud.com, which outlines a theory that when your birth was registered, a legal entity - your legal name - was created. But the legal entity "Jane Smith" is distinct from the actual physical person Jane Smith, the website says...

sigh, not this shit again.
I love Sage! I used it to find this fractal: https://vimeo.com/155587929
I currently use Magma in my research. I have run into a crash bug I cannot fix or debug, holding up an element of my thesis work. A lot of effort has gone into working around Magma limitations, which Sage doesn't have because it is sanely designed. If you've never had to use Magma, consider yourself lucky.
You could always renounce your citizenship. Citizenship in free countries are actually opt-out, but for some reason this is a difficult thing for these people to grasp. WTF?

You could probably be stateless if you absolutely wanted, but I hear that's not very fun. A more realistic alternative is to get citizenship in another country. Apparently these people think that their current country is the greatest, but not quite great enough. I mean, it can't be that bad, then, can it?
Awesome, would love an Android version.
> they work crazy hard to build and shepherd something awesome for free.

I'm not so sure about that. I'd say that Clojure now exists and thrives to help Cognitect make money. This is no way a bad thing, only a reminder that there is no such thing as a free lunch.

In a similar vein, Go exists to help make Google money. The original purpose of open sourcing it was different for Google (make the language more robust/better) than it was for Hickey (grow the language/community).
If it's good enough for ANSI C, it's good enough for you...
Needs to listen to only a few hundred handshakes. Ugh. Something tells me this could be deployed on AWS large instances with some success.
Convert seconds into something human-readable (e.g. h:m:s). Surely it can be done without modulo, but using modulo seems to be the simplest solution.
One might expect this to be the default case, but it may not be so, given a large enough sample size.
Great to hear! I honestly wanted to get the first version out there as soon as possible because you never know if people would want something like this, I know now!
Did coursera come up with an official statement yet?
I'm not familiar enough, but is there any path for you make it more marketable with things like:
-some sort of iOS/android app
-somehow tying in computing modularization? I'm thinking like tensorflow or other such things
-picking off modeling tasks as use-cases. I get this from my step dad whose lab work has been in modeling..well, this: http://esd1.lbl.gov/research/projects/ascem/
Also MS in particular is famous for misleading results due to spontaneous partial remission unrelated to the treatment.
The extreme version of this is PHP. Seemingly everything computes in that language with often very unexpected results (a least from what as my then PHP amateur status--coming from C).
"If JavaScript has it, what are you doing without it?"
I am not a Python programmer -- but since you are (at least you've coded non-trivial things in it) -- I've chosen it for this (brief) exercise. During the exercise I had to 1) type this post. 2) Google how to write a Python class. 3) Write down some code. 4) test it quickly in a REPL. I started at 11:30am local time. I am on shitty coffee-house wifi so googling was pretty slow by any standard. I finished at 11:45 -- which includes the testing (and at least one silly mistake)...

[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> class LinkedList(object):
... def __init__(self, value):
... self.value = value
... self.next = None
... def insert(self, value):
... el = LinkedList(value)
... el.next = self
... return el
...
>>> list = LinkedList("baz")
>>> list = list.insert("bar")
>>> list = list.insert("foo")
>>> list.value
'foo'
>>> list.value.next.value
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'next'
>>> list.next.value
'bar'
>>> list.next.next.value
'baz'
>>>

I do not have a CS background (I've never taken a CS class in my life). I also think this is shitty code! Some immediate things I would talk about with the interviewer include:

1) list.insert is awkward, fixing it would require the notion of a head pointer, but I didn't want to waste the memory for what is meant to be a simple example and keeping the API convenient would require the introduction of another type I think.

2) Despite having semantics that look mildly immutable on their face, it's not immutable, and probably not thread safe (I don't know Python's memory model).

3) I haven't written any tests. I don't know how to write a Python unit test, but if I did it would take about 60s to write one.

I could probably have a good conversation with them about this code a similar implementation in Golang (another language I don't know, with strict types but no generics, so the implementation would either be less general or <handwave about Go interfaces>).

Do you really think you couldn't produce this code when asked? The point I'm trying to make here is not that you're dumb, or that I'm some sort of super genius (hopefully that's obviously not true!) but that writing a linked list is truly trivial!
Only in terms of hazards like snow and ice.
How an amoeboid organism solves the two-armed bandit
Knowing the size N of the smallest possible virus doesn't tell us much about the probability of a given random string being a virus (as long as it's longer than N)

There could be a magic threshold where if you're shorter than that you don't work.

For ex, maybe a valid file has to be at least 100 bytes, or the OS can't treat it as a file. Any random file 100bytes or longer could have a 10% chance of being a virus (the actual number depends on how the os works).

This would mean a really high chance of randomness creating a virus, even though N is 100.

The probability of vitality depends on the specifics of the operating system, and we can't infer it by looking at the size of the smallest possible virus.
>Clojure is a language for people who know what they are doing by people who know what they are doing.

That can also be said for C, assembly and almost any language, even Brainfuck.

And when there's not a speed/memory tradeoff for not having the language do the right thing (like e.g. is the case for some decisions in C), this just amounts to having the programmer do "busywork" -- manually do the work that the compiler/interpreter should have been doing instead.

Blaming the programmer for such errors is thus a kind of "blaming the victim".

The approach "The language X is totally fine, it's the programmer's problem who doesn't know what they're doing" for such cases, that is, cases where:

1) the right thing/warning could be inferred automatically

2) there's no (or not significant) speed/memory tradeoff to do so

is a bad idea and those that propagate it should feel bad.
OP does not use vim...
There are lots of everyday uses (not mathy domains) for % operator.

Some examples...

Outputting a text report with columns. If there were 5 columns, use the "col=i%5" to put it in the correct column as "i" is incremented.

date/time calcs such as...

x%7 is often used for day-of-the-week algorithms

x%3600 and x%60 is often used for converting raw seconds (e.g. convert 86400 seconds per day into hh:mm:ss)

(If programmer doesn't know modulus "x%7", he might hardcode a big switch statement with 7 cases -- which will work, but it's not as elegant.)

round-robin in discrete integer values --> use % modulus

round-robin in continuous values --> use trig sin(), cos()
Some may find the plain text version easier to read:

https://marc.info/?l=9fans&m=111558822710356&q=raw
Show HN: Run a kafka cluster using docker
Or, get this, and this is super radical of an idea I know:

There is not much of a separation between physical and psychological in the first place. Every part of the body is interconnected--as people develop disease, often times mental symptoms develop secondarily so. Depression and anxiety are super common in all sorts of illness states. There are numerous studies showing cellular dysfunction and rampant oxidative stress connecting to the more serious mental illnesses.
I don't know what you expect, staring into the Internet. - Nietzsche
An AI wrote a sci-fi short film by learning from 90s screenplays
I don't think the problem is the modulo operator per say, but rather programming in general is incredibly vast and even very experienced programmers will not have encountered some thing X which many other developers consider to be absolutely trivial.

For example with modulo, I feel like I use it quite often, relatively speaking. Somewhat contrived example of usage on the web side of things:

Let's say you're building a grid system that will have an unknown number of items. The grid is 12 columns wide. In the last row, any items that otherwise would be empty should instead have a placeholder item displayed.

Given an arbitrary array of items, how many additional placeholder items should be included in what gets rendered?

const colWidth = 12
const remainder = items.length % colWidth
const numPlaceholders = (remainder === 0) ? 0 : colWidth - remainder
Hey HN! I wrote a tool that will spin up a multi-node kafka cluster with a single zookeeper node using kafka 0.10.0.

When I first started learning about kafka, I found it difficult to dig up examples on creating a multi-node kafka cluster to play around with in development. The examples I did find were poorly documented and sometimes didn't work at all (especially with newer versions of kafka). As such, I decided to make this tool so that users who wanted to test a kafka cluster could do so with minimal set up.

Hopefully you enjoy it! Let me know what you think and if you have any comments or concerns, write them in the comment section and I'll get back to you!

Thanks :)
What does it even mean? Why would it not appear when the necessary conditions arise?
I agree with most of that, but why are you keen on G+? It was never open and never amenable to self-hosting or anything like that. It was just a Facebook clone (arguably a little bit different now).

Going further back a year or two, I think Google Wave was going to allow self-hosting. But of course that sank with barely a trace.
I was already aware of that hack, which was made possible because of two conditions:

* Outward-facing wireless channel

* Computer controlled acceleration accessible in some way from the same network the outward-facing wireless channel is on

If the Mercedes C250 Coupé meets those criteria then there is the possibility that (if it is indeed foul play) the assassination occurred via software hacking.
I have a theory...

The Freemen look around and see that the world appears to be run by means of legal chicanery, little of which they understand. They feel helpless and lost in the face of this gargantuan machine of State.

So when someone proposes some theory which:

a) contains legal-sounding words, and

b) posits that these Freemen can use their own brand of legal chicanery to magic their way out of their debts

... then they latch on to it with gusto, proudly parroting back the legal-sounding nonsense because it helps them feel better about the vast, dark horror of life in the modern world.

EDIT: also, what jtolmar said.
A computer's behavior is no less emergent from its physical structure.
...teaching is fundamentally different than every other profession. Why is that?

The payoff of a good teacher shows up years down the road, not once per quarter. Teaching is extremely politicized; parents and random joes like to manipulate the system and are likewise manipulable by less scrupulous members of the public with a hidden agenda -- this is the "think of the children" phenomenon writ large. Teacher class assignments are politically motivated, not random, so student quality is not random. There are substantial movements by parents to eliminate standardized tests because they don't want their children labeled or profiled, and yet you want to increase testing to every quarter. The fears of those parents are somewhat justified because testing software keeps all kinds of behavioral metrics on students that are never revealed to parents. You have an insanely powerful union to deal with that doesn't necessarily represent the true interests of teachers.
What about Heroku or Lambda or Cloud Foundry or all the other companies that claim that startups don't need any devops at all?
So instead of 10k static 32x32 random images of cats for training data, why not do 10k frames of cat videos that add up to seeing the cat moving and interacting with the environment?
Protectionist trade policy easily leads to wars. Banning goods produced with Chinese labor practices is tantamount to banning Chinese imports, which will have far reaching global implications beyond iPhones, and will increase military tensions greatly. Countries that don't trade find it much easier to start shooting at each other.

On the other hand, free trade leads to freer exchange of information, ideas, and aligns the incentives between nations so that cooperation is more beneficial. Powerful economic interests on both sides will have strong incentives to pursue peace. If those incentives are removed, nationalistic forces and firebrands have less of a counterweight to pursue miltaristic or aggressive policies.

As an example, think about the trade embargo against Iran. It was basically a declaration of war on Iran from the whole world. If the US institutes anything comparable with China it will be easily considered by China as an open act of hostility. This is how the Cold War 2.0 gets started.
Heh, funny you use that example. Division operations have a lot of gotchas in many (most?) languages. That's exactly the kind of thing that I expect to see used in a stupid programmer challenge meant to test esoteric knowledge > ability.
Oh, God. Are you serious? Listen try sitting in Texas some time and opening a X application even over a compressed SSH link from Delaware. It literally takes minutes for a splash screen to paint. And using applications are nearly impossible due to interaction lag. You're better off using a VMware console, RDP heck even Citrix which at one time was itself supposedly X based.

X is simply awful over the WAN, trust me. Please note: I'm not talking about an essentially text-only experience like xterm, which works fine. I mean actually using X as a graphical client.
No doubt fiber is definitely the way to go if it's an option. Other than fiber, the closest you'll get is DOCSIS 3 theoretically runs at ~1gig downstream. Anecdotally, I've had Fios for a couple years and get faster than advertised speeds consistently and never had an outage, so I'm all about fiber.

I think it's due time that having an actual fiber drop becomes as common place as having a phone line or cable line. With how much people use the internet these days, it makes sense to have it's own connection instead of piggybacking on whatever physical connection people already have.
Btw, the self.next in the __init__ block was a little unexpected and probably consumed the majority of the time writing the code not counting writing the text of the post.
I think stereo vision isn't super important for this - people blind in one eye don't do noticeably worse. Not to say depth doesn't help for segmentation or learning concepts but I don't think it's the key
Working with dates and time has so many edge cases and gotchas that I think it's irresponsible not to use a library for working with them. Any good Date(Time) library should abstract this away from you.

Say Hello to Leap Seconds for me.
What is the difference between Dvaita,  Advaita and Visishtadvaita?
Radioactive wild boar roaming the forests of Germany
You should be using a library for this, not math. When it's an option.
What will happen if that same person tries calling you through Messenger now that you've removed the program?
When I was doing my student teaching for my teacher certification I would spend 90-100 hours a week either in a classroom, planning, grading, or doing coursework for my student teaching. It was unlikely to be any different for my first 5 years as a teacher had I gone into the profession. I make about twice as much now as I would have if I'd gone into teaching, and my work weeks now are more like 50-60 hours.

Saying that contract hours are the actual hours a teacher works is at best disingenuous. It's absolute bullshit.
> To say that I was treated pretty shabbily by David Nolen on this issue almost goes without saying

He maintains projects by trying to triage issues in an efficient and emotionless manner. I wouldn't take it as rude though.
eqp-004
Your friend chose to contact you via Facebook Messenger, for whatever reason. It didn't "reroute" anything. Phone calls are phone calls. If they'd actually rung you instead of using Facebook Messenger, your phone would still have rung.
TLS Attack: TeLeScope Reads Virtualized Systems' TLS Communications
OK, so can you develop with better error messages, and then ship to production a jar a faster version with the spartan error messages?
IDK, there are companies you have never heard of that have $6 bilion in yearly revenue:

https://en.wikipedia.org/wiki/YKK_Group

Definitely not making cars nor consumer electronics.
Found further discussion here: http://seclists.org/oss-sec/2016/q2/514
I quit Facebook and never looked back once.