HNHacker News
TopNewBestAskShowJobs

justin_

564 karma · joined January 14, 2013

Yet another software person on HN. I'm from the northeast US, but have been traveling around the world for years.

  https://justinchines.com
  @justinchines
  justin@chines.me
  λ
[ my public key: https://keybase.io/iamjustin; my proof: https://keybase.io/iamjustin/sigs/1tuafAWmDIAw3Da9OLMCVtskR6CRz9NnXiehcUL9sbo ]
submissionscomments
justin_··on Neurons in a dish learn to play Pong
I think it might be this one:

Adaptive flight control with living neuronal networks on microelectrode arrays

The brain is perhaps one of the most robust and fault tolerant computational devices in existence and yet little is known about its mechanisms. Microelectrode arrays have recently been developed in which the computational properties of networks of living neurons can be studied in detail. In this paper we report work investigating the ability of living neurons to act as a set of neuronal weights which were used to control the flight of a simulated aircraft. These weights were manipulated via high frequency stimulation inputs to produce a system in which a living neuronal network would "learn" to control an aircraft for straight and level flight.

https://ieeexplore.ieee.org/document/1556108

https://sci-hub.ru/https://doi.org/10.1109/IJCNN.2005.155610...

justin_··on Apple Neural Engine Internal: From ML Algorithm to HW Registers
> asitop

Neat little tool

> Does anything actually use the ANE?

I poked around for a few minutes to see if I could get anything. I saw a blip of usage on in Photos when adding a photo, probably for the new text recognition feature. I was able to see a lot of usage in Photo Booth, I guess for face detection for effects. There's definitely third-party apps making use of Core ML, but it's not something I know much about. On the iPhone devices, it's also used for Face ID (as the article mentions), which is probably much more important to Apple.

> This may be a dumb question, but would the space not be better used for more GPU cores? Then if an app actually does need to do neural net stuff, just use the GPU anyway?

The ANE is likely going to be more power-efficient than GPU cores loaded up for similar processing. Could they use the space for more GPU cores? Maybe, but they would have to work it into their memory architecture, support the additional power requirements, and presumably handle other engineering challenges like thermal design. Including the ANE also gives them something else to put in their marketing materials lol.

justin_··on Serving Netflix Video at 400Gb/s on FreeBSD [pdf]
There is no video for this available yet AFAIK, but for those interested there is a 2019 EuroBSDcon presentation online from the same speaker that focuses on the TLS offloading: https://www.youtube.com/watch?v=p9fbofDUUr4

The slides here look great. I'm looking forward to watching the recording.

justin_··on Ask HN: Collection of Pitch Decks?
StartHouse was pretty neat. It had a lot of PDFs of pitch decks pulled from various sources. My only issue is that it seemed quite a few of them were fakes and student projects. I have the full set downloaded. If there's any interest I can upload them somewhere.
justin_··on Why mmap is faster than system calls (2019)
I'm not sure the conclusion that vector instructions are responsible for the speed-up is correct. Both implementations seem to use ERMS (using REP MOVSB instructions)[0]. Looking at the profiles, the syscall implementation spends time in the [xfs] driver (even in the long test), while the mmap implementation does not. It appears the real speed-up is related to how memory-mapped pages interact with the buffer cache.

I might be misunderstanding things. What is really going on here?

[0] Lines 56 and 180 here: http://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86_...

justin_··on Why mmap is faster than system calls (2019)
The glibc implementation[0] uses Enhanced REP MOVSB when the array is long enough. It takes a few cycles to start up the ERMS feature, so it's only used on longer arrays.

Edit: Wait a minute... if this is true, then how can AVX be responsible for the speed up? Is it related to the size of the buffers being copied internally?

[0] Line 48 here: http://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86_...

justin_··on Bitcoin is more like ham radio than the early internet
The video streaming technology used in NLS was based on analog CRT television technologies. Later, videoconferencing was done digitally over dedicated phone connections/calls. It took a while before doing real-time video over the packet-switched internet became feasible.
justin_··on The file system of an integrated local network – Apollo File System (1985)
That's right. The RPC transport names in Windows are still prefixed with "nca", a reference to the Network Computing Architecture from Apollo.

https://docs.microsoft.com/en-us/windows/win32/rpc/choosing-...

justin_··on Interview with Ted Nelson
Ted's Youtube channel is a treasure. Candid and honest, but interesting and insightful.
justin_··on Internet Archive, decentralized
I wanted to submit an article about this but couldn't find anything either.

My understanding is that this loads content from various protocols (listed at the top of the page), many of which support replicating data in a decentralized way. As far as I know, there's no blockchain involved in anything here yet.

If you browse to the Community Video section and choose a video, you can see peer information as though downloading through WebTorrent. If I disable WebTorrent and look at a video, I don't see the peer information and it seems to fall back to HTTP. Pretty cool! It looks like almost everything is only seeded by the Internet Archive right now, but hopefully they want to encourage more people to participate.

justin_··on Internet Archive, decentralized
Thank you for creating GUN! The decentralized Reddit demo loads so quickly.

To prevent spam, it looks like they require a PoW on each vote. Does every update on a GUN database from untrusted peers require something like this? Is authentication intended to stop spammers in the future?

PS. For anyone reading, there's a recording of a talk Mark gave on GUN from the DWeb Summit, available here: https://youtu.be/kW6e1GCpqpE?t=43m22s

justin_··on Zero-Knowledge Proofs
This is great. I'd love to see something like the Computer Language Benchmark Game[0] but for these proof systems. In the meantime, you can find some interesting benchmark experiments in the papers for Hyrax[1] and STARKs[2]. I'm sure there's a lot more out there, but these are some hard numbers that I've come across. I'm a newbie when it comes to this stuff but it's really exciting to see all the progress.

[0] https://benchmarksgame-team.pages.debian.net/benchmarksgame/ [1] https://eprint.iacr.org/2017/1132.pdf (Section 8) [2] https://eprint.iacr.org/2018/046.pdf (Section 1.3.2)

justin_··on AIM will be discontinued today
A few months ago I was playing around windows 98 in VM for fun. I installed an old version of Netscape that had AIM integration built right in. It still worked perfectly, and I even was able to talk to a few high school buddies.

RIP

justin_··on A Comprehensive Super Mario Bros. Disassembly
I remember using this disassembly many years ago when writing a little NES emulator. Having a reference available for a popular game is incredibly useful.

Here's one of my favorite parts: https://gist.github.com/1wErt3r/4048722#file-smbdis-asm-L942

The byte here is for the BIT instruction, but why is it just a lonely byte? Well, the BIT instruction in this case also includes the two following bytes. When the game processes that instruction, the `ldy #$04` is swallowed up as part of the BIT instruction, effectively skipping over it. IIRC this was a pretty common trick used among 6502 programmers. It allows you to jump ahead over the next (2byte) instruction with just a single byte!

justin_··on Can you make your brain not see this circle illusion?
He's also very friendly on his Facebook account. He's got quite a few fans there.
justin_··on Hieronymus Bosch's Medieval Painting Comes to Life in an Animation
Fans of Bosch might also enjoy this 2d animation inspired by the painting, created by Yoji Kuri in 1972

https://youtu.be/mKdcQK2v3JQ

justin_··on Facebook admits it must do more to stop the spread of misinformation
Seconding this recommendation. American viewers can watch the film here:

https://thoughtmaybe.com/hypernormalisation/

justin_··on Jean-Paul Sartre, Signing and Significance
What is the point of that base64 string at the top? In the context of the article, I thought it would be a signature of "Craig Wright" or "Craig Wright, Satoshi", but it's only a base64 encoded string of one the earlier things he wrote:

  % base64 --decode <<EOF
  IFdyaWdodCwgaXQgaXMgbm90IHRoZSBzYW1lIGFzIGlmIEkgc2lnbiBDcmFpZyBXcmlnaHQsIFNhdG9zaGkuCgo=
  EOF
   Wright, it is not the same as if I sign Craig Wright, Satoshi.
justin_··on FOAF – Friend-of-a-friend
An ahead-of-its-time idea about the distributed web and the idea of open data. See http://xmlns.com/foaf/spec/ and https://en.wikipedia.org/wiki/Semantic_Web for more high-level details
justin_··on Loading an x64 register, how hard could it be?
For those wondering what he meant by the "data dependency" issue that zeroing out the upper 32 bits avoids, the first answer to this SO question does a decent job of explaining it: https://stackoverflow.com/questions/11177137/why-do-most-x64...
justin_··on Silicon Brain: 100,000 ARM cores [video]
"With a million cores we only get to about 1% of the scale of the human brain"

Interesting. So in terms of raw computing power, the totality of computers out there is much more powerful than a brain. I wonder when we first passed that level as a whole. (I know that we wouldn't use all our computers to make a "brain", but I think it's interesting to think about :)

justin_··on The likely end of DownThemAll
I'll be pretty upset if the addons that let you modify the Firefox UI via XUL have to go away. Tree-style tabs[1] for example is one of the major extensions keeping me with FF. There's really no alternative for Chrome since they can't completely change the tab UI like Firefox can. Check out the screenshots!

[1] https://addons.mozilla.org/en-us/firefox/addon/tree-style-ta...

justin_··on How DuckDuckGo Rode a Wave of Post-Snowden Anxiety to Massive Growth
DDG's !bang searches convinced me to use it as my default search. Being able to search various sites from the address bar is really useful. And if their results are ever poor, I can always get to Google with just a !g. I know you could do that before with keyword searches, but with DDG I don't have to worry about setting it up.
justin_··on Winning 1kb intro released at Assembly 2015
Here's a 256b web compo from 2002 (!) http://wildmag.de/compo/

A lot of the stuff looks almost trivial compared to what we do today. (And unfortunately a lot of these won't work anymore)

justin_··on Ask HN: What are some good resources on the history of programming languages?
You've probably already seen this, but the Wikipedia article on the subject isn't a bad introduction: https://en.wikipedia.org/wiki/History_of_programming_languag...

It gives a great overview of the different generations of programming and the significant languages in each.

justin_··on Ask HN: What was the Windows “refresh” button for?
I _wish_ OSX had it. I often work inside of SMB shares and they go out of sync sometimes.
justin_··on Usenet, updated in real time as it was thirty years ago
As a person who wasn't even born at the time USENET was popular, I've found this service very interesting. I was quite surprised when I found one of my current college professors posting in net.jokes!

If you like this website, you may also enjoy http://www.textfiles.com/, a huge collection of old text documents from the early net (especially BBSes).

justin_··on Scans of North Korean IP Space
> I am interested in how the databases that 'whois' queries are populated

As rid mentioned in his comment, this information comes from RIRs, who assign IP ranges to companies and other groups that request them. The WHOIS database is simply updated when an IP prefix is created or updated. When you make a WHOIS query, the RIR server is automatically contacted and the server simply returns a plaintext reply containing all the relevant information.

For example, ARIN (the North American registry) has a whois server for looking up data on IP addresses set up here: http://whois.arin.net

justin_··on Scans of North Korean IP Space
Some general info about IP at the global scale:

IP addresses are assigned by regional internet registries[1] (RIR) like ARIN (for North America) and APNIC (for Asia-Pacific regions). Addresses are assigned in blocks like the /22 mentioned in the article.

These prefixes are then associated with Autonomous Systems, which participate in routing. You can view routing information on looking glass servers[2] or by using a tool like Hurricane Electric's BGP toolkit: http://bgp.he.net .

For example, here's the data for Cloudflare's AS (which serves HN): http://bgp.he.net/AS13335 . You can look at the prefixes it serves and who they peer with.

[1] https://en.wikipedia.org/wiki/Regional_Internet_registry

[2] https://en.wikipedia.org/wiki/Looking_Glass_server

justin_··on Tails: a live operating system that aims to preserve your privacy and anonymity
You can, and that's a great way to try it out.

Tails recommends against using it in a VM for serious purposes though, since at that point it's only as secure as your host OS. If your host was comprised then Tails in a VM might not protect your communications.

← PreviousPage 2 of 3Next →