HNHacker News
TopNewBestAskShowJobs

pickledcods

477 karma · joined June 27, 2020

xyzzy@rockingship.org

Latest showcases: https://rockingship.org https://xyzzy.github.io https://rockingship.github.io

submissionscomments
pickledcods··on Centering in CSS
CSS "visual formatting" was broken since day 1 due to inconsistency. Take for example "height: auto", a key component in vertical (absolute) positioning.

According to section 10.6.4 "Absolutely positioned, non-replaced elements", "height: auto" is the height based on the content except when top and bottom are both auto and it suddenly changes to the the height of the containing/parent element. This breaks vertical alignment based on content.

Also in the same section, if height is auto, then a top or bottom of auto is calculated, unless both are auto and then suddenly top is set to 0 instead of spreading evenly. For that you need to use margins, but they only work if top, height and bottom are all non-auto.

As a result millions of developer hours have been spent on frustrations, fixups and workarounds.

pickledcods··on A computer science study plan to become a software engineer
> and in 30 years, I've hardly used any of it.

So you don't see the sine in the sky from sunrise to sunset?

pickledcods··on The cleverest floppy disc protection ever? Western Security Ltd
Or... what I also encountered and found to be the hardest to reverse engineer, having a block decode in the interrupt vector table using all registers including stack pointers as decode keys.

That meant that making a mistake would result in a tedious re-iteration.

pickledcods··on CSS in GitHub Readmes
True, I started optimistic seeding much potential in possibilities to extend HTML only to discover that embedded javascript only works when the SVG is the main URL target or wrapped in <object> or <iframe>. Sad actually.
pickledcods··on CSS in GitHub Readmes
You can use scripted SVG in combination with github pages HTML using:

<embed src="scripted-svg.svg" type="image/svg+xml" width="200" height="200">

I couldn't get it working with README.md, so tipping the hat to the author!

The only problem and with the experience I got trying using it, is that the concept of viewport is botched. I was hoping that the embedded JS would have working metrics for the viewed width/height, which it does not.

That means that mouse events and such have transformed coordinates, not matching the position of the cursor.

I have this small project demonstrating the ways embedded JS gets rendered. I think I'm going to revise it and see if both projects can be merged.

https://github.com/xyzzy/scripted-svg

pickledcods··on 72% of smart TVs and 46% of game consoles hardcode DNS settings
I believe that Google pushed DoH to track your cross-site browsing. TLS hides your URL, and blockers can break adsense tracking and/or any other call-home backlinks.

Using DoH, especially one served by an advert company is just signing up to be their open book.

pickledcods··on “I've had to relearn coding to get through the new interviews”
Thank you. It's mailto:xyzzy%40rockingship.org
pickledcods··on “I've had to relearn coding to get through the new interviews”
And then age...

I'm an eighties whizz-kid, educated hardware and software background with borderline epiphanic understanding of computer technology. From firmware to systems where peoples lives literally depend on. In 2000 jumped on a plane to Taiwan to develop the first Arduino/RaspberryPi class devices. Still up to date and currently busy polishing a ShowHN which will blow you off your socks.

Everything nowadays is shrink-wrapped out-of-the-box, hidden behind layers of frameworks. Programming languages becoming a fashion statement. Everyone seems to copy-paste stack-overflow and even then the answers are like "Why?" because it seems nobody reads specifications.

But...

Finding a job position is impossible. The excuses for rejection range from unbelief to insulting. It is so bad that I have now seriously considered leaving the field, taking 40+ years experience with me.

pickledcods··on A few ways to make money in FOSS
You can catch that with a pass-on clause. The idea behind this is to stop commercially exploitation of your contribution to FOSS with intention to keep everything for themselves and keeping the FOSS philosophy for those who do care.
pickledcods··on A few ways to make money in FOSS
How about a new type of licence. If you contribute to FOSS its copyleft, otherwise if you want to use it closed source its a copyright 10% revenue based commercial licence.
pickledcods··on Git Commands You Should Never Use
The epiphany I experienced with rebasing is that this is an incorrect visualisation of the workflow. It's not like you create a separate branch and work independent of master. It's more like working on a kind of local pre-release ahead of master.

You work on the development/pre-release, then consolidate by cherry-picking or otherwise, leaving all the todo's, spinoffs, experimental, personal notes in the pre-release. Like a reptile shedding its skin.

pickledcods··on TCP Performance problems related to Nagle’s Algorithm and Delayed ACK (2005)
I believe there is still potential. Dominant TCP implementations bet on the single horse "TCP Congestion Control" which is a different breed for a different situation.
pickledcods··on TCP Performance problems related to Nagle’s Algorithm and Delayed ACK (2005)
Back in 1996 I developed a TCP/IP stack from the ground up based on the the DARPA and RFC specifications from that era. The impression I has from the quality of consistency was that TCP/IP was a students project. Delayed-ACKs was described briefly as a concept in addendum. Implementing it was a nightmare.

What happened was that with bulk unidirectional flow (FTP) the window would slowly fill up until it was completely full after which transport would halt to a grinding stand still. Only when retransmit timers triggered would transport resume at full speed, slowly filling the window to repeat the cycle. As I can remember, this cycle would repeat every 5 seconds or so.

Out of sheer frustration I logged all traffic with (then) high resolution timestamps and hand drew both sides of the connection on 132 columns zigzag printer paper which filled the corridor.

As it turned out, the protocol state timings assume that the transit time is 0ms. For one-on-one REQ/ACK this isn't a problem, for delayed ACK it was a game-breaker.

When a packet arrives, several tests are performed to determine if it is within sequence and rejected otherwise. With delayed ACKS the administration did not represent the actual state triggering lots of false negatives.

Solution was to create dual state information. One being the actual values for the end-point, the other being the projected/assumed state of the other end, taking into account it is suppressing ACKs. Then, for incoming packets, the headers are tested against the projected other-end state and transmitted packets constructed using the this-end state.

Performance hit the roof and filled the cable with 98% of the theoretical bandwidth. Much more than stacks implemented by competitors.

Sadly my employers did not allow me to publish the findings.

pickledcods··on Show HN: Photo Realistic QR-Codes
Really sorry to hear that. I do not have such a device and without. If I knew which engine was being used I might have a starting point to figure out what might be happening.

edit: I noticed that the QR needs to contain a message or it will not scan.

pickledcods··on Show HN: Photo Realistic QR-Codes
That might be true. What would you suggest as a better description.
pickledcods··on Show HN: Photo Realistic QR-Codes
Hiding information in plain sight :) Animations. Real life Games. Information stickers (like my photo containing contact information).
pickledcods··on Show HN: Photo Realistic QR-Codes
It uses dithering by Spacial Colour Quantification to get the best photorealistic 93x93/186x186 colour image. The title plays on that the QR can be near photo and not some pixelated icon.
pickledcods··on Show HN: Photo Realistic QR-Codes
Ultimately it should be made possible to do it locally. Current setting is low-quality and takes about 1-2 seconds. Mid-setting about 20 seconds and high about 20 minutes.
pickledcods··on Show HN: Photo Realistic QR-Codes
In the two hours triggered 2546 request to generate a QR. And it literally killed my nano instance.
pickledcods··on Show HN: Photo Realistic QR-Codes
It should be inline replaced. I'll add a link to the final image name in case the connection breaks.
pickledcods··on Show HN: Photo Realistic QR-Codes
It's a front/back-end system. I'm currently running the backend on a c5a.xlarge instance.
pickledcods··on Show HN: Photo Realistic QR-Codes
Please be patient, I'm adding extra workers to the instance. Old instance died because it exceeded limits.
pickledcods··on Show HN: Photo Realistic QR-Codes
Thank You!
pickledcods··on Show HN: Photo Realistic QR-Codes
Not quite sure I understand what the question is. Calculating the QR is really CPU intensive and the settings on the site are for lowest quality. ANd even now its overloading.
pickledcods··on Show HN: Photo Realistic QR-Codes
The queuing was based on 2007 metrics on load and usage. It now seems this needs updating. Preferably making if full client-side javascript.
pickledcods··on Show HN: Photo Realistic QR-Codes
Thanks for the example. It's the colour threshold. But with the brief number samples already posted I'm going to replace that that and generate two QR's. A low and high colour contrast.
pickledcods··on Show HN: Photo Realistic QR-Codes
Hi HN!

Inspired by a recent HN article on QR codes [0], I decided to finally publish [1] and open-source [2] a service I created 7 years ago. I got pulled away from it by projects with higher priority and it has been catching dust and been bitrot eroding since. Now reconstructed the basics and hosted on an AWS instance I would like to share so it might inspire.

Creating a photo realistic QR requires two steps. The first is to create a 93x93 dithered monochrome image. The dithering is calculated to preserve the mandatory QR framework/timing bits and keep the data/crc bits conforming. Trying to maximize the crc bits to match the original image.

The second step is adding colour information as a 186x186 dithered layer. The colour palette is created using Spacial Colour Quantification which uses the 93x93 QR image as constraints on the available colour range.

SCQ also stabilises palettes used for animations (a service not made available through the site yet).

  [0] https://news.ycombinator.com/item?id=24119124
  [1] https://www.qrpicture.com 
  [2] https://github.com/xyzzy/qrpicture
pickledcods··on Creating a QR Code step by step
Seven years ago I had the wildest ideas of creating photo realistic QR's. Sadly, I got pulled away to other projects with higher priority. The unanimous advice given to me at that time was to hold publishing so I could exploit it financially. Until today neither of both have changed.

I'm not going to let it catch more dust and decided to open-source it under Affero license.

Creating a photo realistic QR requires two steps. The first is to create a 93x93 dithered monochrome image. The dithering is calculated to preserve the mandatory QR framework/timing bits and generating the CRC.

The second step is adding colour information as a 186x186 dithered layer. The colour palette is created using Spacial Colour Quantification which uses the 93x93 QR image as constraints on the available colour range.

SCQ also stabilises palettes used for animations (a service not made available on the site).

During the years the site has been prone to bitrot. I managed to recover most of the missing parts parts from backups. Most of the functionality has been restored and I'm still working with higher priority projects.

[0] https://www.qrpicture.com [1] https://github.com/xyzzy/qrpicture

pickledcods··on Google speakers are listening to more than just voice commands
5. "Your kids are having sex, Shall I ask if they are using a condom?"
pickledcods··on Universal Basic Income is Capitalism 2.0
Not necessary, I can emulate in software which I am doing now. I'm not sure if validation software works as intended because the concept isn't quantum physics and for traditional it has no explicit and/or/xor gates. Quantum might be a dangerous word now as the meaning has been hijacked, I should be more careful. This design has a new type of gate which is more like a vector of switches. It doesn't differentiate between the logic type because those have been broken down into terms of that switch. It's all about connection. Memory is also different, more like bit sequential memory. But ultimately I do hope to get it running on dedicated hardware. Also dreaming of the possibility with polarised light and crystals because of the uniformity of the switch.
← PreviousPage 3 of 4Next →