skysight-inc/HackerNews huggingface dataset:
There is a detailed explanation of how package names are used by the compiler here: https://golang.org/cmd/go/#hdr-Description_of_package_lists

Specifically this bit is relevant here:
> Every package in a program must have a unique import path. By convention, this is arranged by starting each path with a unique prefix that belongs to you. For example, paths used internally at Google all begin with 'google', and paths denoting remote repositories begin with the path to the code, such as 'github.com/user/repo'.

Most (all?) Go tooling assumes this convention. Conceptually, I don't see it as that different from how other languages determine input paths, except in Go they are guaranteed to be unique which I consider a good thing. In Java for example you still have file namespaces they're just inside the project itself (looking at you `src/java/com/example/package`) or Python which looks for the root module name in `PYTHONPATH` and then recurses down for submodule names.

Most if not all languages use file structures to namespace imports in one way or another, Go just applies it globally instead of at a project level. I agree it raises the barrier to entry for someone to just come in and run `go run` on a project but I find it works very well once you've got it setup. Convention over configuration is a big thing in Go tooling.
The Label – Hacked:DJ Pretty Boy Tank
> I make around 60k usd in a Scandinavian startup as a programmer with experience

I'm still trying to wrap my head around why European developers earn significantly less than virtually all their American counterparts, even in high cost of living areas (like Scandinavia)

I do understand you specified you work for a startup, but even at one of the many established regional consultancies dev salaries tend to cap out at around $90K IME.

Is it the lack of lucrative VC funding, the prevailing sense of egalitarianism at all costs, the abundance of (comparatively) well paid middle managers, all of the above or something else entirely?

edit : changed wording
There is still branch prediction for normal calls or jumps, which are the majority and should be in performance conscious code.

It's just that some language features such as virtual functions in C++ often require indirect invocation when the compiler can't devirtualize a call, and there is lots of it in the kernel in performance-critical paths (think interrupts, syscalls).
How to Build a Killer Lead Generation Strategy for Small Business in 2018
Nintendo Switch is the fastest-selling video game console ever in the U.S
If "over here" is outside of the US, then it's in a different legal jurisdiction, and the laws are going to be different.
You probably mean software equipment, because there is lots of digital music equipment with good UX. See for example Mutable Instruments' Tides or Rings modules, 4ms Spectral Multiband Resonator etc. - no menus, no displays, one knob one function (well there are sometimes 'special modes' and easter eggs of course).
MovieRecorder 4.0.3 Crack for Mac Full Version Free[ EXPRESS]
Introducing Preemptible GPUs
Interesting material. What is harder today for individuals, however, is information overload coupled with so many people. Many times I have had the experience of coming up with a great idea, only to search online and find that others have already turned it into a product or are in the process of already doing so--it's as if nothing you can individually imagine hasn't already been investigated and pushed down on. It's both an amazing time to live and a very depressing time to live. What is my contribution, then, if the hive always beats me to the punch?
CoinFalcon | REMOTE | Full-time | Senior Ruby on Rails Engineer

Love cryptocurrency? CoinFalcon is creating a next generation cryptocurrency exchange and we need your help to bring the future of money to the pockets of the world.

We've been featured on product hunt here: https://www.producthunt.com/posts/coinfalcon

Required:

- Strong interest in cryptocurrency, blockchain, Bitcoin, Ethereum etc

- Expert Ruby on Rails engineer.

If you are interested, send an email to careers@coinfalcon.com
Data Quality Analytics: Understand what's in your data before using it
You mean ARM Holdings plc, a wholly owned subsidary of SoftBank Group Corp.?
So if I write BbitchIbitchTbitchCbitchHbitch, it would give me B * I * T * C * H ?
Yes it will be approaching 1, the same as for 10^24 coin tosses the number of heads would be approaching 50% (or 5*(10^23)).
I don’t think this is about all branch prediction—just about branch jump prediction. Like, “jump to %rax, but don’t try to guess what %rax is before you’re 100% certain.” Not the same as “jump to a known location if you think this here register is true/false”. As far as I can piece together, the exploit relies on making the branch predictor think the branch target will be somewhere you stored malicious code , which will then be executed by another process, e.g. a kernel. If it does harm before the branch predictor catches that it was wrong, you’re home free.

I’m not sure, but that’s what it looks like, so far.
"Given enough time hydrogen starts to wonder where it came from and where it is going."
And, 17 hours later, we now know that there were three distinct vulnerabilities, of which one applies to AMD.

https://googleprojectzero.blogspot.com/2018/01/reading-privi...
Not a bad idea... Could just get a directional antenna for a separate router to isolate their network(s).
> Also why does HN not support basic formatting?

I've always chalked it up to HN's unchanging, simple aesthetic and interface (or, "ain't broke, not fixing")

You can block format with 4 spaces, but this isn't always ideal since it doesn't line wrap
Hi forvelin! I'm one of the devs that helped create frontmacs. This is a great idea and something I generally like doing. I do it on my own emacs config: https://github.com/Robdel12/.emacs.d

Judging from the comments we didn't do a very good job at messaging that while this is a starter pack, it's also meant for you to build on top of and customize. My config does not use the default theme and tweaks a couple of settings.

We intended frontmacs to be something _like_ prelude but make updating the core packages easier (rather than pulling in the changes from upstream & solving merge conflicts). We wanted nice defaults that you could then build on top of.
No one can blame them for knowing… The real question is if Intel knew and were they in any way incentivised not to fix it sooner. It would be very “easy” to justify not fixing a bug that went undetected for let’s say 10 years…

If there ever was NSA hardware bug this is how it would look like. I doubt we’ll ever know.
So Bitcoin will become popular in India also eventually.
I've read them — but the important factor is that Linux with KPTI is now doing a full context switch between userland and kernel, which is the same cost as switching to another userland process to handle the syscall (which is exactly what a naive microkernel would do).

I've always been a proponent of microkernels, and this is another situation that might help with this.

(Personally, I've been affected by the failures of monolithic kernels way too often. When a simple OpenGL or WebGL program manages to hang your GPU driver, parts of the kernel, and all DMA operations in the kernel, and your system becomes unusable, then reasonable isolation would be preferable)
Plumbing... I see more and more pvc and quick-connect fittings, and central manifold setups. Plus the robots that can print a house and install all the pipes in one day. It's all becoming modular.

I was a little sad for my plumber friend, but he isn't. He said, that at first this was a DYI build-you-own-house kind of thing, so customers he never had. Now, he is dealing with people who bought those houses, and even if it is quick and easy to fix, they don't want to or don't know how to deal with that. In addition, it takes him no time at all to do those repairs he can actually do more jobs during a day. So he is not losing any income, or sleep.
If you look here:

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

The lines with the same colors run on top of each other in Manhattan so you have to sum them. Supposedly the 456 does get 44/hour, counting express and local tracks together.

I agree that most lines do not have modern signaling and most do not run at 45/hour most of the time. But also you know, 24x7 and all that.
So you are talking about a special purpose processor solely for the purpose of being 100% deterministic? It'll be slow, but potentially more secure than its general purpose counterparts. Which of both would be more reliable security-wise? If you put both in a single system respecting the purposes, a heterogeneous system is the result.
How+we+got+our+bootstrapped+startup+debt-free+and+profitable
Battle of the Clipper Chip (1994)
I think we're focusing too much on the specifics of Google Docs, replace Google Docs with any other web application that has a desktop equivalent.

> Edit: I just realized, you CAN run google docs offline. https://support.google.com/docs/answer/6388102?co=GENIE.Plat....

Yes, but i'm not talking about being able to run something offline, i'm talking about being able to take Google Docs, put it on a CD, DVD, external hard disk or whatever and have it working in 10 years or whatever independently from Google's servers, pretty much how you can do today with -say- Microsoft Office 95 (or any other desktop application available in downloadable or physical format).

> I guess I'm focusing on the developer side because you seem to be focusing on all of the anti-user things that game devs might do, to which I say "aren't they already doing those on native apps?"

> [...]

> This is increasingly possible with WASM and WebGL.

It was possible ever since the days of Netscape when could encode data as arrays in JavaScript and you could make (simple) games with all assets in a single easy to copy around HTML file since Internet Explorer 8 was released.

WASM isn't any different from JS when it comes to how data is accessed. Native/offline games (and other applications) have their data stored locally, all the files are available there and to do anything else it needs the developers to go out of their way to achieve that - which is why practically nobody does such a thing. Web-based games would have their data stored remotely so even if you download the entire code of the game on the client side, you still cannot archive it because you'll practically never have access to all the necessary data files (imagine an open world game, for example, that downloads assets as you roam the world).

> possible with WASM and WebGL

And to try and make myself clear, i am not worried about the possibility of doing something, i am worried about the impossibility of doing something: ie. having full control over the software you are using.
Starry Internet hits LA and DC this month, more cities coming soon
Computers have passed limited versions of the Turing test, as in one person was mistakenly classified as AI and an AI classified as a person. Now, I am not saying we could have an expert chat with one for an hour on any topic and still be fooled, but people have already chatted with an AI without noticing it was an AI an not a person.

AGI is a different problem. But, faking AGI to the point someone can't tell is more of a philosophical question than a failure of the Turing test.
Info from Red Hat on Meltdown and Spectre
This is a really good writeup, thanks. I'm curious -- how often are google support faq articles deeply technical like this?
I'm not a security expert but when I looked into JWT I was terrified at how easy it was to screw up. Glad to see I'm not the only one.
I use Prime95 to test for usage-related recording lags for sound and video recording in our lab equipment. If we're not getting signal de-synchronization with that slamming the CPU(s), we can worry a bit less.
I have been quite content with alsa-modular-synth. It supports loading LADSPA plugins as modules, and with JACK integration it can be connected to other LV2 plugins or effects.
I think the issue -- as some people see it -- is that it is possible to, in effect, suppress a debate about certain contentious issues. There is a rhetorical device by which statements critical of, say, uncontrolled immigration, are linked to extremists and nazis, from which there's only a small hop to hate speech (so ban).
It's a joint venture with municipal government of Shanghai as the article says.

Zhaoxin Semiconductor is Chinese government funded and part of the National Integrated Circuit Industry Development Program.
One application I imagine for this is a future of game development similar to the movie inception where an "architect" designs the layout and setting and then all the details are filled in ad hoc by the computers "imagination".

Today its faces that feel familiar but aren't real. Tomorrow its whole cities that feel familiar but aren't real. The cities are filled with people you swear you've seen before. Perhaps the details are tailored to you personally based on the corpus of photos you've posted online.
So long as people acknowledge that what they think is a belief or hypothesis, I love to hear it. I guess everyone is forced to believe something un-provable about life. Looking at all of those galaxies forces you to come to terms with how little any of us really know for sure.
See also: https://news.ycombinator.com/item?id=16040463 -- fake porn faceswap generated by AI
Given the definition of "expected value," it is identically 1 (as opposed to merely "approaching it"). Sorry, I'm not trying to be pedantic.

https://en.wikipedia.org/wiki/Expected_value
Inventing a better battery is something a single person can do in the lab. I worry that you are conflating inventing things and the engineering of scaling them out. Scaling things almost never was doable by one person, but the initial seed was and usually is.
Meet your desktop's ancestors: AT&T exhumes footage of the Bell Blit [video]
Yeah, I would have recommended Kotlin. Runs on the JVM, so benefits from the matureness of Java, but is a more modern, and better designed language. A reason to choose Rust over this is if you actually have reason to believe you will need some extra bare metal performance over a garbage collected language, or you will need multiple threads. From what I can tell, the author did not really have good reason to believe any of those things, they just wanted to stay clear of whatever was wrong with the software they used at work, which a JMV based solution should have done. I am glad it worked out for them though, and knowing Rust is a good asset to fall back on, whereas learning Kotlin should be pretty easy for them. Even so, I like that with Kotlin you can take advantage of the most mature IDE ever made InjelliJ IDEA. I think they would have completed their project faster with this. That being said, the program they ended up with sounds very fast and it probably is faster than if they wrote it in Kotlin. It was the "right" move in the sense that it seems to have worked out well for them. Was it the "best" move? Most moves are not, and they don't need to be. Whether or not Kotlin would have been better probably depends on if it was better to finish faster or have an even more blazingly fast program at the end. I don't think a Kotlin version would have been slow or had any of that wait for 30 seconds nonsense, but it probably would have been a little slower. Would that a "little slower" have mattered? It depends on who is using the program and how they are using it. It always feels nicer to have a program that feels like instantly responds to your every whim.
"Most of the planet doesn't treat editor configuration as software. We do."

But I also wanna be the cool kid, and not a part of the herd :'(
This is happening. https://www.youtube.com/watch?v=1Ea57XERywM&index=6&list=PLc...

"Narrative Dungeon Design"
Out of which some 3 billion years had to pass before unicellular forms of life evolved into multicellulars.

Who knows if this jump alone should be taken for granted - plus, not many planets could provide 3 billion years of "good weather" (or staying habitable) to start with.
The OP's argument that fork doesn't make a lot of sense for what it gets used for seems persuasive, I'm definitely curious how it ended up that way. This was relatively early days for multi-tasking (ie "time-sharing") at all, maybe the only explanation is that it was early days and it wasn't clear how it was going to end up being used and 'fork' was convenient to implement. Or that's how the previous time-sharing OSs did it, for equally mysterious reasons, and it was copied? I dunno.

The suggestion that it was done this way because the expected main use case was a fork without an exec at least provides a rational explanation (I don't think 'threads' as distinct from processes existed yet in unix? a fork without an exec was the closest thing you had), but I have no idea if it's historically accurate. Would be interesting to find people who were around and get some background.

Ah, this is interesting:

> Then came Unix, in the early 1970s. The Unix notion of a “process” became a sequential thread of control plus a virtual address space (incidentally, the Unix notion of a process derived directly from the Multics process design [Saltzer, 66]). So “processes”, in the Unix sense, are quite heavyweight machines. Since they cannot share memory (each has its own address space), they interact through pipes, signals, etc). Shared memory (also a rather ponderous mechanism) was added much later.

> After some time, Unix users started to miss the old processes that could share memory. This led to the “invention” of threads: old-style processes that shared the address space of a single Unix process. They also were called “lightweight”, by way of contrast with “heavyweight” Unix processes. This distinction dates back to the very late 1970s or early 1980s, i.e. to the first “microkernels” (Thoth (precursor of the V-kernel and QNX), Amoeba, Chorus, the RIG-Accent-Mach family, etc).

http://www.serpentine.com/blog/threads-faq/the-history-of-th...

Not totally sure what light that sheds on the question, if any, heh.
No I'm not trolling. But I will post this to job search too if you think that is a better place.
That guy misunderstands the point of Zayners stunt, and also misunderstands the kits that Zayner sells (they are kits for using crispr on yeast in a Petri dish). Zayner acknowledges that his arm injection stunt is likely very inefficient.

Still I'm not going to defend Zayner, he probably is a bit of a dick.

But the point is that you can modify the DNA of at least a small number of your own cells in a rough untargeted way for about $400. That's quite surprising. Makes you wonder what might be going on behind closed doors elsewhere.

edit: Here's Zayner's write up of his stunt: http://www.ifyoudontknownowyaknow.com/2017/10/the-first-huma... (possibly dodgy ads, adblock recommended)
What's the Difference: Technical Writing, Content Writing and Creative Writing?
> I think most people will want to use their own configs after a while

"after a while". Agree. I think they are called "starter kits" for a reason :).

> I also find the description filled with buzzwords and buzz-phrases to the point where it becomes meaningless.

I have looked into their config today. Nothing very amazing, but indeed a better default experience. It's much simpler (compared to Spacemacs) which I think is more beginner friendly.
Yes, and the A53 speculatively executes past branches, otherwise there's little point in having a branch predictor. The difference between it and an out of order processor is that the depth of speculation is limited by the pipeline length rather than the reorder buffer.

EDIT: The pipeline layout severely constrains what sort of speculation can happen and, thinking about it more, I'm really surprised that the A8 can finish load and issue a second one before the mis-speculated branch is resolved and the loads are quashed.

EDIT2: Well, that's not the only difference obviously. The big one that makes a processor in order versus out of order is whether a stalled instruction causes all subsequent instructions in the stream to stall or just ones with data dependencies on it. But the problem of quashing bad instructions is shared by all processors that are pipelined and which can throw exceptions, not just those that continue speculatively issuing past predicted branches.
Narrative Dungeon Design
Closing for 6 Days: Here’s Why We’re Taking the Last Week of the Year Off
There was a post here a few days ago on amateurs (people who had never even touched python before, let alone tensorflow) who were using deep learning to generate fake celebrity porn. The results are actually pretty believable:

https://news.ycombinator.com/item?id=16040463
Agreed. I haven't had this much fun thinking through the implications of a new exploit technique in a long time. It is truly beautiful.
When using these patches on statically linked applications, especially C++ applications, you should expect to see a much more dramatic performance hit. For microbenchmarks that are switch, indirect-, or virtual-call heavy we have seen overheads ranging from 10% to 50%.

Ouch! This is independent of other performance hurts, like from the kernel syscall overhead that was the hot topic yesterday. This is pretty crazy.
And or how do you prove someone's innocence if you can generate a believable, fake, crime video.

Supporting counter evidence will become that much more important.
Building a Full-Stack Visual Debugger for Mobile
So I see many people in this thread talking about "improving police procedures" a concrete example of that would be treating with suspicion any call that comes through any means other than 911.

This person called a city government office, not through 911. Someone in the city government copied the phone number to call back and had 911 call them back. This should be incredibly suspicious. Why wouldn't the person just call 911? It seems to me some means like calling a local government is the only way someone from outside of the area would be able to SWAT someone else.
Slightly modified for a more probable representation of the future:

[...]

"Why the hell do you need so much RAM, what's the point?"

"It's a Chrome box running web-native apps."

"Oh..."

WASM is defining our future. It might not be chrome boxes, it could be Safari boxes, or Edge boxes, or Brave boxes, or... Why use MacOS/Windows/Linux when everything is available to a sufficiently powerful JS interpreter with built-in sandboxing?
Amdahl's law. The von Neumann bottleneck continues to get bigger and bigger with each iteration. We can do far more calculations in the same amount of time on a chip, due to the increasing number of transistors we can fit on them, and also improvements in the internal designs (superscalar architectures, etc). The speed of memory access however, has only been increasing at marginal rates in comparison, and now we have increasing contention for execution units in the processor to access it as we increase the number of distinct cores. Caching, prefetching, etc. have partially helped to mitigate some of the problems, but only as far as you can avoid cache misses (common in object oriented code, due to frequent pointer dereferencing). We're still at the stage, with all these technologies, that the VNB is what's preventing us from doing more in the same amount of time. Writing high-performance code is also difficult as often the hardware specializations are inaccessible to a programmer, and he has to rely on the compiler/microassembler to do the right thing. Often this means designing code in ways to suit the CPU (eg, vectorizing all your data), rather than to suit the programmers (eg, OOP).

We should really be aiming towards NUMA, many-core processors with high-speed message passing between cores, and a programming model which suits development over that kind of architecture (eg, the Actor model).
Bootstrapping in a crowded market