HNHacker News
TopNewBestAskShowJobs

kam

1,146 karma · joined March 15, 2009

https://kevinmehall.net
submissionscomments
kam··on All extensions disabled due to expiration of intermediate signing cert
ACME / Let's Encrypt go in the direction of making expiry happen so often that renewal gets automated, rather than a being a rare manual process that can be forgotten about.

Not sure that's viable for a signing certificate like this, but that's the way to solve it for the web PKI.

kam··on Congress Is About to Ban the US Government from Offering Free Online Tax Filing
They're the same company; no idea why they have two brands.
kam··on UFO: A Drone/UAV Programming Library for Rust
No, but https://github.com/3drobotics/rust-mavlink would. The enterprise version of Solo actually ships with a Rust app running on the onboard computer for camera control, which uses rust-mavlink to talk to the autopilot.
kam··on Mozilla fears DarkMatter ‘misuse’ of browser for hacking
The biggest issue with it to me is the "vouch for their security" part, perpetuating the myth that HTTPS means the site is "safe" or that a certificate is a security audit of some kind.
kam··on Mozilla fears DarkMatter ‘misuse’ of browser for hacking
If you thought the title was nonsense, it gets worse when the author tries to explain what a certificate authority does:

> Websites that want to be designated as secure have to be certified by an outside organization, which will confirm their identity and vouch for their security. The certifying organization also helps secure the connection between an approved website and its users, promising the traffic will not be intercepted.

kam··on What's next for SemVer
1.1 and 1.1.1 are also valid IP addresses (and http://1.1 even works as a URL) via an obscure shorthand notation. Valid to `inet_aton()` at least, but definitely more recognizable as a version than an IP to humans.
kam··on Auditing Rust Crypto: The First Hours
At least on x86-64, Rust inserts stack probes to ensure that it can't skip over the guard pages at the end of the stack. Last I saw, it was waiting on LLVM support to add this for some other platforms, though.
kam··on Rust 2019 and beyond: limits to some growth
> Async/await appears to require runtime support, possibly even a modern OS. Wasn't rust supposed to be suitable for writing bare-metal code?

You're probably thinking of Tokio, the library for async network IO, which obviously depends on an OS. The async/await language feature compiles down to basically a state machine and has minimal runtime requirements. I'm looking forward to using it on bare-metal microcontrollers.

kam··on Firefox desktop market share now below 9%
Or search from the Google widget on the home screen instead of the browser. Results are displayed in the native app but web links open in Firefox.
kam··on MarCO: Interplanetary Mission Development on a CubeSat Scale [pdf]
I didn't want to editorialize the title, but the buried lede for the HN audience is that its camera subsystems run Linux and Python:

> MarCO’s camera systems, two per spacecraft, run a customized embedded Linux distribution on a GumStix single-board computer. A Python script spawns at boot time on each system, and effectively serves as the interface to the spacecraft. The script receives commands from and sends data to the FCPU via the RTC microcontroller, which acts as an I2C-UART bridge. A simple communications packet protocol defines the way the camera and FCPU interact, and includes basic data integrity checking through the use of CRC16-CCITT. The camera systems are powered on for short periods of time directly by FCPU GPIO lines to perform brief imaging campaigns, process the images, and store them on standard SD cards. Images can be retrieved any time the systems are powered.

As far as I can tell, this is the first time Python or Linux have been used beyond earth orbit.

These spacecraft flew past Mars yesterday and took this picture [1], in addition to successfully relaying the InSight landing telemetry.

[1]: https://twitter.com/NASA/status/1067189007455539202

kam··on Open Invention Network Announces Increase of Its Patent Non-Aggression Coverage
https://www.openinventionnetwork.com/joining-oin/linux-syste...
kam··on Domain hacks with unusual Unicode characters
I was hoping this would work on the "Regional Indicator Symbols" used for flag emoji, since they encode the same country codes used in ccTLDs.

🇩🇪 is actually two Unicode code points 🇩 (U+1F1E9 'REGIONAL INDICATOR SYMBOL LETTER D') 🇪 (U+1F1EA 'REGIONAL INDICATOR SYMBOL LETTER E') that fonts display as a single flag grapheme. But google.🇩🇪 becomes the Punycode google.xn--h77hc and fails to resolve rather than mapping to ASCII as these other characters do.

kam··on Ask HN: How to get started developing with FPGA?
Yes, for the Lattice iCE40 and ECP5 families: https://github.com/YosysHQ/nextpnr
kam··on A Plan 9 C compiler for RISC-V [pdf]
It's a breakout board for the SiFive E310

https://github.com/mwelling/lofive

kam··on AWS now supports U2F/Yubikeys
Sure. The CLI or SDK could talk to the USB device directly, like the browser does.

e.g. https://developers.yubico.com/libu2f-host/

kam··on Show HN: A new protocol for packet radio including ECDSA and compression
This looks like it implements the packet processing only, and suggests using Direwolf as a software AX.25 modem. Direwolf can decode audio piped from rtl_fm or gqrx, so using a SDR is likely already possible for receive; not sure about transmit.
kam··on Time to look beyond Oracle's JDK
These Docker images use the Debian or Alpine OpenJDK packages.
kam··on The future of WebAssembly – A look at upcoming features and proposals
There's already a WASM-centric OS in development: https://github.com/nebulet/nebulet
kam··on 500px will no longer allow photographers to license their photos under CC
You could, but it won't help anyone find it. There used to be an option to filter searches by license.
kam··on An open source Global Navigation Satellite Systems software-defined receiver
http://www.rtklib.com/ is an open source implementation of real time kinematic centimeter-level positioning. The link on that page to another SDR GPS project is dead, but https://gnss-sdr.org/docs/tutorials/understanding-data-types... claims support for RTCM and RINEX, which you might be able to feed into RTKLIB.
kam··on The Raspberry Pi 3B+ as an SDR, Without the SDR
The author's PhD thesis on the framework he built to modify the Broadcom WiFi firmware looks really interesting, and presents several other ways to take advantage of the low-level control of the hardware.

http://tuprints.ulb.tu-darmstadt.de/7243/7/dissertation_2018...

kam··on The real power of Linux executables
Nautilus (Gnome) recently removed that behavior

https://gitlab.gnome.org/GNOME/nautilus/commit/3a22ed5b8e3bb...

kam··on A Lengthy, Pedantic Review of Ubuntu 18.04 LTS (Bionic Beaver)
or just start typing your password
kam··on 100 days with Rust: a series of brick walls
The easiest way to build graphs in Rust is to store all your graph nodes in a Vec, and use indices instead of references to refer to other nodes. Also a cache locality win.
kam··on Requiring secure contexts for all new features
http://localhost and file:// are considered secure contexts according to https://developer.mozilla.org/en-US/docs/Web/Security/Secure...
kam··on In defence of swap: common misconceptions
On many distros, this is disabled by default because there's a chance that the OOM killer will hit something important, like the screen lock. For Ubuntu, enable it in /etc/sysctl.d/10-magic-sysrq.conf.
kam··on Darktable 2.4.0 released
For my workflow, I copy from the camera SD card to an external HDD, then import to Darktable from there. It stores its thumbnails and database under my home directory, and I can ensure it has thumbnails and medium-resolution previews of all photos with `darktable-generate-cache`. On any photo, I can click "copy locally" [1], and it syncs it to my internal SSD so I can edit without the HDD plugged in.

[1] http://www.darktable.org/usermanual/en/local_copies.html

kam··on Rust vector guarantees
In the "small vector optimization", the storage on the stack would be in place of the `(pointer, capacity, length)` except for a tag byte, so keeping the pointer would waste nearly 1/3 of the potential space.

Also, when a Rust object is moved, there's no move constructor; it's purely a memory copy, so there would be no way to update the pointer for the new location.

kam··on Security advisory for crates.io
It's a syscall interface, not a language, but CloudABI combines concepts from POSIX and capability-based security.

https://github.com/NuxiNL/cloudlibc/blob/master/README.md

kam··on A smaller, cheaper RISC V board
It's a work in progress: https://github.com/rust-embedded/rfcs/issues/36
← PreviousPage 4 of 6Next →