skysight-inc/HackerNews huggingface dataset:
Parallel Universe is Looking for a Developer Evangelist in the Bay Area
Parallel Universe is building next generation server-side open source infrastructure software, that lets developers write simple code that is extremely performant and scalable. We believe while hardware architecture changed drastically almost a decade ago, software hasn't caught up. Current software clashes with hardware, and requires more effort to be expended on scaling rather than on business logic. The problem is most severe in server-side software that ingests real-time data, and needs to respond to a very large number of concurrent requests at low latencies. It facilitates software that is harmonious with modern hardware -- with multi-core and multi-cache, with the storage hierarchy and the IO-to-processing ratio -- rather than software that fights the hardware at every turn. The result is applications that require far less hardware, while at the same time provide much greater performance and headroom for growth.
As a developer evangelist, your job would be to help drive adoption of the Parallel Universe stack. The job is a mix of marketing, coding, sales, and geeking out. On the job you will:

* Write demos and benchmarks, and blog about them

* Write introductory blog posts and tutorials

* Speak at (and organize) developer events and hosted tech-talks

* Study the problems facing potential users, and help direct our software to best address those problems

* Provide support and guidance on technical forums and social media

* Provide on-site support and guidance for customers

* Build and cultivate relationships with US companies

Requirements:

* Experience writing software for the JVM, especially in Java (knowing Clojure is a plus)

* Strong familiarity with modern server-side architectures

* Participation in developer communities

* Strong technical writing skills

* Public speaking experience

* Strong social skills and an outgoing personality

* Residence in the San Francisco Bay Area

You will work from home, but travel in the Bay Area (and occasionally in the rest of the US) to visit companies and participate in events. We offer a competitive salary (with benefits) and equity.

To apply, email jobs@paralleluniverse.co
That's Sunday at HN.
Some view it as a racial slur.
I see this as a basic life skill

While self-defense is a useful skill, there isn't a good way to practice actual street fighting except to actually do it. (Martial arts sparring is not the same thing.) And, in street fights, even if you're skilled, you can die. So it's best to avoid the context in which those skills are gained.

The only sane option is to avoid street fights whenever possible.

Give the lessons some time and you should have enough to deal with multiple assailants, knife, stick and gun threats.

No martial art makes it safe to deal with a guy with a weapon. Even an idiot with a knife or a brick can get lucky. You're best off just not to carry a lot of money in unfamiliar places. If you're in a risky place, put a small amount of money in a decoy wallet (losing the cash isn't a big deal compared to losing ID, credit cards, passport) and, if you have them, some expired cards. Most robbers are junkies who don't care about the cards anyway, because you can't buy drugs with a card. Flash the bills (at least a couple of $20s preferably), chuck the wallet, and get the fuck out.

Likewise, with four assailants, no martial art is going to give you the upper hand. 4-on-1 is just a bad place to be. In the movies, putting serious hurt on one of them intimidates the other three and allows you to fight them (or chase them off) serially, Oldboy style. In real life, it doesn't usually work that way. They might run away, or they might get even more pissed off after you fuck up their friend. You're betting on 3 people all choosing "run away". Not great odds.

You're somewhat better off with the martial arts knowledge than without, and it probably gives you the upper hand in 1-on-1 when there is no weapon (even against a physically stronger opponent) but the thing about street fights is that you're making decisions in split seconds and you never know when a weapon will come out or friends will be called in. Again, even an idiot can get lucky and knock you out or kill you. With 4 people, it's even more likely that they'll continue to fuck you up after you're down.
Not sure I understand how this is more insane than scores of other crowd funded hardware solutions.
Indeed. The author does not seem to appreciate (or comprehend) the difference between types 'a' and 'a option'. This is not surprising: I have seen architects that never did anything else than java|python struggle with the basic types in OCaml| Haskell because they could not translate the concept of a value into Java. They always ask "yeah, but what if it's None?" and the answer "It can't be None as that is of a different type" does not seem to compute.
"Probably the two biggest problems, both of which are currently being worked on, is a solution to true modules/modular dependencies "

I'm looking forward to this. I have Haskell code in production and would greatly appreciate these features.
Is there a url where I can check/follow for the state of these efforts? Who is working on these? Thanks in advance.
Square is working on a EMV compliant reader. https://blog.squareup.com/townsquare/posts/emv
oh come on, windows dominates the desktop market purely for historical reasons.

It has nothing to with windows' developer tools, which are significantly more obscure than the unix equivalents.

Have you written powershell scripts? How about .bat files?

Youre partially right; some unix tools are obscure, and have odd invokation syntax (find for example)... but I think you've completely lost the plot (or never actually developed for the platform) if you think windows has done a better job.
I'd heard of sparkler, but my impression was that macros prevent it from working with CoffeeScript.

There's also matches.js, which is the deprecated precursor to sparkler: https://github.com/natefaubion/matches.js
And here we have the distinction between reality and wishful thinking
Not quite.

sh-4.3$ cat test.hs
main = let x = Nothing
in case x of
Just x -> putStrLn "something"
sh-4.3$ ghc test.hs
sh-4.3$ ./test
test: test.hs:(2,11)-(3,40): Non-exhaustive patterns in case
High Res PSD's layered mobile device photos
Strike Two. You take another swipe, and you cannot divert your attention away from a specific word that I used in my original post. Classic Conspiracy Theorist: you have an inability to read my entire post and address my more powerful points. Instead, you focus on the points that cause you the most emotional response.

Lemme help focus your attention... Please address this point. Between Israel and the US, who do you think will ISIS attack first?

Anyone with a map can tell you that Israel is far closer and far more of a threat to ISIS than the US right now (especially with our "hands off" approach to Syria and Iraq).

Israel takes the flak from a lot of militant extremists, so we don't have to. Its a practical arrangement.
I'm not sure what this means. In haskell you are free to use monads "the Ceylon way" if that's what you want to do; there is no reason you'd have to leverage the composability of monads if you don't want its added convenience. There is no added monadic overhead if you don't use Maybes in that way.
How to send an event invitation
How the heck does twitter know if I looked at a particular tweet?
Amazing how close that is to valid Erlang
Some people must have proper sheltered lives.

It is a software dominated forum. This is just an anecdote, but I'd guess >80% of the developers I have met are from comfortably middle - upper middle class families/areas.
Connections-rich: father knows the mayor. Money rich: can hire a good lawyer. (The lawyer knows the mayor.)

The rich kids don't have to mess with cops. The cops know not to mess with them.
Stopping the Exodus of Women in Science
It means, for example, that we should not be emasculating the world's economy in order to reduce CO2 emissions. Instead, we should be concentrating on making the world's economy stronger, so that it will be easier and cheaper to cope with whatever happens to the climate in the future. If it gets warmer, we'll be able to deal; if it doesn't get warmer, we won't have made everybody poor.
I've never even considered a decoy wallet, that's a good idea.

I often think about how much of a hassle it would be to cancel all credit cards, get new IDs, and replace everything in my wallet.
withmypc [at] gmail
Ready and waiting to hear your solution.

guard-of-terra for Mayor!
Any article or discussion that involves C/C++ pointers reminds me of this massively endearing SO answer:

http://stackoverflow.com/a/6445794
> most of it has been going into the oceans, but now they are reaching their capacity

Huh? The oceans can absorb a lot more heat. If you run the numbers, the heat that's been added to the oceans in the last half century (according to the IPCC, whose numbers I'm not sure I believe because up until the Argo buoys started being deployed in the last ten years or so, the data was very sparse, but that's a separate question) has raised their temperature by about a tenth of a degree Celsius.
"There are more methods in Java's Optional class, but they are irrelevant for the discussion in this article."

This statement represents a bad misunderstanding of the point of Optional. The fact that is has map, flatMap, and ifPresent methods is _very_ relevant to the discussion in this article.
Parsimmon: A monadic parser combinator library for JavaScript
"Between Israel and the US, who do you think will ISIS attack first?"

You really think ISIS will ever attack the US? In what manner? Though I suppose it'd be blowback from invading Iraq in the first place.

Israel and the US mess up the Middle East, then proclaim its our sovereign right to mess it up some more.
can you get me in touch with some of companies. mail withmypc [at] gmail
>No martial art makes it safe to deal with a guy with a weapon. Even an idiot with a knife or a brick can get lucky.

Yep. If someone approaches you with a gun or a knife, and your opponent is actually willing to shoot or stab you, even a black belt is probably getting stabbed or shot. The best defense is always to not be there at all. Though sometimes that's not an option (but more often than not, it is.)
Ah, so it will compile but break, thank you for mentioning that.
Basic life skills for the upper crust, coasting through life on privilege and shibboleth.

Statistically speaking, not interesting or relevant to almost anyone, and a net drag on society in general.
Microsoft is not the only one... I didn't spent too much time on manufacturer list - wanted to get public asap. I'll add Microsoft Surface in coming few days.

The problem with filters is that there is a very wide array of opinions on what should be added and it's common for Amazon to not specify many non-primary specs/write contradictory specs or simply plain wrong data. Therefore I won't be able to just throw in more filters, just a few at a time.
Thanks for suggestions, gonna add them to my spreadsheet heh.
> This is a trivial example of a null handling situation. Nevertheless, the only way to know what will happen is to try it out because it really depends on the programming language and the compiler we use. Ask any experienced Java programmer and you will see that most of them (me included) will struggle to predict the actual behaviour without hesitation.

Yes, because what I want to do is waste my time figuring out what happens when I apply functions to null values.
While I've seen my dad struggle with reading glasses (and now bifocals) after not needing to correct his vision for the first 40+ years of his life, I've had mostly the same experience you describe for the last 20 years (thanks to inheriting my vision problems from my mom's side). However, in the last couple of years I've started taking my glasses off if I am reading for long periods of time, because my distance vision is getting bad enough that the correction is making the closer text slightly more difficult to read than it is without the lenses. Eventually, this might also lead to needing bifocals myself, despite the fact that I have no problems reading very small text within arms-length without glasses.

Essentially, I'm getting close to doing the opposite of what most people do with reading glasses. For now, I do most minor reading tasks and my work with my glasses on, but for lengthy reading I take them off. Over time, I'm sure, I'll end up taking them off (or looking below my glasses) for almost every reading task, and eventually for work as well.

In the end, though, I don't think the technology will be likely to really solve the issue for me, except to correct a few displays for my corrected vision. I have to pin most of my hopes, at the moment, on improvements in surgery and eventually being able to afford the surgery.
Sorry, @ef4, my English is not very good, I do not quite understand "You could eliminate all the file references if you simply codified some conventions on project directory structure", could you please explain a little bit?

I think the merge conflicts are all due to Xcode not using real directories on disk, which means it has to maintain the directory structures in project file.
5 Lessons Learned Writing a Clojure Web App
Simon is also the creator of the popular windows ssh package, putty.
Strange Loop 2013 videos
You could get access to a webcam without that access though, with malicious software. I've seen links to sites where you can access unknowing people's webcams and obviously law enforcement have this ability too.

I guess it's apples and oranges really - it'd be much worse to have someone with unrestricted PC access, but if someone were physically where your webcam is you might be less likely to compromise yourself.
There's also Rx.cpp[1], which follows in the same vein as Rx.NET, RxJava, and RxJS (so may be easier to pick up if you're familiar with one of those).

[1] https://github.com/Reactive-Extensions/RxCpp
Hey, thanks for your interest! Well, the market is very big and I think so far all the competitors use different approaches. DataPal will soon include a number of features that will make it more different. Stay tuned! ;)
Very true! For me reading the book 'code' and working with an Arduino was very helpful. It made me more aware of the computer fundamentals.
Mostly reasonably written article, but the string handling bit was slightly off imho.

> Of course, the comparatively easy string handling in high-level languages will really be having to do all of this same work; it's just that the language hides it from you, and takes care of the tedious details automatically

No, not really. Good string type would reduce the workload down to the hardware. Eg length-prefix strings would avoid the slow strlens for concatenation.

Also imho the horror of undefined behavior should have been underlined even more, eg:

> So C will typically let you just construct any pointer value you like by casting an integer to a pointer type, or by taking an existing pointer to one type and casting it so that it becomes a pointer to an entirely different type.

Afaik both of those are undefined behavior, so it is questionable to say that C "lets" you do that.
Government says GM owner site was faulty
Not to be a jackass, but how much sleep are you getting? 6hours+?

I've had many great ideas be kept on the back burner for years, while I worked to pay bills. I kept two day jobs to pay rent and eat, barely. I worked on the computer at night.

When I was in college I worked a day job, and I went to fullsail. Yeah.. The 24/7 school. Class on sunday at 4am.

In my first job I worked side contracts and consulted. I shared my knowledge. I also explored the new technologies and learned more. Don't ever stop your education.

Nothing ever turned fruitful, except my failures. Every failure I learned something from and moved on. I was fired from that first job on Christmas day because I wasn't working and my boss overwrote a production file before she got my changes. Thought I didn't do the work. You're lucky. You have GIT.

I worked from myself and taught myself project management and the skills to run my own business. I also started a family and added more bills. You have to play the waiting game and most importantly you have to try. Do not expect things to be easy. Do not assume people are on your side. Do not be afraid to lose sleep and work all night to prove your worth.
Another option is http://www.zedboard.org The MicroZed has a Zynq 7010, 1 GB DDR3, gigabit Ethernet and USB 2 for $199.
Are you a bot? I have lived there. It's funny that you accuse me of personal accusation but you tried just that by considering me to be a Singaporean. And since I belong to one of the nationalities you listed as being discriminated earlier; your whole worldview is shaken it seems.. You are just not willing to accept it.
They are taking some of it into the core. So maybe that will help people use it more.
These bugs are notbcauswd by null they are caused by M is understanding type systems and null itself.
> having a 10x overdose of LSD isn't going to kill you

Toxicity is meaningless in the face of losing your mind; you may not physically die in the above scenario, but rest assured you will be absolutely out of your fucking tree for quite some time, if not hospitalized.

Compare that to eating too many ganja brownies, drinking too much alcohol, etc. Yes, you could die, but if you don't you'll be out of sorts for a couple of days and then more or less back to normal.
Thank you. (I love Coltrane’s music by the way.)

Are you referring to the default color scheme UI or the web app UI? Or both?
Nice, that's a clever use of decorators. A bit annoying that you need repeated "defs", though.

Here's another approach based on Macropy (basically, macros for Python): https://github.com/lihaoyi/macropy#pattern-matching.
The real problem is that this is how criminals can create a "no go" area for the police.

That is the first step to ghettos controlled by criminals. So Sweden seems to go the way of Brazil's favelas. Note that Brazil is going the other way, finally. :-(
I'm guessing that language was hard-coded into the landing page and got pushed to diasp.org in an update, and nobody noticed. It looks like you can still sign up there by clicking the signup link.
One of the problems with Ebola is the relatively long incubation period which when coupled with easy worldwide mobility means that cases can spread unnoticed and start popping up in other countries unexpectedly. You can see a similar scenario using Smallpox here:

http://www.nature.com/srep/2013/130717/srep00810/full/srep00...

Smallpox is a very different bug than Ebola (harder to catch,etc) so this kind of worldwide scenario is much less likely. Education and surveillance will certainly help a lot and we did get lucky because we "saw it coming", in the sense that people are already paying attention before it starts spreading on a larger scale.
thanks... you're words are a boost to me.
Alternatively,

sh-4.3~$ ghc -Wall -Werror test.hs
[1 of 1] Compiling Main ( test.hs, test.o )

test.hs:1:1: Warning:
Top-level binding with no type signature: main :: IO ()

test.hs:3:16: Warning:
This binding for `x' shadows the existing binding
bound at test.hs:1:12

test.hs:3:16: Warning: Defined but not used: `x'

<no location info>:
Failing due to -Werror.
I have no idea how general this is, but in my experience the split appears to be on philosophy (aesthetics) vs beauty salon (esthetician) lines. I've seen the ae spelling used for the latter but not the e spelling for the former.

I love this stuff. One thing I miss about no longer working at Microsoft is the site license for OED
A version control system should be [...] hardly noticeable

And that right there is the fundamental philosophical difference which is preventing you from understanding why people like Git. It's not just a revision control system, it's a tool for crafting code and patches. Git is a fundamental part of my workflow for how I write code locally, even without contributors, and beyond backup/undo use-cases. However, with contributors, patches count as communication, and tools to help me craft those patches effectively were missing from my toolbox prior to Git.
The problem with NullPointerException is that it usually comes with a high error-failure distance (that is, the failure happens later than the logical error that caused it). It can be extremely hard to debug, because null is actually an overloaded concept. It ends up meaning:

1. Like NaN, the result of an error (in some languages).
2. A pre-initialization value that "should never appear" by informal contract.
3. Missing data (especially in databases).
4. Not-applicable.
5. "There is none" (not quite the same as #3 or #4).
6. A return on an unusual (and bad) condition, like a malloc that can't.
7. (Infuriatingly common.) Errors in programming.
8. Empty collections (from Lisp, although that's probably a design error
and Clojure's moving away from it.)

I consider a NullPointerException for any reason to be a bug in a Java program. A more useful error message should be given. I also consider null in Scala to be something that ought to be disallowed. (In Clojure, you can't be as hard-assed about it, because nil is actually useful. But I'd still argue that NPE is always an error.)

Zero-as-null is pretty awful, I agree. When you see that, it's usually as a performance optimization. For example, prices on exchanges are usually represented as integer numbers of pennies (or some smaller "microcurrency" unit) for regulatory reasons (accuracy standards set in decimal terms, disallowing floating point) and the data is unboxed for performance reasons, requiring some "illogical" sentinel value when the number isn't applicable.

The effect of that is to externalize complexity to the client. For example, if you use "0" for "no bid" that's usually harmless because "no buyer" and "highest buyer at $0" are effectively equivalent. But 0 is also used for "no offer" and (if the client isn't aware of the 0's meaning) might make incorrect conclusions, since an ask of 0 (commodity given away for free) means the opposite of "no ask". The client is forced to keep track of this extra complexity-- that 0.0 doesn't mean a numerical value but means there is none.

Null policy (over all the different causes of "null") is really about how the complexity is externalized to the client. Zero-as-null forces the client to deal with "zero is not zero" possibilities, which can be deadly. The best, if the API can support it, is to use Haskell-style optional types (Maybe). You can't get away from the intrinsic complexity, but you can at least require in the type system that the programmer deal with it. (Non-exhaustive pattern-match warnings should generally be treated as errors.)

The problem with, say, Java's references, is that every object type has null as an additional value. Instead of a Spoon, what you actually have is an Maybe (IORef Spoon). All your (non-primitive) types end up being optional, but in a way that is usually sparsely documented.
Show HN: Nach – Personal goal setting for the highly ambitious
Not if you're building with -Wall -Werror.
Also, and I've been living in Poland for my whole live (33 years now), must have met or read about tens of thousands of people by now, and have never encountered anyone named Elmer.