skysight-inc/HackerNews huggingface dataset:
If you know how to construct data structures in C, it's pretty straightforward to construct them in assembly language. In asm you tend to lose the benefit of arrays being a type. In x86 you have powerful addressing modes (the different ways you can calculate a memory address) which are normally encoded with modrm and sib bytes after the opcode. An example where eax, rbx, and rcx are registers:

; eax = rbx[rcx] where rbx points to the base of an array of dwords
mov eax, [rcx*4 + rbx]
; => 8B 04 8B
; where the first 8B is the opcode for this version of mov, 04 is the modrm byte saying
; to mov the value into eax as well as that there will be a sib (scale/index/base)
; byte following specifying the data source, and then 8B specifying everything in the []'s.
; If we were moving into ecx, the modrm byte would be 0C because a the 3-bit
; register specification portion of modrm would change to specify ecx.

If you are optimizing for size (which can be a fun exercise) there are other ways of iterating through "arrays" of bytes such as the various string instructions [1] (though these tend to be slower on modern processors because they are microcoded). This gets into designing your code to use registers which are used implicitly by small instructions reducing the need for modrm/sib bytes in the instruction bytes [2].

Another example might be:

lodsd ; eax = *rsi++ : "AD" (one byte opcode using implicit src/dst operands)
shl eax, 2 ; eax *= 4 : "C1 E0 02" where C1 specifying shl instruction
; E0 specifying eax and immediate constant
; 02 the constant to shift eax by (this is a mul by 4)
stosd ; *rdi++ = eax : "AB" store into destination (one byte opcode)

It's not hard to imagine that being in a loop to iterate over the contents of an array. Hash tables are just the way they are in C really.

[1] http://www.felixcloutier.com/x86/LODS:LODSB:LODSW:LODSD:LODS... (there are others)

[2] https://www.swansontec.com/sregisters.html
Vim advanced cheatsheet
> Right now, it suggests that what Go does is to 'cooperatively' preempt at function prologues. This change would instead allow the runtime to preempt at a choice of "safe points" the compiler suggests throughout your Go code.

This is incorrect. Go has had preemptive scheduling (instead of cooperative) since at least 1.2 (possibly 1.1). The proposal here is to make it preempt at arbitrary points, not just at certain points.

The points at which it currently can preempt is far greater than simply function prologues, which is why full preemption has very little impact on the end user (it already appears to preempt at essentially arbitrary points).
Data Privacy and GDPR: Treading Carefully Is Still the Best Course
Based on what definition of domestication? There are both deer and bison farms.

Also wasn't the Turkey domesticated soon after the arrival of Europeans?
I recently did this with Charter as AT&T is also in our neighborhood. The person at Charter first tried to do an up-sell (which would have cost more money) and eventually came around to saying that they wouldn't offer the lower rate again. At which point I said, "I'm going to AT&T who will give me a better rate, cancel my service." Which resulted in a slightly rude interaction before they canceled my service. A week later AT&T internet was up and running.

It's was a very odd interaction given that Charter's fine print says that to qualify for the discount you have to not have subscribed to Charter's services for a mere 30 days[0]. Even with limited competition, now with MiFi hotspots a person could cancel their plan, do a pay-as-you-go MiFi hot spot for 30 days, and then resubscribe with the new rate. (Not sure if Comcast is the same.)

[0] "Offers are valid for a limited time only, to qualifying residential customers who have not subscribed to applicable services within the previous 30 days and have no outstanding obligation to Charter."
Children in particular are very suggestible. We had to learn how to question them without eliciting the response that we are priming them for.
Sure, but it's far more expensive and not as generally usable as the mysql-flavored MemSQL for common data warehouse scenarios. Performance will be similar but there are differences in functionality like kdb's asof joins that can't really be compared.

kdb+ is much better for numeric/financial analysis apps, especially when used with the integrated query language and interpreter environment.
Kotlin's the latest in a long series of leading alternative languages for the JVM, each having a turn taking second spot behind Java. First there was Beanshell adding syntactic shortcuts for property boilerplate, then Apache Groovy came adding closures, then Scala took the adoption lead adding full static typing and heavy functional capabilities, and now Kotlin's come into second JVM spot with simplicity by removing cruft. So think of Kotlin as "alternative JVM language Two point Oh".
Work needs to be approximately the same difficulty for everyone

Unfortunately the main design and math of of Satoshi's PoW means that users who ran the BTC software app 2009-2014 worked far far far less and spent much less CAPEX and OPEX to generate the majority of BTC that will ever exist.
Notice of Data Breach
Tangential, but I've also heard that humans are the only animal that will willingly run towards a fire.
Please post your write-up on HN! I would love to read CockroachDB performing in real world.
They've been selling these for years - if the rates of failure are so high I don't understand why we haven't heard more about it. Puzzling.
Swift 4.1 Released
It the one reason I continue to use Apple products. They've definitely had their snafus when it comes to security implementation, but bugs are bugs.

I don't doubt that at their core that they believe strongly in personal data privacy though. They've shown multiple examples, and this is just another step in the right direction.

It makes sense as massive scale data collection is not their fundamental reason for existing (unlike Google and Facebook).

Unfortunate that the idownloadblog link asks for permissions to turn on push notifications though.
Apple releases iOS 11.3 with new Animojis
Oh you're right, I read that wrong ("inspect the results"). I still don't think it's a good idea, it's the same problem.
Everything is just a blob of bytes when you get right down to it. Strings and arrays are just as you say. As another commenter notes, hash tables are big arrays and a function that tells you how to index into it. Linked lists are a bunch of different blobs, each of which has a sub-blob that tells you the address of the next blob. And so on.

They have this representation whether you're using assembly or not... it's just that if you're writing assembly, then you have to pay attention to their blobby nature. If you're writing in a higher level language, then that language will do the work for you of translating, say, my_object["my_key"] = my_value into the assembly instructions that deal with indexing into your giant array.
I’ve found that blockers have trouble with sites that display things even a fraction after initial page load. For example, even if they show you “the page” to select something to block, the annoyance won’t even be visible.

Desktop uBlock Origin works soooo much better than anything on mobile right now.
You are right, nobody calls it hack. They call it data breach. Which it was, because the data was supposed to be bound by contract.
My thoughts exactly, without a MTL (Money transmitting License) it seems like this runs afoul of a number of things including KYC. For the record MTL's for all 50 states will run you 6-12 months and ~300K when insurance, lawyer fees, and application fees are through (That's for the first year, subsequent years are cheaper but still).
Thank you for reporting this! Turns out I was using the wrong tag to indicate publication date.

I think the issue is now fixed in production, caching complexities notwithstanding.
Yes, people would buy them, but they do require very disciplined shooting. That kind of resolution is very unforgiving of even slight movement or mis-focus.
I was diagnosed with ocd and depression. You said it took a year to catch youself doing the pattern. Please tell me how you learnt to catch yourself. I need that skill desperately.
>You need a license to sell this in the US.

I'm not sure if you do. How is this any different than "buy X product for $50 and get a $5 mail-in-rebate via AMEX gift card"?
Building PCs is plenty of fun IRL too -- at least that was the case before the year began, at least.

Yeah, cable management might suck, but for the most part fitting together all of these complicated pieces of silicon to create a working machine is incredibly rewarding.

Now, what we have is a monopoly of those same pieces of hardware by miners, leaving much of the fun of building a PC gone, replaced by scrounging around for deals on Amazon and Newegg to see if you can find a GPU at less than 400% markup. It's taken a huge bite out of PC gaming and left the RAM and GPU market in shambles.

Proof of work is an environmental disaster, and an economic one as well. Crypto needs to get its shit together and switch to proof of stake as soon as possible, because this type of gold rush helps nobody except a small few and hurts the people who use PCs for science and personal entertainment, who are a far larger chunk of the PC userbase.
See the local bitcoin guy who went to prison for selling bitcoin in Florida.

Wait, selling bitcoin in one the many bitcoin meetups around the U.S. is illegal?
It can get arcane getting the right socket mobo for your processor, getting the correct timings on the RAM, figuring out how much power supply you need to buy...

And then there's those poorly documented nonstandardized fiddly little wire connectors for all of the front panel functions, plus another set for the USB ports and so on. To this day I'm never sure which way to plug in the LEDs, and even when I think I have it down I'll run into a mobo that does it the opposite way. And then your case has a three pin power switch (outer two wired up), but the motherboard only has two pins for it...
But you could also call it, "BombproofDB", "NukesafeDB", "GeodistDB" or something that gets the same idea across.
Since the great subterranean migration of 2017, catching the elusive GPU outside of a mine and in its native habitat has proved quite difficult.
Network effects, yes like how BTC is owned by a tiny pool of oligarchs who need other users to transfer real capital in for their zero sum pyramid scheme.

One important point: if we actually include all 7 billion
people on the earth, most of whom have zero BTC or
Ethereum, the Gini coefficient is essentially 0.99+. And
if we just include all balances, we include many dust
balances which would again put the Gini coefficient at
0.99+. Thus, we need some kind of threshold here. The
imperfect threshold we picked was the Gini coefficient
among accounts with ≥185 BTC per address, and ≥2477 ETH
per address. So this is the distribution of ownership
among the Bitcoin and Ethereum rich with $500k as of July
2017.

In what kind of situation would a thresholded metric like
this be interesting? Perhaps in a scenario similar to the
ongoing IRS Coinbase issue, where the IRS is seeking
information on all holders with balances >$20,000.
Conceptualized in terms of an attack, a high Gini
coefficient would mean that a government would only need
to round up a few large holders in order to acquire a
large percentage of outstanding cryptocurrency — and with
it the ability to tank the price.

With that said, two points. First, while one would not
want a Gini coefficient of exactly 1.0 for BTC or ETH (as
then only one person would have all of the digital
currency, and no one would have an incentive to help boost
the network), in practice it appears that a very high
level of wealth centralization is still compatible with
the operation of a decentralized protocol. Second, as we
show below, we think the Nakamoto coefficient is a better
metric than the Gini coefficient for measuring holder
concentration in particular as it obviates the issue of
arbitrarily choosing a threshold.

...However, the maximum Gini coefficient has one obvious
issue: while a high value tracks with our intuitive notion
of a “more centralized” system, the fact that each Gini
coefficient is restricted to a 0–1 scale means that it
does not directly measure the number of individuals or
entities required to compromise a system.

Specifically, for a given blockchain suppose you have a
subsystem of exchanges with 1000 actors with a Gini
coefficient of 0.8, and another subsystem of 10 miners
with a Gini coefficient of 0.7. It may turn out that
compromising only 3 miners rather than 57 exchanges may be
sufficient to compromise this system, which would mean the
maximum Gini coefficient would have pointed to exchanges
rather than miners as the decentralization bottleneck.

Conversely, if one considers “number of distinct countries
with substantial mining capacity” an essential subsystem,
then the minimum Nakamoto coefficient for Bitcoin would
again be 1, as the compromise of China (in the sense of a
Chinese government crackdown on mining) would result in
>51% of mining being compromised.

https://medium.com/@balajis/quantifying-decentralization-e39...
Some advice i heard, but not have tryied myself. You need a grill with the grill beeing seperabable into pieces small enough to fit into your kitchen oven. Which hass to have pyrolisis cleaning option. Your grill should be pre cleaned.
> It’s also why taxis can’t compete “fairly” with Uber. They have to charge everyone the same all the time

This is just not true. In many jurisdictions, it's the maximum price and the number of hack licenses that are regulated. In those jurisdictions, taxis could charge less than the "regulatory" rate, it's just that none of them do...because the taxi biz is about artificial restriction of supply.
It's a little funny to me to talk about infinity in the context of physical systems. Where do you keep all those balls? :)
Google prohibited gun-related sales since 2012. The "burgundy" incident followed the Parkland shooting where 17 were murdered, it was a mistake quickly rectified.

Many sites changed their policies regarding guns in anticipation of the changes to Section 230.
Sort of true. You get accepted to a division at Microsoft (as a new grad) and if there's headcount on multiple teams for someone of your level you can choose between them. A lot of the time there's only one team that is willing to take on a junior engineer.
Ask HN: Best Startup ladingpages?
I live in Florida but would come volunteer. Is there a way I can do that. I do have a vested interest since I am on the list for a 3.

but if you workers on MY X line and I needed you to work on MY 3 line I am not sure I would ASK. They work for Tesla motors not Tesla Motors X line. (employees these days ;) )
-Unless I am much mistaken, a 2x teleconverter will cost you two stops - meaning 1/4 of the light. (I’ve mostly used a rangefinder in later years; they do not lend themselves well to teleconverters. :-)
Cryptocurrency taxation in Brazil
It will do you well to remember HN isn't the entire world. For many gamers out there building their first PC is a scary and daunting step.
Motherboard articles proudly promote a dim view of hardware, which is unfortunate for a publication with that name.
Back then, they used Hollerith machines and the like to track their victims. You have to wonder what such an operation would be like these days.

http://www2.iath.virginia.edu/holocaust/infotech.html
When I get new texts, they’re immediately displayed as “in 1 minute”.
"95% of all computer problems can be solved with strace" -- if you do system/network programming, probably yes, if you want to master Microsoft Word, probably not.

Side question: How did the author create the PDF from the markdown source at https://github.com/nh2/strace-pipes-presentation/blob/master... ?
> Patriot: killing allies in the skies and civilians on the ground since 1990.

This quote is nowhere in the article, where did you got it?
Amazing! Such an attention to detail! Love that it continues stabilizing while I'm dragging individual items. Thanks a lot for sharing this!
Just use a programmer's calculator or a software calculator (e.g. bc on Unix, RealCalc on Android) for the hex math (and for math in other number bases and conversions between bases too). Or even write one of your own as an exercise and then use it.
"a-la-carte is always more expensive than bundles"

And yet, people bitch about the price of bundles.
#open
Wellframe is hiring a mission-driven Sr. Software Engineer
Can you please give an example of something that is used frequently and that is as backwards compatible as Windows. Android is not from my experience(having to be often be recompiled for newer version.)
I've heard people say that before they actually put a PC together. Afterwards every one of them said "Oh, that wasn't so bad!" At least, in the last 15 years... The days of AGP and PCI-X and sharp-edged rolled-steel cases were a little more fraught.
I've used that several times. One more thing I want: The C/C++ code as comments in the assembler file. Is there a gcc switch for that that I don't know about?
Just to be 100% sure, I don't expect LIGO to detect the sound waves of the moowing cow, or the deformation of the cows while moowing. But can it detect the movement of a cow nearby?
huh, I thought Plus was dead
The problem with Motherboard is the way they talk about hardware. The pessimistic voice makes it seem not worth the trouble. They aren't even trying to spark curiosity in their readers and it's a disservice.
Typescript is incredibly unsound and at the same time incredibly useful. It rejects the notion that types are just for hard correctness guarantees and focuses on tooling.
Ask HN: How do you handle authentication and authorization between microservices
it is definitely harder than most PC building enthusiasts make it sound
You could always support other search engines -- but as the former CTO of blekko, I'm not going to ever ship an autocomplete that by default returns nasty stuff for [blacks are] or [why do blacks] or a large number of other phrases which produce terrible, terrible autocomplete results.
Building a Content-Based Search Engine III: Feature Signatures
I will second replacing the battery. The difference was night and day (6S Plus).
Why is that so surprising? It is hard even for technically-inclined users, let alone regular ones.
I literally just went to an ENT doctor to get a bristle removed from my throat yesterday. It didn't effect my breathing or eating, but it was very uncomfortable. I went a week without getting xrays of my throat. It's not fun.
Bullfighting involves a series of puncture wounds plus a sword stab in the end. In contrast, during slaughter, bovines get stunned / killed with compressed air, unless it's religious slaughter.

I am not going to say that farming meat is in the best interest of bovines, but common sense tells me the compressed air seems like a less painful way to die than being stabbed multiple times.
I-whoopee cushion for android FREE
Personally, every device I have (aside from my phone) has a different subset of messages on it. When they're on and near each other, they all get the same messages, but they definitely don't get everything all the time when off/out of range of my phone.

I suspect that the current setup is a best effort sync, while the full message backup exists within the iPhone backup.

iCloud iMessages would, I think, make that backup/storage a first class entity, separate from the phone's backup.
Ask HN: Examples of great landing pages?
> I know strings are just allocating a blob of bytes and usually reserving the last for null terminator

I know this is what string literals in C translate to, but is it actually how anyone does it these days? I thought there was general agreement that a size field is mostly superior to an elephant in Cairo.
Google continues in its quest to be completely useless for actually finding what you're looking for.
Its funny that people say this. For me, I've almost always been with Telus. Their Retention department has been great to me over the years. Until recent, I never paid for than $50 for my plan (previously 6gb, lots of minutes, etc), but recently went to that 10gb plan that they were all hustling.

I do the same process for internet (both Shaw and Telus). Each company has their own process for getting better rates, but it rarely takes more than fifteen or so minutes a few times per year to get them.

I was with Rogers back in 2003 and had their retention give me a killer rate after a few months.

For mobile, I always dig through the loyalty threads on Howard Forums first so I know what to expect.

[1] https://www.howardforums.com/forum.php
There's also linear system theory, which control theory is related to.
I love assembly language! I stream my programming sessions Monday-Saturday 5am-10am on Twitch (https://twitch.tv/nybblesio).

All of my previous streams are archived here: https://www.youtube.com/channel/UCaV77OIv89qfsnncY5J2zvg

I have around 23 videos now on YouTube covering both ARM 64-bit and x86 assembly language.

I have two projects on the schedule that are 100% assembly language:

- Let's Make an Arcade Game in MS-DOS: 100% x86 assembly language. I use DOSBOX and period tools for this project.

- Arcade Kernel Kit: 100% ARM AArch64 assembly language running on Raspberry Pi 3.

All of the code for these is available on Github: https://github.com/nybblesio

I'm also working on a game engine called Ryu: The Arcade Construction Kit where I'm writing my own assembler for classic arcade CPUs.

I'll be working on the x86 project again starting 2 April through 7 April.
Trump blasts Amazon for hurting the postal service. Is that true?
Yet the results for "black girls" are porn
I'm think the hobby you're referring to is genealogy. It's actually a very common and useful hobby. :-)

https://blogs.ancestry.com/cm/genealogy-second-most-popular-...
Everything is scary and daunting if you've not researched it properly and step into it thinking you have.
I don't think OAuth requires third-party cookies, and SAML definitely does not. The authentication parts use HTTP POSTs or redirects from the IdP to SP. You probably do want cookies to track the sessions on each end, but those would be first-party.

It's possible for your IdP to track the SPs you authenticate to regardless of protocol or cookie use, of course.
I could never give up higher-kinded types: there are plenty of ad-hoc solutions to various effects, but a single reusable solution[1] means you can build up libraries that not only handle all the common effects, but your own custom ones as well. Even if you don't use them directly, you benefit from the ecosystem they make possible. Few other languages let you use something like treelog[2], fewer still let you fold a custom tree type while managing an effect as nicely as with matryoshka. Typeclass derivation is reflection done right, with compile-time safety and corresponding performance. I've never seen another language that made it so easy to put a database transaction boundary in exactly the right place but in a type-safe way so that you can never forget, or even have transactions implicitly applied to web endpoints that need them in a 100% statically-compile-time-checked way, because your endpoint routing is just plain old code (the way it is in akka-http[4] or rho[5]). Hell, even when it comes to something as basic as result types: Kotlin or Typescript can't do them (nicely) at all, and Rust's can't offer nice syntax without a macro (or a magic trait in newer versions of the language).

There are plenty of things wrong with Scala - in many ways I'd like to see a clean replacement - but now that I think in HKT I could never go back to a language that doesn't have them.

[1] http://philipnilsson.github.io/Badness10k/escaping-hell-with...

[2] https://github.com/lancewalton/treelog

[3] https://github.com/slamdata/matryoshka

[4] https://doc.akka.io/docs/akka-http/10.0.4/scala/http/introdu...

[5] https://github.com/http4s/rho
It is almost certainly a degraded battery - the 6 still has plenty of horsepower for iOS 11.