HNHacker News
TopNewBestAskShowJobs

lmb

262 karma · joined October 28, 2013

Programmer
submissionscomments
lmb··on Coroutines in C (2000)
If you look at uIP you'll realize its pretty much a gigantic function [1] with a lot of gotos and ifdefs. Not exactly what I would cite for sane code.

1: https://github.com/contiki-os/contiki/blob/master/core/net/i...

P.S. UIP doesn't use the coroutine stuff at all it seems.

lmb··on Post Mortem: A single whitespace character
Last time I checked (about a year ago), support for PSK was pretty abysmal on the server side of things.
lmb··on Post Mortem: A single whitespace character
That is pretty bad advice. RSA is slow, needs a lot of memory and is difficult to get right. Just go with AES in CTR mode if you absolutely have to. And remember that encryption != authentication.
lmb··on Gaze: Long Distance Movie Night
Didn't see this was up here. Yeah, it's using WebRTC.
lmb··on Venezuelans turn to Bitcoins to bypass currency controls
Remittances are all about cash management, where BTC doesn't help. There is (was) a company called Buttercoin that wanted to do it, but I think they have since switched to a white label exchange model.
lmb··on React-cursor: a JavaScript implementation of the Cursor concept first seen in Om
Well, Fb gave a presentation that said interaction with their web utils (so storage if you want to call it that) actually happens in the action itself, with pending, success and failure "actions" (events really) being dispatches to the stores. Not sure what that means for your facade, but it's confusing the hell out of me. What is the store supposed to do? Just hold onto the state, period?
lmb··on React-cursor: a JavaScript implementation of the Cursor concept first seen in Om
To me it feels like they are both trying to solve the problem of modifying state in a react app. Flux is probably more manual, by explicitly creating actions that modify state in a store that is listened to by components. With these cursor type solutions you pass down pieces of state through the component hierarchy (not outside of it as in flux's case), mutating the data as needed. Maybe it's useful to think about flux as being action centric, and cursors data centric? I'm still wrapping my head around Flux and am not entirely convinced its a good thing yet.

I'd love some input from users of om or one of the pure js solutions how it works for them. For example, how would one go about monitoring state outside of a component? Think submitting analytics events when a user does something.

lmb··on State of Rust 0.11.0
Rust looks very interesting for the embedded programmer. Imagine a leightweight OS with minimal runtime requirements, similar to Contiki[1], but done right.

[1] http://contiki-os.org/

lmb··on How I Start: Erlang
Thanks for the pointers. Regarding 3), access control was probably not what I was thinking about. More like, how do I use distributed Erlang without allowing everybody access to the node (even without knowing the cookie) and how do I prevent a MITM to snoop on my Erlang traffic. [1] seems to have some decent info on in, I should have researched some more.

[1] http://stackoverflow.com/questions/890938/howto-encrypt-erla...

lmb··on How I Start: Erlang
Thanks for the write up, especially the part on relx was enlightening. I've been toying with Erlang, and have three questions I have not been able to find good answers to. Maybe someone could elaborate?

1) How well does Erlang deal with multiple VMs on a single machine? Are there any upsides to using a single VM per machine? (So, run your own code along side a RabbitMQ instance for example, if that is even feasible.)

2) What is a good way to have run-time mutable configuration data? I was looking into Mnesia to store user / password combinations, but it seems a bit overkill. Ideally a solution that lets you add / remove config data from a running node on the fly.

3) How do you handle access control to the node, while preserving the distributed Erlang features? VPN all machines and then only listen on the private interface?

lmb··on How to randomize your MAC address on OS X
That's pretty cool, thanks for the hint. The original PDF seems to be from 2001, does this still work?
lmb··on How to randomize your MAC address on OS X
This code will lead to a nice, self-inflicted bug that will sometimes break your network connection. The low two bits of the first byte of the MAC have a special purpose and should be kept at 0 [1]. Learned this the hard way when developing on an embedded TCP stack. The switch silently discarded packets from multicast or local MAC addresses.

[1] http://en.wikipedia.org/wiki/MAC_address#Address_details

lmb··on Tado Cooling – Intelligent AC control
Kinda like the Occulus, which are also charging more for the DevKit. Why do you think it should be cheaper? It's not like they have an app store they want to promote.
lmb··on Tado Cooling – Intelligent AC control
Be careful: these are two distinct devices. One works with gas heating, the other with HVACs.
lmb··on Quora in the next YC batch
I've never signed up to the site, but find this quite interesting. Does that mean you only consume the content via email or do you click through? Sounds like a massive headache for Quora in the first case.
lmb··on The Heartbleed Bug
Makes it easier to target embedded arches. For example, LLVM doesn't target the MSP430 from TI, but there is a gcc fork for it. Sure, you can write a new backend for LLVM, but that's a whole different ballgame.

This way it would be Rust -> LLVM IR -> C -> GCC for MSP430.

lmb··on Spiped – symmetric, encrypted, authenticated pipes between sockets
That seems to be a non-argument to me: you shouldn't implement TLS yourself anyways. And given that spiped is a younger project than say OpenSSL will mean less eyeballs applied to finding bugs. And the cryptographic primitives spiped uses are available in TLS as well.

TLS and spiped are simply two different tools, for two different purposes. Control only one of the endpoints? You'll have to use TLS. Want to secure communication between infrastructure you control? Check out spiped.

lmb··on PostgreSQL: Jsonb has committed
Seems like there is room for a PostgreSQL-only ORM that specifically makes all these nice features available. Anyone heard of such a thing?
lmb··on Andrew Wylie advises you “pick the plague” over Amazon
A friend of mine, who is working in the publishing industry, always tells me how publishing is about the book (as a physical product). When she does that I always reply that it's about the story, not the way you deliver it. Why is it bad to be digital first, physical later?
lmb··on Scaling to millions of simultaneous connections (2012) [pdf]
You could use also Apollo, ActiveMQ's successor, which comes with an MQTT adapter and runs on the JVM. Has the added benefit of supporting other messaging protocols as well. I'm not sure how well mosquitto would hold up, do you have any experience with it?

As an aside, MQTT has a constrained device optimized sibling MQTT-SN, which works over UDP and supports sleepy nodes, etc. Unfortunately that one's stuck in licensing hell and does not yet have good tooling, at least last time I checked.

lmb··on Ghash.io very close to 51% of bitcoin pool
You can: http://hn-filter.appspot.com/#preset=bitcoin
lmb··on Ghash.io very close to 51% of bitcoin pool
Essentially, Ghash.io would be in control of the Bitcoin blockchain, allowing double spending of BTC and other nefarious deeds.

See https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_...

Edit: According to the Wiki linked, these attacks are also possible with <50% mining rate, although with lower probability of success. So this is a problem even if Ghash.io does not crack the 51%.

lmb··on Bloom Filters by example
I've used Bloom filters to implement simple breakpoints in an emulator. It makes sense since checking for membership happens every emulator step, and is essentially constant time with a bloom filter.
← PreviousPage 3 of 3