skysight-inc/HackerNews huggingface dataset:
Haskell and friends (Elm, ..) are fantastic, and perhaps the absolute best programming languages for software engineering. Except there's a small problem: Haskell is either write-only or read-only, depending on what you're looking at. That is, beautiful Haskell code is easy enough to read, but very very difficult to write, while working code you might write may not be very readable at all. Of course, that can happen in any language, but it seems to me that Haskell leads to that sort of situation very easily. On the other hand, the nice thing about Haskell is that once your code compiles it also probably does what you want it to :)

I would stay away from dynamically-typed languages (e.g., the Lisp and Scheme families) for software engineering. Dynamic typing means more run-time errors, which means a higher support burden, which is very much what you want to lower when you're a software engineer. And this is why I like Haskell: it's statically-typed. (The main appeal of Lisp is its macro system, really. Haskell gives you the sort of power that the Lisp macro system gives you anyways, though at the cost of more compile-time processing.)

If you can't use Haskell, then your best bets are Rust and C/C++.

In any case, a software engineer almost necessarily has to be familiar with all of these, and able to use any of them. You really want a strong foundation at the lowest layers (C, and even ASM) in order to work the full stack (libraries, applications, compilers, OS). You don't have to be a full stack engineer, naturally, but it sure helps to be able to adapt to working at different layers, and for this you need a strong conceptual foundation. A lot of layers in a full stack are written in C/C++, but web front-ends involve JavaScript, which is dynamically-typed, so you'll really need to be familiar with all of these, and that's just to get started.
"Best" is a vague metric, but one textbook I am always happy to recommend is the Princeton Companion to Mathematics.

The book is a selective review of the most significant ideas in maths and mathematical research.
The great editorial process is what sets this book apart from the rest: each chapter is authored by an outstanding expert in his/her particular field (among which several fields medalist the likes of Terence Tao) and the editing by Timothy Gowers does an amazing job of uniforming the tone, notation and rigor across the whole text.

The authors were evidently chosen also for their communication skills since the articles come across as quite discoursive and really convey the beauty of modern maths.

In the book you'll find not only the articles on mathematical concepts, but also an introduction to modern mathematics, chapters on the relationship of maths with other sciences, a thorough history of mathematics and a collection of biographies of famous mathematicians.

Well recommended to anybody with an interest in maths. My background is in CS and I found it approachable (except minor sections) and illuminating!
Interesting read. TA is still to this day my favorite RTS ever made. I think I have it from good old games on my mac.
>As far as they're concerned they only have to pay a one-time fee for transferring the received bitcoin to an exchange and selling it there.

Depending on the fee, which atm can be rather high, this can easily be unprofitable or atleast expensive for the card issuer and even card holder.
I get a text blank page when trying to read on the phone.
They lost their license for not being 'fit and proper'. The regulator also cited corporate responsibility and Uber's use of Greyball. It wasn't just about public safety.
Symbos is pretty cool but it's a crying shame that it's closed source. A lot of people in the z80 community don't understand the value of open source, but will give away binaries for free.
> People always assume that the future will simply be like present only more so.

Thanks for your thought. It reminded me a little bit about an interview with peter thiel where he responded to a question about the future. I guess popular culture in tech moves past ideas rather quickly and generally seems to jump from trend to trend until realizing the value of a trend.

https://youtu.be/ryFB6mvy4uE?t=26m38s
So could this be ported to anything with a Z80? Like, for example, a TI-83+ graphing calc?
They headlined Coachella 2017
My Favorite Debugging Techniques
SPARC does speculative execution, so it would be vulnerable to Spectre too.
The Enterprise was a British dream 80s computer that most people could not afford.

https://en.wikipedia.org/wiki/Enterprise_(computer)
That doesn't make any sense. Do you think when Takata had to recall all those defective airbags that were killing people their stock price jumped because they were able to sell replacement airbags?

A product manufacturer with serious defects almost always ends up eating the costs of hardware repair or replacement.
Or regulate Uber the same as any other taxi service in their community.

Look, I'm a fan of Lyft and Uber. They shook up an ossified taxi industry. But let's not sugarcoat what Uber did - they broke laws and constructed systems to aid breaking those laws.
How is that an issue if they're not multi-tenant anyway? It's not like Amazon will go in and automatically patch your guest image whenever there's a security problem. This is only an "advantage" when you're running on a cloud and the issue affects the underlying host, in which case, there's even more reason not to be in the cloud, because it's just a reminder "any of these thousands of strangers we've stuck you with could've been breaking the isolation this whole time, gee sorry about that".

It's not that there are never security issues on non-cloud systems, but the risk of cloud is severely underappreciated. I don't know how anyone can claim otherwise in a post-Specre world. At least on non-cloud, you don't have to worry about the CPU stabbing you in the back.

Spectre can read data out of memory at hundreds of kilobytes per second. That's plenty fast to get interesting data out of Coinbase even if they're "rapidly cycling" their instances. And really that just means you just have to camp out and wait for them to come to you, rather than trying really hard to get on the same instance as them, which would probably be harder. You just have to know what region + az they're in (not secret), and you can probably guesstimate some other stuff and end up on a similar hardware class, and then I am sure that after not-too-long they'll join your host.

And sure, Spectre is now "mitigated" as far as we know, but it wasn't until recently, so we don't know who could've done this, and it's not like that's the only VM isolation breaker out there. There are certainly more conventional bugs that are readily exploited. There are also other non-technical attack vectors on a provider like AWS, like Amazon employees.

I may be more understanding if there was some important reason to take these kinds of risks, but honestly it's ridiculous that people cling to the cloud so desperately. Hardware is not that scary and a lot of hardware jockeys are pretty friendly. Is software really so age-discriminatory that no one remembers a life before cloud servers? It wasn't that bad!

Call your local hardware vendor and they'd be ecstatic to set you up with a rack running VMWare or Xen or whatever "private cloud", giving you the convenience of a hypervisor without the risk profile of sharing a CPU with every Tom Dick or Harry on the internet.

And the real kicker? It'll be 10x cheaper than the annual AWS bill for comparable resources.
Relativity and the Equivalence of Reference Frames #breakthroughjuniorchallenge
But we do in a way. Keeping the vermin away from our grains was probably the reason humans tolerated having wildcats around in the first place.
"No one had told them—no one was telling them—that coding is one of the few careers that can take you truly extraordinary places without extraordinary experience.
That it is one of the few highly prestigious and well-paid careers that you can teach yourself entirely online and with nearly no financial resources.
That you can be a programmer without a college degree and you can start learning to code when you’re 5 or 25 or 75—there is never a time that’s too early or too late."

CLAPCLAPCLAPCLAP! As a woman who got into this career late-ish, this is exactly how I feel. People underestimate the power of expectations, stereotypes, whatever you want to call them - in shaping the types of careers people consider options for them. When I tell other smart, hardworking, technologically-inclined women that they, too, could learn to code, they look at me like I have three heads.
Nazism is discredited. There is essentially no chance that Nazism will take over America.

There is a chance, may a certainty that some of these Nazis will hurt people. But people of all political strips do that. You'd have to punch environmentalists because of eco-terrorists, etc.

Attacking people because their ideas are dangerous is a mockery of free speech.

Even if you don't care about freedom of speech, escalating violence is still a stupid choice. The Nazis will punch back harder, as they've already done. Violence begets violence.
> We can be wiped out by some of the simplest lifeforms, and even simpler, not quite lifeforms on the planet.

Until that actually happens, I'm gonna call that BS pessimism. Humans are waaaay more durable, persistent, clever, stubborn, and hard to kill en-masse than you are giving us credit for.
While I agree that reading source code is quite useful and informative, it really is no substitute for reverse engineering and inspecting on actual hardware.

It's quite easy to be mislead by source code, especially if you're trying to guess what output the compiler will actually generate.

As the author mentions elsewhere in this thread, both reading the source and reverse engineering (inspecting output, running under debugger, etc) are ideal.
My guess is that the memo, besides the marketing channels was also filtered through the legal department and they advised not to admit guilt as they probably expect to be sued at some point. Then a clear admission on their part would be slam dunk.
Tide pods were staining my clothes. So why was Tide telling me it was my fault?
The Z80 will always have a place in my heart. Mostly because we used it in college to build a computer from scratch on a wire board.
That was an awesome project, and one of the classes that I remember fondly from nearly 18 years ago.
That's a documentary by Adam Curtis [0]. Various of his documentaries are generally available on Archive.org, including this one. Its 4 parts [1] [2] [3] [4]. I've seen The Power Of Nightmares and The Century Of The Self. Both highly recommended though I didn't remember Clipper chip was mentioned.

[0] https://en.wikipedia.org/wiki/Adam_Curtis

[1] https://archive.org/details/TheCenturyOfTheSelfPart1

[2] https://archive.org/details/TheCenturyOfTheSelfPart2

[3] https://archive.org/details/TheCenturyOfTheSelfPart3

[4] https://archive.org/details/TheCenturyOfTheSelfPart4
Is this for real? If yes it has profound implications for a lot of software. I wonder what other applications this could help.
Mailgun Security Incident and Important Customer Information
I don't know what the title was when you commented, but what I see is "Compiler using Lisp’s macro system for metaprogramming C-like languages". That doesn't imply transpiling from Common Lisp (though it does impli transpiling), and it seems like a very pithy description of what C-Mera actually does (which is also what you said in your first sentence).

The nice thing about this is that you get the full power of Lisp macros, which is where the metaprogramming comes in, but it still resembles C well enough.

Of course, the Lisp compiler can't actually do C type checking in this system, so you still need to map C compiler errors and warnings back to the source -- that may well turn out to be a pain (and almost certainly does).

EDIT: I'm curious: why the downvote?
I think you'll need a Z80 machine with bank switched RAM, that's how the multi-tasking side of things works.
"If it's redone (properly, shot for shot, in the right spirit) with updated effects and sound, I think it would be way more impactful for modern audiences."

Yeah, as much as some people would like to jump on us for being "uncultured" if we say so, there have been certain unavoidable changes in the world that fundamentally change how a modern person can't help but see the movies. 2001 wants to send a message that this is a very high-tech world, and went to a lot of effort to do so, and I'd say is certainly an integral part of the foundation of that part of the movie. But how is my nine-year-old supposed to get that on a gut level when he turns off 2001, and picks up Mario Odyssey, something that is in some sense literally millions of times more advanced than the technology shown in the movie, and is real-time interactive to boot? The context has fundamentally shifted.

Even I, growing up in a time and seeing it for the first time when at least the difference was less glaringly obvious, can't help but now see a weird and thoroughly unintentional disharmony between what the film is trying to portray the world as, and what the images actually say to me now. It doesn't "ruin" it, but it would be silly to claim that it is doesn't affect the movie experience at all, either, when so many other similarly-sized details are routinely understood to be important.
If the algorithm returns false positives more than 5% of the time, does the claimant truly have a legitimate reason for such a belief?
Ok, this project is precious and makes me wistful for the old days. Need a golang port for this.
Whenever I start a new project I use http://start.spring.io/

Obviously it's Spring centric.
That, or x230 with 20-series keyboard swap, FHD screen mod, and an upgraded SSD.

But there are only so many of those left and they get older every year :/
This young lady won the Breakthrough Junior Challenge for 2017 with this video.

https://breakthroughjuniorchallenge.org/
Well said. I've always been a Kubrick fan, and a fan of off-the-beat films. For some odd reason I just never watched 2001 b/c I usually wait until I get inspired or "feel in the vibe" to watch things like that. I finally did about a year ago and I was so happy I waited until the time seemed right. Its like The Thin Red Line - only movie I ever walked out of the theater on (I was about 16 or 17). Fast forward about 10 years and upon rewatch I fell in love with it.
> Nobody but me even buys full albums anymore really

Nobody but very few people even buys full symphonies anymore really, to play them themselves. Nobody can tolerate a piece of music if it doesn't have someone singing on it. Young people with their "songs" and their "Elvis"!

> My own 5 year old daughter can't even make it

Duh, of course she can't - she's a kid. But if you are saying that her inability is somehow due to consuming "bad media", or too much media... well, that's your fault as a parent, isn't it?
Relativistic DFT ... Brings back memories. I did non-relativistic DFT to model III-V materials in the early 90s. Basically building GaAs, InAs, etc. on supercomputers using a set of codes we got from another research group, that we modified to do the calcs we needed.

What I remember from this time was that our calculations were ridiculously intense because we could never get a machine with enough ram to store, or computational power to compute on the fly, all the matrix elements <phi_1|Operator|phi_2> we needed, so we wound up setting up huge tables on disk, and doing interpolation.

My 64 atom supercells would take, initially a week of runtime to get 100 timesteps. After a few years, my SGI R8000 could do that calc about 90 seconds per time step. 10 years after I finished up, my home computer could do 10s wall clock per time step. I've not tried it recently, could be fun.

Dirac eqn is a harder thing to deal with in general. We used Schrodinger eqn parameterized for soft pseudopotentials. Also had a restriction on how many k-points we could handle, and ionization was sadly impossible in the code, as the repeated volume of supercells made any unbalanced charge effectively infinite. I came up with some ways to handle this, but we lacked computer power for that. Likely it would work today.

Honestly, I miss that work. It was fun.
A C->S-expression compiler would have to produce very obvious and simple mappings in order for a macro system to be usable. Another way of saying this is that a simple and standard AST would be nice.
Location: La Paz, Bolivia

Remote: Yes.

Willing to relocate: Yes (USA, Germany) need visa sponsorship

Technologies: C#, Go, C, C++, Python, Java, Linux, shell/bash, AWS, Oracle, MySQL, PostgreSQL, SQLite, SQL, PL/SQL, ETL, Data Analysis & Modeling.

Résumé/CV: https://goo.gl/Tt43CH

Email: ZGFuaWVscmJAbGl2ZS5jb20=

10+ years experience in development.
It reminds me of the Contiki OS. I wish the project was still going. It seems to have slowed down to crawl.

http://www.contiki-os.org/
https://www.haystack.mit.edu/hay/staff/jball/etiy.pdf

A good read, especially on the last page the paragraph beginning with, “The history of science contains, one after another, a series of blows to mankind’s anthropocentric ego.”
http://knightos.org
Kind of bullshit if he was able to circumvent a "rack rate" and someone without hands wasn't.
Ask HN: Recommend a small low-cost linux desktop computer
I have a Windows 10 desktop machine, and although I could install Linux on either a partition or Virtual Machine (VM) I'm interested in getting a small desktop Linux computer instead (i.e. one without any peripherals or monitor).

I will probably use the command line in Linux more than a GUI desktop so the machine doesn't need to have powerful specs.

Any recommendations? Or should I go down the HD partition route? Or the VM route?
You know you're old when you have to explain opening credit sequences to people because everyone younger than you is just used to TV shows jumping right in (often in medias res)
This is the story of Interactive Intelligence, a company I worked for long ago. They were going to build children's software, but had trouble setting up a phone system. So they decided to build phone systems, and later sold for 1.3B
It's what is taught, but I wouldn't say it's entirely accurate though unless the market is fully 'efficient', which we know it's not, or at least not all the time.
Seattle 3 Year Time-Lapse Video from the Space Needle
Perception bias: is the tendency not to notice and more quickly forget stimuli that cause emotional discomfort and contradict our prior beliefs.

Confirmation bias: is the tendency to search for, interpret, favor, and recall information in a way that confirms one's preexisting beliefs or hypotheses.

"It appears to have something to do with both pre-suppositions and different orderings of personal values"

I believe the two cognitive biases above explain this. If negative numbers are "ignore", and positive are "use in conclusion": conclusion = -0.1 * fact1 + 0.9 * fact2 + -0.4 * fact3. Your past experiences determine the weights.

edit: I also think sibling comment by narag plays a part.
Gta-v-graphics-mod-insane
Ooh, grep is definitely useful, no question .. but cscope, in the right hands, can be far, far more productive .. try it and see!
Intel Hit with Three Class Action Lawsuits Related to Security Vulnerability
Every. – Banking for online businesses
Anything with atomic increments can do this, we use a simple table called idsequence with a single column and row. When an application starts up, it upserts 100000 and gets the new value. This gives both the min and max values that the app can then use as ids for any entities with no overlap with anything else.

It's actually not Hi/Lo but similar. You can also add another column to that table if you want multiple "sequences" but we like to keep it simple and with bigints, you'll never realistically run out.

If you're using an ORM, you might need some extra work but most of the time they are smart enough to use an existing ID if the object already has one rather than try to get one from the database.
https://www.amd.com/en/corporate/speculative-execution

"Variant Two

Branch Target Injection

Differences in AMD architecture mean there is a near zero risk of exploitation of this variant. Vulnerability to Variant 2 has not been demonstrated on AMD processors to date."

And although Project Zero had multiple AMD test machines they did not make any claims that AMD was also vulnerable to variant 2. Can you link to any PoC that has gotten variant 2 to work on AMD?
Great point, Bad things happened under his leadership, which lead to his exit. Uber was his baby and his actions has created doubt about Uber in the hearts of many. He probably feels really bad about his actions. He probably feels like selling his share might help. Lets cut the guy some slack he's only human.
Those cores were a bastard child of P54C[0] cores with the beginnings of (though not instruction compatible with) AVX512 + 64bit support (original Pentium had neither of these). They were not like Atom cores at all.

The second generation Xeon Phi cores are pretty much based on beefed-up Airmont Atom cores.

0. https://en.wikipedia.org/wiki/P5_%28microarchitecture%29#P54...
> Average fees are hovering around 30 dollars. That's an average.

No, they're not. Exaggerating your numbers makes your entire argument less strong.

I made a transaction yesterday and the price was only ~$19 if I wanted it confirmed fast (in <2 blocks). The price was about the same last week when I did the same thing. You also have the option of paying a much lower fee if you don't care how fast it transfers. If you're trying to buy a coffee, don't use BTC. If you're transferring 5-6 figures to an exchange, paying $19 to get the money there in minutes is far and away superior to the ETF system, which typically takes days.
the risk free rate is not the best return. this is widely known. it is easy to beat the risk free rate, even if I take losses some years, I would destroy it in most others.
And that marketing it as "selling services" to someone is a great way to avoid a minimum wage for that service.
My opinion: If you can't use Haskell, you should definitely use a null-free language for safety in this day and age, which means Rust and definitely not C/C++.
Misleading, maybe, but I don't think many were confused about the actual meaning of the headline (I certainly wasn't).
The TI-83+ does not have bank switched RAM, but it's sister products the 83+ SE, 84+, and 84+ SE do. Regardless, you can achieve preemptive multitasking on z80 without banked RAM, you just need PIC.
Fixed URL: ARM Trustzone

https://www.arm.com/products/security-on-arm/trustzone
Vidsy | London, UK | FULL TIME | ONSITE

Hiring for three technical roles:

- Front End Engineer, https://vidsy.recruitee.com/o/front-end-software-engineer

- Back End Engineer, https://vidsy.recruitee.com/o/back-end-software-engineer

- QA Engineer, https://vidsy.recruitee.com/o/qa-engineer
Reminds me of an older (unfinished) project of mine, sxc:

https://github.com/burtonsamograd/sxc