HNHacker News
TopNewBestAskShowJobs

mulchpower

24 karma · joined June 9, 2013

technologist, human; find some of my thoughts at http://lodes.nu or http://www.quora.com/Brien-Colwell
submissionscomments
mulchpower··on IPv6 neighbor discovery on EdgeRouter is not usable in real scenarios
Anyone else struggle with ICMPv6 on EdgeRouter in the wild?
mulchpower··on Ask HN: The government of my country blocked VPN access. What should I use?
There are some techniques like fragmented TLS and reordered packets that work in some cases. Also using vanilla HTTPS transport is a good start for many places. URnetwork is an open source, decentralized option that does all of these out of the box. You can get it on the major stores or F-Droid.
mulchpower··on Ask HN: The government of my country blocked VPN access. What should I use?
URnetwork works where many don't http://ur.io . It used a grab bag of techniques, open source
mulchpower··on Show HN: URnetwork – Decentralized VPN Replacement
Yes the URnet p2p streams are like Tor. The project focuses on multi path, multi ip to make it safer and more available to different network conditions. Our security model is some stuff is blocked, so the client is able to race multiple paths to find ones that route.
mulchpower··on Privacy.txt: Privacy Policies in the Open
Would love to connect with anyone thinking about this space.
mulchpower··on Ask HN: Who is hiring? (May 2017)
HeadSpin (https://headspin.io) - Senior Software Engineers & UI Engineers

Full-time positions in our global headquarters, downtown Mountain View. Work with a distributed team on mobile device infrastructure and performance intelligence. Small team always pushing for more correct, more scalable, more usable, more capable, with many interesting problems to work on.

Competitive compensation.

Please apply directly to brien -at- headspin.io. The process is an initial call with a member of the team, then a small coding challenge.

mulchpower··on Show HN: Faster Image Loading on Android is now a one-liner
Hi! Really great questions. Thank you.

1- Both apps do the same client-side caching, with no server-side caching. The Nextop protocol is able to get bytes down faster from raw requests than direct HTTP (limited to 2 concurrent connections). An update to the proxy will be coming out soon that does caching like a proper CDN, which will be a big win. Look out for other performance improvements this week too (I can discuss more if you want).

The bottom line is that Nextop ImageView loads your images >=HTTP/2 with zero changes to your backend. This is a huge win for developers wanting to make the switch now.

2-The client supports prioritization+multiplexing to handle that. More important messages will always be sent at the head of the line, regardless of the backlog. The important thing to remember is that the connection is a bunch of pipelines (Nextop calls them groups), where messages in each pipeline get sent in order, and pipelines get merged into a single stream out/in.

Now a lot of messages that drive views like GETs aren't necessary when the view goes off the screen. Nextop handles that case for you with some nice integrations between view and requests, which can help the backlog. If your app needs to cancel/merge messages like, for example, an app sending a stream of geo updates, Nextop supports canceling a message which will remove from the queue if present. "canelSend(p); send(p = current);" one pattern to manage the backlog for messages that can be replaced with newer versions.

We're rolling out some prefetching/offline stuff in the next couple weeks that will really highlight this.

Now the memory impact of the backlog is important. I think letting Nextop abstract that and improve is better than pushing memory issues into the rest of the app. In general the Nextop philosophy is a simple API that does the right thing with a broad range of input/output values. All the special cases will go into the library to save developers' headaches. Nextop eventually reaches zero memory use and gives you the tools to manage memory/bandwidth use by crafting how your app sends messages. For example, downsampling a camera photo for upload is a one-liner in Nextop.

mulchpower··on Show HN: Faster Image Loading on Android is now a one-liner
Developer here. Love to discuss performance and mobile. Building a network library from the ground up for mobile.
mulchpower··on Show HN: Sorted list data struct with insert/get(index) in lg time
SortedList lets you get(i) to get the ith item in sorted order, and that's as fast as a TreeSet contains. It also splays so near each other faster the second+ time called. I use this for UIs that do scrolling/paging, and for models/view s that need to query ordered data. For example I have messages coming in real time, put them in a sorted list by importance, and display with a simple list view. Each time a new message comes in, it's lg time to update the view regardless of how long it is.