HNHacker News
TopNewBestAskShowJobs

ashtuchkin

192 karma · joined August 31, 2011

[ my public key: https://keybase.io/as; my proof: https://keybase.io/as/sigs/jwmEio8ejQuSIO12VWmKu0wPJm1fw-4QFH6cG1EIT_8 ]
submissionscomments
ashtuchkin··on Show HN: Macros with a Behringer FCB1010 MIDI Pedalboard in macOS
Love it! Trying to use it with my nanoPAD2 and it only outputs `note_on` and `note_off` events. Can we bind on these? Example output:

22:56:38.740 note_on channel=1 note=36 velocity=89 [nanoPAD2 PAD]

ashtuchkin··on Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire
Just wanted to say thank you! Very relevant to our use cases. I'll report if I find any issues.
ashtuchkin··on N-Params vs. Single Param
python does this pretty elegantly:

    def my_func(a: int, b: int):
        print(a+b)

    # both of these can be used
    my_func(1, 2)
    my_func(a=1, b=2)
ashtuchkin··on A guide to home row mods
Haven't been able to make them consistently work on my moonlander. Too many mistypes when quickly writing code. Ultimately removed everything time-related and stateful and only kept simple layers - worked great for the last ~2 years.
ashtuchkin··on A sane SSH(1) key management example
Privacy. If someone owns two servers you're logging into, they can associate your logins if you use the same key. Another case is associating you with your GitHub account (as your ssh keys there are public)
ashtuchkin··on Timelock Encryption made possible and easy to use
It's the reverse - it can only be decrypted after a threshold timestamp, not before.
ashtuchkin··on Ask HN: Why doesn't HN alert users in some manner to new replies?
Amazing how simple it is! Kudos to the author, subscribed.
ashtuchkin··on Reddit can't build a better search engine
Reddit does have its own search engine, it's just bad. The premise in the author's post is that as soon as it becomes "good", the SEO optimizators will ruin it in the same way they ruined Google search.
ashtuchkin··on Olympic Photographer Catches Bullets in Mid-Air with the Sony Alpha 1
It would be interesting to calculate the probability here. 1/32000 shutter speed is impressive!
ashtuchkin··on Ask HN: What’s features do you wish your IDE had?
This would heavily depend on the language. Rust IDE will need different features from Web/JS IDE.
ashtuchkin··on Curating a list of issues on open source projects for job interview
It would be interesting to see this implemented as an experiment.

On the one hand, I'm not expecting high signal from this because it's not standardized - too many external variables you can't control. It would also be pretty hard to evaluate as "just watching the path of struggle" is very subjective.

On the other hand, potential "public good" benefit can't be ignored, plus it can be added to interviewees' public resume/github account to be shown to the future employers.

ashtuchkin··on Add 10 GbE to your system with an M.2 2280 module
json is used only for manifests; actual layers are .tar.gz.
ashtuchkin··on JWT Tokens are NOT safe
I'm wondering if we can use Pub/Sub to push revocation data to all servers. Presumably revocations are rare, plus we only need to store them only for the JWT validity period, so additional memory usage should be minimal.

The downside is it looks more brittle than the simpler approaches. Upside is performance plus ability to revoke tokens.

ashtuchkin··on Who’s behind the “reopen” domain surge?
Updated, thanks!
ashtuchkin··on Who’s behind the “reopen” domain surge?
I'm pretty sure the Russian trail in this article is a red herring.

I looked up "Валентина Сынах" Skype user and, as expected, their full phone number is +7904xxxxxxx (see full number in the article), with Russian prefix +7. Note, WHOIS records have US number +1904xxxxxxx. Not sure why the author only searched for the last 10 digits.

+7 904 code is a very busy area code in Russia shared by several major carriers, covering the majority of Russian regions, so the probability of someone having any particular 7 digits in that area is pretty high. For example there's someone else registered in Skype with number +7904xxxxxx4, just one digit apart. I haven't been able to find an English source, but you can look at the list of carriers and regions in Russian in [1].

Also, US area code +1 904 matches the address in WHOIS records (both Jacksonville, FL), so at least it doesn't look like someone just changed the first digit and used their own Russian number.

[1] https://www.kody.su/mobile/904

ashtuchkin··on Yes, You Have Been Writing SPSC Queues Wrong
AFAIK write_idx < read_idx case is handled automatically by doing the unsigned subtraction.

Power of 2 requirement stands, though.

ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
That's so cool :) let me know if I got anything wrong with the device or geometry calculation! Also I would be happy to get any feedback from Steam VR people!
ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
That's crazy :)
ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
I was really inspired by that too! The tracking is comparable, but not on par yet - you need multiple sensors and IMU fusion to achieve the smoothness of Vive. This is only a first step :)
ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
I needed to make some adjustments and fix some bugs there to make it work. It has the code, but it didn't work great indoor. I'll try to send these changes upstream when I have time. Let me know if you're interested in them - I can explain further.
ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
The geometry calculation is currently approximate, not taking into account that the laser planes have ~3cm offset from center, that's one. Timing precision is probably the next one - microseconds might not be enough and we can measure better.

Currently std dev of each position coord in rest is 1.9mm.

Fusion with IMU is the next level and is usually done later down the line because it needs to be tuned for particular model. Yes, the drone does that.

ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
Yes you're right, only position. I'm using acc/gyro/compass on the drone.
ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
Thanks, yeah I need to tune it more, just wanted to share sooner :) I do have a blackbox there, that should help.
ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
The cool thing is you can probably just use Teensy and my code to convert the envelope to 3d position. I haven't thought about that :)
ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
Thanks! I actually haven't seen those, they look pretty good, basically replace the custom schematics I needed to build.

The timing calculation still needs to be done somewhere though, I wish there was a module that would do it internally and just publish the timing numbers - that would be more scalable and then even Arduino would be able to handle several sensors.

ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
Nice project!

There's a whole bunch of indoor positioning methods, having different precision/simplicity/cost profiles, so you might need to shop around. Probably cheapest and closest to my sensor is ultrasound sensors like http://www.marvelmind.com

ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
Thanks, that's nice to hear!

Seamless switching is definitely doable and shouldn't be hard, just need some time to implement. I'm using PX4 autopilot and it's very friendly for adding new functionality.

Orchestration is also close - in current demo both station and drone use Wifi to coordinate, so it's a matter of adding new logic.

Currently the most limiting resource for that project is my time :) I'd be happy if other people would want to join!

ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
Thanks!

Yep, I'm using Mavlink protocol (specifically ATT_POS_MOCAP message) to feed 3d position to the drone autopilot.

ashtuchkin··on Show HN: DIY Position Tracking Using HTC Vive's Lighthouse
Hey, author here. I used the system described in the link for indoor stabilization of a drone, plus precise landing, to support an automatic battery swap station project (have a video there). Worked pretty well, so I decided to open-source it in hopes this would help fellow hackers.

Let me know if you have any questions!

ashtuchkin··on Handling Errors in IcedCoffeeScript
After my 3 years coding CoffeeScript, I cannot live without 'errTo', similar helper I wrote a while ago:

    errTo = require 'errto'

    readDirectoryAsync = (catalog, cb) ->
        fs.readdir catalog, errTo cb, (filenames) -> # Notice no 'err' argument.
            # Error check is done automatically in errTo and cb(err) is called on error.
            # Subsequent code is called ONLY when no error given.
            callback null, filenames

    # Express sample.
    app.get '/', (req, res, next) ->
        readDirectoryAsync __dirname, errTo next, (filenames) -> # Use Express error handling by calling next(err)
            res.send filenames
https://github.com/ashtuchkin/errto
Page 1 of 2Next →