HN user

zhenjl

373 karma
Posts53
Comments41
View on HN
bothsidesofthetable.com 9y ago

Why 2017 Should Be a Great Year to Raise Venture Capital

zhenjl
1pts0
www.cbinsights.com 9y ago

NEA Is the Most Active VC Investing in Cybersecurity

zhenjl
1pts0
www.linkedin.com 9y ago

Deal Breakers, Part 1: Red Flags from Top VCs

zhenjl
8pts0
www.endgame.com 9y ago

Another 0day (Firefox/Tor), Another Prevention (before execution)

zhenjl
1pts0
cdn.ampproject.org 9y ago

8M GitHub profiles were leaked from GeekedIn's MongoDB

zhenjl
1pts0
arstechnica.com 9y ago

New, more-powerful IoT botnet infects 3,500 devices in 5 days

zhenjl
1pts0
github.com 9y ago

Fix to map caps_lock to both ESC and CTRL using Karabiner-Elements

zhenjl
1pts0
techcrunch.com 9y ago

Scientists made babies from mouse skin cells

zhenjl
2pts0
arstechnica.com 9y ago

Flaw in Intel chips could make malware attacks more potent

zhenjl
29pts0
blogs.vmware.com 9y ago

VMware and AWS to deliver a vSphere-based cloud service running on AWS

zhenjl
2pts0
www.themacro.com 9y ago

Advice for New Managers

zhenjl
3pts1
threatpost.com 9y ago

Zerodium Triples its iOS 10 Bounty to $1.5M

zhenjl
2pts0
arstechnica.com 9y ago

NASA changed all the astrological signs

zhenjl
1pts0
arstechnica.com 9y ago

What the F? What swearing reveals about language and ourselves

zhenjl
104pts47
venturebeat.com 9y ago

Intel teams with TPG to spin out McAfee security unit, valued at $4.2B

zhenjl
3pts0
www.alixpartners.com 9y ago

The Race to Patent the Blockchain

zhenjl
3pts0
bothsidesofthetable.com 9y ago

What to Make of Andreessen Horowitz’s Returns?

zhenjl
5pts0
arstechnica.com 9y ago

Juno flew to within 4,200km of Jupiter–and survived

zhenjl
3pts0
arstechnica.com 9y ago

DHS asking tourists entering the US to reveal their “online presence”

zhenjl
5pts0
www.hashicorp.com 9y ago

Decommissioning Otto

zhenjl
151pts96
highscalability.com 9y ago

How PayPal Scaled to Billions of Transactions Daily Using Just 8 VMs

zhenjl
15pts0
www.recode.net 10y ago

The tick-tock story of how LinkedIn shopped itself to Microsoft, Salesforce

zhenjl
1pts0
www.google.com 10y ago

Google map of 113 silicon valley security companies

zhenjl
1pts0
github.com 10y ago

VSphere Integrated Containers (VIC) Is a Container Runtime for VSphere

zhenjl
2pts0
onstartups.com 10y ago

Startups are twice as likely to show pricing than enterprise SaaS companies

zhenjl
2pts0
zhen.org 10y ago

A Modern App Developer and an Old-Timer System Developer Walk into a Bar

zhenjl
148pts82
zhen.org 10y ago

2016: Analyzing Security Trends Using RSA Exhibitor Descriptions

zhenjl
2pts0
www.huffingtonpost.com 10y ago

Habits of Unicorn Entrepreneurs

zhenjl
3pts0
zhen.org 11y ago

Analyzing Security Trends Using RSA Exhibitor Descriptions

zhenjl
2pts0
zhen.org 11y ago

Sequence: Scanning and Tokenizing 200-500K Log Messages per Second

zhenjl
2pts0

Ok, trying to write 国家栋樑. Unfortunately I only got the first two characters..国 is Fqge, 家 is ei(, but haven't figured out how to do the last two. Any idea how to get the last two?

Quick suggestion: when shift key is not down, should show lower case letters. When shift key is down, show upper case letters.

I really want to like this. Maybe what the developer can do is to build a simple app that translates a Chinese character into a series of keys. That will ease some of the frustrations on not being able to figure out how to type using this input method. For example, I am trying to type 瓦 but for the life of me I can't figure out how.

edit: removed "shift doesn't work"...does seem to work.

When I ran this I gave the server and client 2 cores each. Neither were maxing out the cores.

At about 856K MPS (sent + received) @ 1024 bytes/msg, that's less than 1 GBps. So I can't imagine it being io(net) bound either.

So inconclusive...unfortunately. Need to profile a bit more to know.

Edit: Tho this is TCP based so it's possible that it's netio bound given the protocol overhead. At this message rate, each packet is almost guaranteed to be full size. So we are doing about 600K pps, approximately.

Author here. A bit of a pleasant surprise to wake up and see this on HN.

Thanks for the detailed response. Here's some answers hopefully can help clarify things a bit.

* Are messages delivered once and only once?

A: MQTT allows QoS 0 (at most once), 1 (at least once), and 2 (exactly once.) The performance numbers in the blog are for QoS 0.

However, SurgeMQ implements all three and there's unit tests for all three. I just haven't done the performance tests for QoS 1 and 2.

* Are messages are messages delivered at least once?

SurgeMQ supports it though the numbers posted are for QoS 0 (at most once)

* Can messages be dropped entirely under pressure? (aka best effort)

No. Currently no messages are dropped.

* If they drop under pressure, how is pressure measured? Is there a back-pressure mechanism?

See above.

* Can consumers and producers look into the queue, or is it totally opaque?

Not sure what this means..sorry..

* Is queueing unordered, FIFO or prioritised?

Ordered, FIFO...MQTT spec requires that messages from publishers to delivered in the same order to the subscribers.

* Is there a broker or no broker?

Brokered

* Does the broker own independent, named queues (topics, routes etc) or do producers and consumers need to coordinate their connections?

Brokers uses topics to route. Publisher publishes to a topic, subscribers subscribe to multiple topics w/ optional wild cards.

* Is queueing durable or ephemeral?

Ephemeral currently. Though MQTT spec requires that any unack'ed QoS 1 and 2 messages be redelivered when the server restarts or client reconnects. So once SurgeMQ meets that spec, it could be considered somewhat durable.

* Is durability achieved by writing every message to disk first, or by replicating messages across servers?

N/A

* Is queueing partially/totally consistent across a group of servers or divided up for maximal throughput?

Currently SurgeMQ is a single server w/ no clustering ability. However, MQTT spec does mention the bridge capability that is a poor man's cluster. Not yet implemented.

* Is message posting transactional?

QoS 1 and 2 starts to be more transactional. QoS 0 is strictly fire and forget.

* Is message receiving transactional?

See above.

* Do consumers block on receive or can they check for new messages?

Block on receive.

* Do producers block on send or can they check for queue fullness?

Block on send.

Author here.

There's really no comparison tbh. RabbitMQ has been battle tested for years and SurgeMQ is just at its infancy. And RabbitMQ has a lot more enterprise security features that SurgeMQ doesn't have today. So if you are looking for a solution today, go w/ RabbitMQ.

SurgeMQ hopefully will get there someday, but it's not ready today, yet.

I did not. It might be difficult tho for all the delta encoding methods since they all depend on computing delta from the previous integer.

For the non-delta methods it is conceivable that ||ism may help, but not sure by how much.

2013-11-17 Update #2: Tried another new trick. This time I updated the leading bit position function, when using the gccgo compiler, to use libgcc’s __clzdi2 routine. This had the same effect as the update #1 except it’s for when gccgo is used. Performance increase ranged from 0% to 20% for encoding only. Thanks dgryski on reddit and minux on the golang-nuts mailing list.

I just finished updating the code with an assembly version of a hot function (finding the leading "1" bit position) and updated the blog to reflect the improvements. In general I saw a 3-40% performance increase using the assembly version, which I borrowed from math/big/arith_*.s. The reason for the wide range is because it depended on the size of the delta integers being processed.

Sorry for the late reply. I was traveling for the past week or so.

In any case, EWAH is designed to avoid the WAH patent. According to the author, the Apache people checked things out when they adopted it for Apache Hive and they were apparently satisfied.

If Apache is satisfied, I think we are safe. :)