21,441 reputation
12449
bio website ripple.com
location Oakland, CA
age 44
visits member for 3 years, 2 months
seen 3 hours ago

I am Chief Cryptographer at Ripple Labs and one of the architects of the Ripple payment system.


Sep
24
answered PING to my site url returns 100 percent but my site is still up and working
Sep
24
comment How can I have ntpdate ignore skew?
Yes. Start ntp and then wait for it to report that it is synchronized. There used to be a tool called ntp-wait for this. It was a fairly trivial perl script.
Sep
24
comment How can I have ntpdate ignore skew?
There hasn't been a good reason to do this for many years now. The ntp service handles this case already. (You may want to specify appropriate options, such as -g.)
Sep
22
comment How do we find out what is causing high cache usage on our server?
You need to understand why the machine is dying, not why it is using memory. Using memory is normal, dying is not. Can you describe the problem a bit better? When it "dies", what exactly happens? Does it crash? Reboot? Respond to pings? Log something?
Sep
17
comment High memory usage, where is it coming from?
"Why is my server wasting so little memory?" (There are only two things you can do with RAM, use it or waste it. You can't save it for later. So "lots of use" means "little waste".)
Sep
15
comment Router cannot ping computers behind a switch
What ports on the router are you using?
Sep
11
comment tcp ack delay almost 600ms, is this all right?
You seem to be expecting some unreasonable level of precision from TCP timers. It's not intended to be a real-time, low-latency service.
Sep
11
answered tcp ack delay almost 600ms, is this all right?
Sep
11
comment tcp ack delay almost 600ms, is this all right?
It looks like a packet was lost and retransmitted. The recipient didn't know the packet was lost and retransmitted, and so started a 200ms timer when it received the retransmit. A 500ms timeout over TCP is idiotic.
Sep
11
comment tcp ack delay almost 600ms, is this all right?
What client timeout are you talking about?
Sep
9
comment RAID6 generates quite a IO wait at relatively low TPS
For a given level of performance, the wait time is purely determined by load. You seem to be getting reasonable performance -- 200 TPS. (The heads have to seek.)
Sep
4
answered Why is my self-signed wildcard certificate not working?
Sep
1
comment HA router with keepalived showing unexpected traceroute
Yes, it's normal. When the device originates packets itself, it won't use the floating address.
Sep
1
comment HA router with keepalived showing unexpected traceroute
Nothing unusual about the traceroute. The machine wisely uses its native address as the source address for packets it generates (in this case, the ICMP time exceeded ICMP error) so you can tell what physical machine it came from.
Sep
1
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
@MichaelHampton I don't see why you think that claim appears bizarre. It's quite straightforward. Unless a process locks something in memory, the OS backs a mapping with RAM only if it thinks that's the best use of the RAM.
Sep
1
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
The data is not clobbered. It is opportunistically saved to swap before the system is under memory pressure. That allows the physical page to be considered discardable until it's modified. This also helps to minimize the I/O demands should the system later come under memory pressure since fewer writes are needed. The disk cache won't be reduced by the outstanding memory allocations unless the OS thinks that's the best use of physical memory. It has choices. (Hence all the "why is my system using swap when there's plenty of free RAM" questions -- it's to make the disk cache bigger.)
Sep
1
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
@MichaelHampton Yes, quite certain. The OS can take the physical RAM away from the process before the process releases the virtual memory. That's how paging works. The OS uses physical RAM for whatever purpose it thinks is best. If it's backing a process' mappings with physical RAM (assuming the process didn't lock them), it's because the OS believes that's a better use for that RAM than disk cache.
Sep
1
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
@MichaelHampton Before it uses the physical page for some other purpose, it unmaps it from that program's memory space. I'm not sure what you mean by "Why don't we hear about this a lot more", we hear about it all the time. The 4,500 questions about "Why is my system using swap space when it has plenty of free RAM" are all about this exact thing. It's using swap space so that it can have a larger disk cache because that's what the OS felt was the best use of physical memory.
Sep
1
comment How to convince my Administrator that Java ON A SERVER is not insecure per se?
@MichaelHampton That is so. That's basically how paging works on every modern operating system. The malloc and free functions allocate only virtual memory. The backing of that virtual memory with physical memory is at the discretion of the operating system. If a program is using a bunch of RAM, unless it locked things in RAM, it's only because the OS felt that was the best use of physical memory.
Aug
31
awarded  Nice Answer