HNHacker News
TopNewBestAskShowJobs

encypruon

152 karma · joined March 7, 2019

submissionscomments
encypruon··on Bose has released API docs and opened the API for its EoL SoundTouch speakers
Reword a public announcement [1], slap on a misleading title, put it behind a cookie banner and paywall and boom - Journalism! "Bose is releasing documentation for EOL smart speaker HTTP API" would be more apt. Not even Bose is claiming that anything has been open-sourced in their statement. Titling the section "Open-source options for the community" is as close as they come to that.

Still, props to Bose for actively helping to keep their old devices usable.

[1] https://www.bose.com/soundtouch-end-of-life

encypruon··on A not so fast implementation of cosine similarity in C++ and SIMD
> dot += A[i] * B[i];

Isn't it pretty bad for accuracy to accumulate large numbers of floats in this fashion? o.O In the example it's 640,000 numbers. log2(640,000) is ~19.3 but the significand of a float has only 23 bits plus an implicit one.

encypruon··on Show HN: Balancing game for the mobile browser with increasing difficulty
I'm extremely disappointed to learn that Firefox allows access to motion sensors by default and provides no option to make it ask for permission. It can only be disabled completely but this silently breaks legitimate uses like this one. This is a privacy nightmare. There is so much that can potentially be inferred from motion data, like user identity, mode of transport (maybe even location), what they're likely to be typing in the url bar or in an iframe, emotional state, a bunch of health information...

edit: Nice game, though. I wonder what it's made with. There seems to be a huge amount of generated shader code in the js. I wonder if that could be avoided.

encypruon··on Looo.lol – a binary math site
After dismissing the final pop-up it will go on to proclaim:

  > Yes!
  > 80085 is 00000000000000000 in binary!
encypruon··on Create a shortcut for even lower phone brightness
I did. I have an "Asus Zenfone Max Pro M1" (what a mouthful) and the volume is always too high and the audio ridiculously bad at "low" volumes. Changing some values with ALSA makes it almost bearable. The easiest way I found to do that was to root the phone, compile tinyalsa in termux and use this script to call tinyalsa with root:

https://pastebin.com/5f1jwpkb

If anyone has ideas how to do this without root, get around the issue of calls being lower volume or remove the dependency on tinyalsa and termux, I'm all ears.

encypruon··on Gsplat: CUDA accelerated rasterization of gaussians with Python bindings
Sorry, some objections...

> It's for deep learning, not that much "for graphics".

No, while it is true that there is some overlap between the techniques and concepts used, gaussian splatting isn't necessarily "for deep learning". The library provides a differentiable rasterizer for gaussian splats. This basically means that you can ask it "if I want my output image to change in this and this direction, in what direction should I change the position / orientation / color / ... of my splats?". This enables users to plug it into other software (that is also commonly used for deep learning) and to optimize the parameters of the splats to represent a particular scene.

Since it's primarily a differentiable rasterizer for splats I think it's fair to say that it is "for graphics".

> The problem is "how do you do 3D deep learning 3D scene reconstruction" aka "how to make 3d equivalent of stable diffusion".

That it uses gradient descent doesn't mean that it is "deep learning". There are no neural networks or layers here.

It's not an "equivalent of stable diffusion". The way it's used now is to learn a representation of a single scene, not unlike photogrammetry. Sure, there may be other use cases for this library, but this is primarily what gaussian splatting is about.

encypruon··on Coordinated Disclosure: 1-Click RCE on Gnome (CVE-2023-43641)
I think I finally managed to disable tracker-miner on xfce.

  systemctl --user list-unit-files | grep -o "tracker-\S*\.service" | xargs systemctl --user mask
...wasn't enough. What did the trick was unchecking the remaining two entries in the "session and startup" settings dialog. Good riddance. It was the number one reason for my notebook heating up and draining battery.
encypruon··on Android 14 adds support for using your smartphone as a webcam
AFAIK with the Nokia N900 this was possible in 2009 using gstreamer. I never actually used it to create a video device but I assume that the v4l2sink was already a thing back then. I did use it quite a few times for streaming to remote windows and OpenCV.

Only good phone I ever had. I wish things were as easy on Android devices, but somehow they almost never are.

encypruon··on Show HN: 3dasd – open-source DIY room-scale 3D scanner
Thanks a lot for the answers. And for everything else, too!
encypruon··on Show HN: 3dasd – open-source DIY room-scale 3D scanner
Good results without optimization at 300 mm sounds pretty impressive. Maybe belts are the way to go. Thanks for taking the time to elaborate!
encypruon··on Introduction to Locality-Sensitive Hashing
It renders fine on my end. Try checking if your browser is blocking cdnjs.cloudflare.com for some reason.
encypruon··on Show HN: 3dasd – open-source DIY room-scale 3D scanner
> if you really care about backlash

At 1200 mm equivalent a picture is only about 1.15° high, so accuracy is important :)

> just measure it and then add a correction in your motor controller.

I think your first idea doesn't really work for tilting because there is little friction and the camera isn't going to be perfectly balanced (the center of gravity also changes with the focal length and even the focus). When gravity pulls the camera towards one direction backlash is less of a problem, but when it's near the tipping point it becomes really shaky and sensitive to disturbances. Past the tipping point it is biased towards the other direction.

Preloading might be an easy fix but at the cost of acceleration.

> Another way to do this is to always move back to endstop zero, and only move forward. THis is very limiting.

At least for panning in panoramas this isn't a bad solution at all. I think both your ideas are good for panning with planned paths.

> The biggest problem I had was all my PLA prints melted in the direct sun!

Was it white PLA? So far I've only had stuff bend out of shape in the car.

encypruon··on Show HN: 3dasd – open-source DIY room-scale 3D scanner
Great project and excellent presentation!

I've been trying to build something similar for tracking birds / panoramas / photogrammetry while avoiding using non-printed parts as much as possible but haven't been very successful so far. Because of that I'm particularly interested in the printed gears you are using. Maybe you could help me with some of my questions and concerns.

It looks like the whole thing is designed to be stiff, which means that the gears are pretty much at a fixed distance from each other. Doesn't that lead to backlash / play if the gears are a little bit too far apart or vibrations if there is too much pressure pushing them against each other? I've been worried about this and experimented with mounting the stepper motors on flexing parts to keep the pressure consistent and allow for more imprecision in the prints but I never really tried whether I can get away without that, so I'd be interested about how well this is working for you.

Pictures on the flexible motor mount idea: https://imgur.com/a/mM1Uql9

I would also like to know if there are any signs of wear after using the thing for a few days and what materials were used. I couldn't find anything on the type of filament on your website (did I overlook something?). I've only ever printed PLA so far and found that the gears would turn more smoothly after being used for a while. I imagine that the effect of wear might be different on the design without flexing parts.

Is it correct that the upper part is resting / sliding on "base-2"? Or is the bearing doing most of the work? Does it wobble at all? That was another one of the problems I had.

encypruon··on Ask HN: Post Explaining Cameras and Apertures
Have you tried the search at the bottom of this site? (Just in case you missed it)

Anyway, I think this might be the submission you're looking for:

https://news.ycombinator.com/item?id=25357315

At least it's the one that came to my mind when I read your description. Being able to vividly remember posts from 86 days ago makes me feel a bit anxious about how much time I spend on HN and how much of my brain is allocated for storing what I read here.

encypruon··on Smooth Voxel Terrain, Part 2 (2012)
The author writes:

  The second issue is that solving an overdetermined linear least squares problem is much more expensive than taking a few floating point reciprocals, and is also more prone to blowing up unexpectedly when you run out of precision.  There is some discussion in the paper about how to manage these issues, but it can become very tricky.  As a result, I did not get around to implementng this method in javascript (maybe later, once I find a good linear least squares solver…)
While writing an (honestly probably not very good) implementation in Lua I was facing the same problem. If I understand it correctly the problem is to figure out where to put the vertices so that they end up close to the planes defined by the positions and normals of the neighbouring hermites. I found that I can get a good-enough-for-my-purposes approximation in about 20 lines:

  initialize point at center
  for i = 1, 8 do
      project point onto each plane
      point := average of projected points
      constrain point to reasonable range
  end
Here a some results (some meshed noise):

https://i.imgur.com/utCcKYx.mp4

encypruon··on TinyCheck: Easily capture network communications coming from a smartphone
If the device is rooted, tcpdump is also an option.
encypruon··on FreeCAD Simulator
No need, as there is solidpython [1] which lets you use OpenSCAD from Python. The notation is brief, Pythons expressiveness makes everything easier and the learning curve is extremely low.

[1] https://github.com/SolidCode/SolidPython

encypruon··on Cognition All the Way Down
> The only thing that's encoded in DNA is how to make proteins.

Wikipedia on the human genome [1]:

> Protein-coding sequences account for only a very small fraction of the genome (approximately 1.5%), and the rest is associated with non-coding RNA genes, regulatory DNA sequences, LINEs, SINEs, introns, and sequences for which as yet no function has been determined.

Wikipedia cites [2].

[1] https://en.m.wikipedia.org/wiki/Human_genome

[2] https://www.nature.com/articles/35057062

Edit: Formatting

encypruon··on Ferrari is bricked during upgrade due to no mobile reception while underground
...and if you're wondering what 1g eyeballs out feels like, you can always try looking at your feet.
encypruon··on My Fourier Epicycles
Shameless plug: A friend of mine and I made a game[1] for a jam that works the other way around. The goal is to manually fiddle with the coefficients to recreate a given shape.

It gives an easy way to play with the coefficients and hopefully allows the player to gain some intuitions. For example how some combinations of frequencies lead to rotational symmetry and why negative frequencies are necessary.

It's not very polished, though. I made a mistake while writing the algorithm that checks whether the shape is matching. It causes some false negatives in certain situations. There might also be some issues with dragging the controls on Mac OS.

[1] https://coldiv.itch.io/fouriershaper

encypruon··on Music Grid
I tried extending your tune by eight beats to make it loop more smoothly:

https://music-grid.surge.sh/#2048-264-2048-168-256-256-144-6...

encypruon··on Examples of Incorrect Abstractions in Other Languages
There is a rather silly "workaround":

  In [17]: class Start(object): 
      ...:     def __add__(self, other): 
      ...:         return other 
      ...:                                                                                                                                                                                                                                     
  In [18]: sum(["a", "b", "c"], start=Start())                                                                                                                                                                                                 
  Out[18]: 'abc'
encypruon··on Scunthorpe Sans – a self-censoring font
I can't find it now, but there was a post on HN where someone shared a report regarding their social media activity. It was compiled by a firm that offers to "research" potential employees.

If I remember correctly, it included a twitter account that was not obviously linked to the persons name.

There was an entry for every (re-)tweet that contained swearing, associated with a negative score.

Also, if you're swearing on public platforms, you almost never know if/how the platform itself may react. Maybe it affects the likelyhood of your contribution(s) being shown to others.

encypruon··on Ask HN: Starting an Anonymous Blog in 2019?
This is a sore spot with me, because here in Germany you just can't. At least not legally. And more than that you have to openly announce your name and address on your website. It's called "Impressumspflicht". Theoretically it doesn't apply to "private" websites but there is enough ambiguity there that not including an "Impressum" is considered too much of a risk.

Some try to render the "Impressum" as a picture so that it doesn't get indexed by search engines but it's not clear wether that is sufficient.

You also can't just rent a post box somewhere to get around announcing your address. The address has got to be a "ladungsfähige Anschrift" which means that it has to be the place where you live.

encypruon··on Ask HN: What game(s) are you working on?
Nice to see someone doing something Teeworlds-related. It's become difficult to find a vanilla server with ok players on it since the DoS-attacks on 0.6 and the release of 0.7. If you've been playing CTF in the past few years there is a good chance you've met me playing as "nameless tee".

I've started to make a Tron clone where the playing field is a polyhedron instead of a plane[1] but as usual with my projects it's been lying around unfinished in a corner for quite a while now.

There is also a puzzle game about creating clones that repeat player movements starting with their first[2]. It was created for a game jam together with one other person and has also not been touched since then, although we agreed that it might be worth polishing.

[1] https://imgur.com/a/lYJ3F4t

[2] https://img.itch.zone/aW1nLzIzNTUxMzIuZ2lm/347x500/9j4LcL.gi...

encypruon··on Seasteading
Wasn't one of the largest tax fraud scandals[1] just that?

> An international group of bankers, lawyers and stockbrokers - reportedly with links to the City of London - appears to have fiddled the tax system, employing practices which were at best unethical, at worst illegal.

> With a bit of imaginative paperwork, and by exploiting a procedure which allows more than one person or institution to simultaneously own a share, they were able to claim numerous tax refunds. The practice was outlawed in 2012.

In my (incomplete) understanding this was a vulnerability in the law that has not been patched until 2012 when it had already been exploited for a while. It wasn't just tax avoidance but extracting money from treasuries, so it should be blatantly obvious that this was not the intent of the lawmaker.

[1] https://www.bbc.co.uk/news/world-europe-40199259

encypruon··on Army Camouflage That Failed to Hide Its Soldiers
Asked the other way around: Why should it result in less 'general' solutions compared to other methods?

Now that I thought about it some more, building a generator might be problematic because unless you want to hide toroids, there wont be a continuous mapping with reasonable amounts of distortion from the surface of the object in question to the 2D plane. That would mean that CNNs can't really be used.

encypruon··on Army Camouflage That Failed to Hide Its Soldiers
This article got me thinking. Would it make sense to train a GAN to generate camouflage? With the generator generating textures for the objects you want to hide and the discriminator trying to spot them in scenes rendered with a differentiable renderer like "neural renderer" [1]? The 2D-to-3D style transfer examples almost look like camouflage already.

[1] http://hiroharu-kato.com/projects_en/neural_renderer.html

encypruon··on Baked MacBook Air: A cautionary recipe
To add to our set of anecdotes:

I baked a dead graphics card in the oven and it hasn't failed for half a year or so until I replaced it with something better. It probably wasn't the smartest thing I ever did and I wouldn't recommend it unless to anyone unless they have an oven they aren't going to use for food anymore in a well ventilated are (which was not the case for me).

The card had bad graphics glitches in whatever mode the BIOS puts it in and would cause boot to fail at an early stage.

First I disassembled the card and ensures that all remaining components were heat resistant and that there was nothing that seemed likely to fall off on the bottom side. I carefully mounted it in the oven on some balls of tinfoil. I also added a thermometer that came with a cheap multimeter because I didn't feel inclined to trust the oven not to overshoot.

I ramped the temperature up slowly, using hot air and keeping it under 100°C for a while in hopes of getting out any water and keeping it from going popcorn. When raising the temperature to the point where I expected the solder to go soft (can't remember the exact temperature) the thing suddenly started to smell rather badly (but not burnt), forcing me to open the windows and leaving the room most of the time. At that point I got worried about the fumes and where they might condensate but decided to go through with it, heating it up a bit further and then cooling it down slowly.

In the aftermath I got a working graphics card and a smelly oven. The smell went away after a few hours at max temperature, a lot of ventilation and some cleaning. I hope there wasn't a health issue with any substaces remaining in the oven as the smell was gone and food doesn't really get in direct contact with the inside of the oven. Anyway, it's the reason why I wouldn't recommend it or do it again.

encypruon··on Manipulating the YouTube Algorithm [video]
At more than one point in the video he says that the spread of this kind of automatically generated content was not YouTubes fault, but in a way I think it is. It seems likely that the methods of manipulation shown in the video aim more at getting such a piece of content going and less at sustaining it. If "the algorithms" goal is to maximize viewer retention and this kind of autogenerated content keeps some people glued to the screen, watching ads and writing comments, it's really doing an excellent job, it's just the goal itself that is unethical.

Edit: Typo

Page 1 of 2Next →