HNHacker News
TopNewBestAskShowJobs

kbaker

1,412 karma · joined February 9, 2012

Embedded systems engineer + software developer... My 'full stack' means PCB design and layout, RF + RFID, components + sourcing + product design (even some mechanical), kernel dev + bare metal embedded OS distros, add more layers of C, Python, Java, or .NET to tie it all together, then a nice-looking web frontend to top it off. Lots of fun to be had at every level!

send me email! username at gmail. [ my public key: https://keybase.io/kbaker; my proof: https://keybase.io/kbaker/sigs/sGOx8W59UuZWbo2z0B_5fbOKqvu0qyn42orx8wi2x_I ]

submissionscomments
kbaker··on Bedrock – Rock-solid distributed data
OK, how is this different from Rqlite [1], except in C++ instead of Go, Paxos instead of Raft?

> rqlite is a distributed relational database, which uses SQLite as its storage engine.

> rqlite gives you the functionality of a rock solid, fault-tolerant, replicated relational database, but with very easy installation, deployment, and operation.

Hmmm....

Also, is Bedrock DB only 30 days old? (since the 'first commit' message on GitHub?) That's barely topsoil!

[1] https://github.com/rqlite/rqlite

kbaker··on Scrypt is Maximally Memory-Hard
What happens if someone is sniffing the line? It wouldn't even need to be your fault, it could be some logger on your customer's server... i.e. do you have any protection against someone including this in the client code:

    DEBUG("testing external service... " + Hash1)
    Salt2 = call_external_salt_service_api(Hash1)
    DEBUG("service returned: " + Salt2)
If someone was logging this traffic, wouldn't this allow your service to be treated as a black box and nullify any additional security?

They wouldn't need to steal the full pool in this case, as you are sending back the exact hash/salt values needed for every user that logs in.

kbaker··on GitLab reinstates list of servers that have malware
For reference:

14. Additional jobs

Other than with the prior written permission of the Employer, the Employee is prohibited during the term of the Employment Contract to carry out work – either paid or not – of any nature whatsoever, either for himself and/or for third-parties.

Yeah, seems a bit much...

kbaker··on Ask HN: How to get started with machine learning?
You could watch the 'Hello World' Machine Learning Recipes videos by Josh Gordon at Google. Very approachable!

The first lesson is a classifier to separate apples and oranges.

https://www.youtube.com/watch?v=cKxRvEZd3Mw&list=PLOU2XLYxms...

kbaker··on Practical and ethical implications of memory enhancement
If you have Netflix, I highly suggest watching Black Mirror S1E3 'The Entire History of You', as it is a pretty great dramatization of a total memory record and replay future...

https://en.wikipedia.org/wiki/The_Entire_History_of_You

kbaker··on Daydream – Google VR
60 inch?! You could be (virtually) in the stands at the game!
kbaker··on Ask HN: Who is hiring? (October 2016)
Venture Research Inc. | Plano, TX (Dallas, TX, DFW) | Onsite Only | http://www.ventureresearch.com

Interested in RFID? In improving inventory and replenishment processes in hospitals, labs, and clinics? In automatically tracking pallets, containers, and other assets around a facility? Come join us!

Venture Research is a leader in the RFID industry and is consistently pushing the leading edge of what is possible using RFID. We have a variety of opportunities available for both fast-paced new product design and development as well as for development on some of our long-term stable products. 17 year old small but growing company, privately held, with excellent benefits, 401K matching, paid health insurance and highly competitive salary and bonus structure.

We are hiring for the following positions:

* Senior .NET / Backend developer: C#, VB.Net, ASP.NET, MSSQL, Oracle, JavaScript and JQuery. .NET MVC a plus.

* Embedded firmware engineer: microcontroller development using primarily NXP Kinetis parts.

* Embedded platforms engineer: C, Linux, Android NDK. Experience with hardware co-design, Python, QT, Django, React a plus.

Please email resumes to hr@ventureresearch.com, or use the email in my profile. Thanks!

kbaker··on Sleepless nights with MongoDB WiredTiger and our return to MMAPv1
I don't know... look at the bug report and the fix [1]. This does look like a bug in WiredTiger. It preallocates all of its cache, so it doesn't look like raw capacity problems. It looks like the internal MongoD issues pushed the problems downstream to the individual MongoS instances.

Comment from the author:

> We looked for an OOM in our logs but couldn't find it. Also, the log lines are from mongos nodes. Data nodes continues to run with severly reduced throughput.

[1] https://jira.mongodb.org/browse/WT-2924

kbaker··on Facebook Ordered to Stop Collecting Data on WhatsApp Users in Germany
You don't even have to have wifi enabled, even when Wi-Fi is OFF it will still scan for SSIDs to use for location by default.

You have to disable an obscure setting to get it to stop this behavior.

kbaker··on BeagleBone Black Wireless
The WiFi module is also a TI chipset, so same trust issues as the AM3358.

The wifi driver is open source, however with a binary blob for WiFi and Bluetooth firmware.

kbaker··on Designing and Producing 2FA tokens to Sell on Amazon
Though, if you can budget to go through FCC Verification testing (class B), maybe around $1000-1500 depending on your test house, it can sometimes be quite a useful learning experience for a board of moderate complexity. It is surprising where RF leaks out of these days. For a device that is this simple, it is probably fine. Officially, my opinion is that you should always have all the proper certifications in place.

Unfortunately, the $10k U2F certification is not that unreasonable compared to other similar certifications I have seen... As the fees don't just cover interoperability testing, but also legal fees if the trademark or specification must be defended.

kbaker··on Designing and Producing 2FA tokens to Sell on Amazon
You may want to consider something like this, even though maybe it would take too much time, it would look awesome.

http://runawaybrainz.blogspot.co.uk/2012/04/audio-crystal-cm...

kbaker··on Appropriate Uses for SQLite
Of course, "large" is not about the data necessarily, but about the analysis of the data. It sounds like you presented sqlite with a query which would need more than the resources of your computer in order to execute as you specified. This can be really easy to do accidentally on any DB engine with something like a cartesian product.

It is true that sqlite doesn't have as good of a query plan optimizer as larger RDBMSes, and is a little lower-level, but the tradeoff of having the simplicity is that you must understand a little more of the internals to design more complex queries.

kbaker··on Designing and Producing 2FA tokens to Sell on Amazon
Looks good. Consider applying a conformal coating at the end. It will provide a lot of protection from general handling and riding around on a keychain, and preserve the 'raw PCB' look.

Something like: http://www.mgchemicals.com/products/conformal-coatings/acryl...

kbaker··on Designing and Producing 2FA tokens to Sell on Amazon
Well, technically, since this device contains a clock, it should go through FCC Part 15 Verification before being sold. However, the FCC doesn't really have the budget to go after every board produced, you have to REALLY mess up to get on their radar...

Since it is USB based, it should technically go through USB-IF interoperability testing, if he wants to use the USB logo. Though actually it looks like he has a VID/PID allocated from SiLabs for this, which is already way better than a lot of inexpensive USB products.

kbaker··on Milagro: Distributed Cryptosystem for Cloud Computing
There is little information about what this is exactly on the site (but lots of words.) And since their proposal is just "TBC" at the moment, I'll see if I can give it a shot...

Milagro uses 'Pairing-Based Cryptography' to do better decentralization of trust. This concept was new to me, briefly it seems like it uses special constructs of elliptic curves to provide zero-knowledge proofs and Diffie-Hellman style key exchange.

So, instead of using CAs and certificates to prove identity, this system would use indnividual pairings for authorization and would end up being more decentralized.

With M-PIN that is a big part of this library, you can have signatures but also upgrade to full key agreement and PFS, with a standard protocol that has been around since 2002.

What I am unsure about is how the decentralization will work, especially compared to just having CAs cross-sign keys. Seems like you will always need to ultimately have some trust anchor somewhere? Or can have a Perspectives-like 'network notary' system?

kbaker··on A prototype of a decentralized political party
Just going to have to disagree... I think earmarks are exactly the thing that caused congresspeople to lose all of their power.

> you've just put the big donors totally in charge of the campaign, because their spending dwarfs the spending of the candidates themselves.

When the donors are the corporations, and earmarks result in higher profits for the corporations, a dangerous positive feedback loop occurs where you basically end up with corporations controlling the government instead of the elected politicians.

As far as the worst political decision of the past few decades, watch this video if you have an hour to spare. It lays out the case where adding transparency in congressional voting is really the root cause of Congress being so screwed up. It might change your mind... https://youtu.be/1gEz__sMVaY

kbaker··on 22nd Century C
Sorry, you should do more research... :) Rust has great support for very low level operations. Maybe search for 'bitwise operators' or 'inline assembly'. Memory management is even more explicit and strict than C, since you also have to deal with lifetimes and borrowing.

The best thing is, though, since Rust is such a young language, you can change it! Imagine trying to add a new language feature to C, something like the ? operator currently being evaluated for addition in Rust. It would take years, if not decades, to get those things in C. Even now MSVC is just rolling out support for C99.

I can definitely see Rust taking over C's current place in the market over the next decade or two. Better memory safety, higher-level constructs to improve productivity, more cross-platform compatibility, and modern libraries to deal with things like Unicode are a huge draw.

kbaker··on Ask HN: Who is hiring? (September 2016)
Venture Research Inc. | Plano, TX (Dallas, TX, DFW) | Onsite Only | http://www.ventureresearch.com

Interested in RFID? In improving inventory and replenishment processes in hospitals, labs, and clinics? In automatically tracking pallets, containers, and other assets around a facility? Come join us!

Venture Research is a leader in the RFID industry and is consistently pushing the leading edge of what is possible using RFID. We have a variety of opportunities available for both fast-paced new product design and development as well as for development on some of our long-term stable products. 17 year old small but growing company, privately held, with excellent benefits, 401K matching, paid health insurance and highly competitive salary and bonus structure.

We are hiring for the following positions:

* Senior .NET / Backend developer: C#, VB.Net, ASP.NET, MSSQL, Oracle, JavaScript and JQuery. .NET MVC and Python is a plus.

* Embedded firmware engineer: microcontroller development using primarily Freescale Kinetis parts and the Freescale MQX RTOS. Ahem, NXP parts.

* Embedded platforms engineer: C, Linux, Android NDK. Experience with hardware co-design, Python, QT, Django, React a plus.

Please email resumes to hr@ventureresearch.com, or use the email in my profile. Thanks!

kbaker··on NeoDNS: A new DNS like the one we know
So, biggest question... how is this different from Namecoin [1], and how does it improve upon it? Both are in the same 'decentralized identity/DNS' space.

Also, from a cursory glance, how does this prevent spam? There seems to be no cost to register a new name. What prevents someone from taking every possible name?

[1] https://www.namecoin.org/

kbaker··on gRPC: Internet-scale RPC framework is now 1.0
There are two reasons why I think simpler binary packing libraries like CBOR, MsgPack, or BSON can't really match what Protobuf gives you:

- Assistance with schema evolution and versioning is one of the best parts about using Protobuf in an API. It is really like the best parts of XML and XML Schema (validation, documentation, interoperability) without any of the bloat.

- Working with code generation can be a pain to get working initially, but is very friendly when actually using real objects in code. There is no need to think about any representation on-the-wire... everything 'just works'. There is no need to ensure you don't accidentally serialize fields in the wrong order, or worry about encodings, etc.

Also, there is a binary decoder included with protoc that can print a debug decoding of any protobuf binary message, including integer tags for different fields. Wouldn't you have pretty much the same problems with dissection and debugging on-the-wire in CBOR?

It is really quite pleasant to use Protobuf for an API, I can see why Google is opinionated in including it as the only option with gRPC.

kbaker··on A parallel implementation of gzip for modern multi-processor multi-core machines
The max window size for zlib is 32 KB, so I don't think the default sharding at 128 KB would change much. You can pass the -b parameter if you find out a bigger shard works better on your data.

If you are looking for details of the design of pigz, there is a very well-documented overview in the source of pigz.c:

https://github.com/madler/pigz/blob/master/pigz.c#L187

kbaker··on The Search For Class:0x00000027b59290
> In our case, it should have been the string "display" but called display instead, and by sheer coincidence the word display in any Ruby object is a valid caller.

Wow, that sounds incredibly dangerous... how do you even test for not introducing a bug like that somewhere? I am not so familiar with Ruby, is there a linter or something that can catch these?

kbaker··on Ask HN: Who is hiring? (August 2016)
Venture Research Inc. | Plano, TX (Dallas, TX, DFW) | Onsite Only | http://www.ventureresearch.com

Interested in RFID? In improving inventory and replenishment processes in hospitals, labs, and clinics? In automatically tracking pallets, containers, and other assets around a facility? Come join us!

Venture Research is a leader in the RFID industry and is consistently pushing the leading edge of what is possible using RFID. We have a variety of opportunities available for both fast-paced new product design and development as well as for development on some of our long-term stable products. 17 year old small but growing company, privately held, with excellent benefits, 401K matching, paid health insurance and highly competitive salary and bonus structure.

We are hiring for the following positions:

* Senior .NET / Backend developer: C#, VB.Net, ASP.NET, MSSQL, Oracle, JavaScript and JQuery. .NET MVC and Python is a plus.

* Embedded firmware engineer: microcontroller development using primarily Freescale Kinetis parts and the Freescale MQX RTOS. Ahem, NXP parts.

* Embedded platforms engineer: C, Linux, Android NDK. Experience with hardware co-design, Python, QT, Django, React a plus.

Please email resumes to hr@ventureresearch.com, or use the email in my profile.

kbaker··on The End of Gmane?
Or torrent it! This is the best use case for a torrent... spread the load around, no extra cost or having to find someone to flip a 'public dataset = free' bit.
kbaker··on What makes music sound “good?”
Emily Howell is the name of the program. Some examples:

Track 1: https://www.youtube.com/watch?v=QEjdiE0AoCU

Fugue: https://www.youtube.com/watch?v=jLR-_c_uCwI

Here's the first CD produced: https://youtu.be/A9XCexln6xY?list=PLUSRfoOcUe4a-4pXqqET9DkPn...

kbaker··on USB 3.0 Radio Frequency Interference on 2.4 GHz Devices (2012)
Actually, he is probably correct, but I think in his case the opposite is happening from the article.

With USB 2.0 and before, USB ports would have input filtering so that this RF energy would be attenuated before entering the system. With USB 3.0, there is so much speed (5 Gbit/s!) that a 2.4 GHz transmit signal is actually inside the bandwidth of USB 3.0, so it can't be filtered out as easily.

So, depending on the cabling inside the computer and the design of the motherboard/system, it is definitely possible that some of this energy from the nearby transmitter is leaking out into other areas (ground planes, power planes, etc.) where it would be coupled into the audio path in USB 3.0, but attenuated with USB 2.0.

kbaker··on Live coverage of Juno's Jupiter Orbit Insertion [video]
Right now, all the instruments are off during this first orbital insertion. The next close pass (Perijove 1), where the closest pictures will be taken, is around late August.

View lots more details here: http://www.planetary.org/blogs/emily-lakdawalla/2016/0609060...

kbaker··on Ask HN: Who is hiring? (July 2016)
Venture Research Inc. | Plano, TX (Dallas, TX, DFW) | Onsite Only | http://www.ventureresearch.com

Interested in RFID? In improving inventory and replenishment processes in hospitals, labs, and clinics? In automatically tracking pallets, containers, and other assets around a facility? Come join us!

Venture Research is a leader in the RFID industry and is consistently pushing the leading edge of what is possible using RFID. We have a variety of opportunities available for both fast-paced new product design and development as well as for development on some of our long-term stable products. 17 year old small but growing company, privately held, with excellent benefits, 401K matching, paid health insurance and highly competitive salary and bonus structure.

We are hiring for the following positions:

* Senior .NET / Backend developer: C#, VB.Net, ASP.NET, MSSQL, Oracle, JavaScript and JQuery. .NET MVC and Python is a plus.

* Embedded firmware engineer: microcontroller development using primarily Freescale Kinetis parts and the Freescale MQX RTOS. Ahem, NXP parts.

* Embedded platforms engineer: C, Linux, Android NDK. Experience with hardware co-design, Python, QT, Django, React a plus.

Please email resumes to hr@ventureresearch.com, or use the email in my profile.

kbaker··on Show HN: A secure, open source U2F token you can make with $4.5 worth of parts
There is a 3d-printable case included in the repo!

https://github.com/conorpp/u2f-zero/blob/master/hardware/cas...

← PreviousPage 9 of 13Next →