HNHacker News
TopNewBestAskShowJobs

pjsg

685 karma · joined September 19, 2013

submissionscomments
pjsg··on LispBM is a concurrent Lisp for microcontrollers with message passing
I was hoping to find a 'blink the LED' example for the ESP32. Then I'd like to see 'Blink a LED at 1Hz and another LED at 1.234Hz' (or any pair of frequencies where one does not divide the other).
pjsg··on Beware Management Consultants
When I was a consultant, the saying was:

A consultant is someone who borrows your watch, tells you the time, and keeps the watch.

pjsg··on Passkeys were invented by engineers with zero understanding of consumer brain
For me, it is "how many passkeys can I have for the same site?", and "how do I revoke them?"

Worse, I'm still using LastPass -- but migrating over to Chrome password storage as it syncs between phone and laptop. LastPass doesn't give you the option to not use it for passkeys. It might be the thing that causes me to finish the migration away from it.

pjsg··on Show HN: Firefox in WebAssembly
This is amazing -- but there is something wrong with (maybe) the WebGL or color rendering. If you go to https://pskreporter.info/pskmap then the ocean should be blue (and it is blue in a native firefox). However it is a shocking shade of pink in the wasmified version.

Still, it is amazing that it works at all!

pjsg··on Closure of Radio 4 on Long Wave (LW)
How will the shipping forecast be distributed?
pjsg··on Free IP Geolocation Database
What is the data supposed to represent? Given an IP, I get back some indication of location. Is this

(a) The location of the user who uses this IP at the moment?

(b) The location of the device that is assigned this global IP?

(c) The location of the switch/router at the ISP that is directly connected to the device with the IP?

(d) The headquarters location of the organization that registered the IP block.

(e) Some other location we can't describe.

(f) One of the other answers, but at some time in the past.

These are not all the same location, and not necessarily the same country. Think about people using phones, on airplanes, at sea, in the desert using starlink, corporations using internal networks to get to an ISP POP in another country.

pjsg··on Pinterest sacks two engineers for creating software to identify fired workers
Many companies have internal directories which can be downloaded and (say) committed into git on a daily basis. This could be automated in a cron job. This then gives an immediate view into what is going on.

I believe that the Slack API (if your company uses Slack) can be persuaded to give you the list of deactivated accounts. Then you just check this into git (on a daily basis), and you are done.

And, of course, in this AI Agentic world, you can probably ask your HR bot about the recent layoffs and get the information even more easily!

pjsg··on Todd C. Miller – Sudo maintainer for over 30 years
Hence IEFBR14A
pjsg··on Show HN: I've been using AI to analyze every supplement on the market
That is odd. When I searched for Vitamin D, it showed me a list (which I could sort by $/mg). That list included Vitamin D, Vitamin D2 and Vitamin D3. I assumed (incorrectly it seems) that this meant that it was doing some sort of prefix match. It seems that the result table highlights the "Ingredient" column, so I assumed (incorrectly) that it was searching that column. However, it doesn't seem to search the "Supplement" column, nor is it doing a prefix match (or substring match) on the Ingredient column. This is just confusing.

https://pillser.com/search?q=%22Vitamin+D%22

pjsg··on Show HN: I've been using AI to analyze every supplement on the market
I picked Vitamin D as it was an option on the main page. The cheapest offered was $1.1/mg.

Costco (https://www.costco.com/p/-/kirkland-signature-extra-strength...) sells Vitamin D at less than half that price. On Amazon, the two pack of those is even cheaper.

Just an observation.

pjsg··on Apple Maps claims it's 29,905 miles away
I suspect that my Tesla adjusts its location based on dead reckoning after losing GPS lock except that it assumes that I'm driving forwards. I.e. If I reverse out of my garage, then the map ends up in the wrong place and now I'm driving parallel to the road!
pjsg··on Show HN: Onlyrecipe 2.0 – I added all features HN requested – 4 years later
I'm not convinced that the units conversion is right. The example of 2 Cups of greek yoghurt being 391.32 g. 1 US cup is 240 ml (or 236.5 ml depending on which type of cup you are using). The density of greek yoghurt is somewhere between 0.96 g/ml and 1.04 g/ml (depending on which website you trust the most). This leads me to calculate that 2 cups greek yoghurt weighs between 454 g and 499 g). The 391 g value is way off.
pjsg··on A monopoly ISP refuses to fix upstream infrastructure
I had a problem with Comcast that was that native IPv6 traffic was slower than IPv6 over my Hurricane Electric IPv6 tunnel. Support was no use (no surprise). But I happened to meet someone who worked in Comcast's backbone network. He figured it out and I got 10ms knocked of my native IPv6 ping times. (See https://n1dq.blogspot.com/2015/03/ipv6-comparing-hurricane-e... for the story).

The moral of the story is to find someone who works at Comcast who has Engineer in their job title and reach out directly. Linkedin is your friend here.

pjsg··on Linear algebra explains why some words are effectively untranslatable
The article seems to think that a word is untranslateable if there is no single word in the target language. If I'm not misreading the article, then this is completely obvious -- just consider the number of words in English and the number of words in almost any other language, and you will find that there are more English words than the other language. It is now clear that there exist English words that don't correspond to a single word in the other language.
pjsg··on Recursive macros in C, demystified (once the ugly crying stops)
I wept when the author mentioned implementing SHA256 in macros.
pjsg··on Engineering a fixed-width bit-packed integer vector in Rust
I suspect that this unaligned read apporach doesn't work for a bit length of 59, 61, 62 and 63.

In the case of 63, reading out value at offset 1, requires two reads as it need 1 bit from the first byte, then 56 bits from the next 7 bytes and finally 6 bits from the 9th byte. Nine bytes cannot be loaded in a single u64 load.

pjsg··on The impact of the Salesloft Drift breach on Cloudflare and our customers
That leads to a page saying "Cannot locate dashboard account"

I did find an email from Cloudflare in April 2011 (seven months after CF started to offer services) which was a response to a support request. I guess that things have changed in the intervening years so that the original link to keep track of my support request no longer works!!

I'll give them a break on this!

pjsg··on The impact of the Salesloft Drift breach on Cloudflare and our customers
I got this notification (email subject "[ACTION REQUIRED] Third-Party Compromise Impacting Cloudflare Salesforce Cases"), but, as I'm a free user, I don't even have a 'Technical Support' option under the 'Support' menu dropdown.

Have other free users also received this email?

pjsg··on Live Map of the London Underground
I note that the times for future stations are in UTC and not BST. Also, when you zoom in to only a couple of stations, the trains seem to vanish occasionally -- maybe when part of the train reaches the edge of the display. I also find it jarring that the trains appear above the buildings rather than get hidden by the buildings. I'd like to see the trains running along the surface... All of these suggestions are much easier to make than to implement!

Good job on this and pretty cool.

pjsg··on Remembering John Conway's FRACTRAN, a ridiculous, yet surprisingly deep language
I attended a lecture from Conway where he described this approach -- but I don't recall him calling it FRACTRAN. I don't even recall what the particular example computed, but the program was around a dozen fractions.

This was probably at the end of the 70s while I was a Maths undergrad at Cambridge.

pjsg··on How I pwned a major New Zealand service provider
Does this api allow me to enumerate the users (by phone number) using the service? That would seem to be bad as well. I. guess that it depends on what their fix was.

If this really was the first api request made by the app, and it has a serious vulnerability, then the omens are not great for the rest of the api calls either.

pjsg··on Repairable Flatpack Toaster
MY first job (in the last 70s) was working in a TV rental store doing small item repair. In particular, repairing toasters was probably my #1 activity. Essentially the failure was nearly always the same -- one of the three toasting elements failed, and so I would replace all three elements, and the customer got a working toaster back.

It was never clear to me (at least I don't recall it being clear) why the heating elements failed. It could be from someone sticking a hard tool into the toaster when trying to remove a small item (and breaking the element). It might be that a piece of bread gets stuck to a portion of the element and catches fire at that point -- maybe that weakens the element at that point. This was, of course, long before toasters got electronics in them!

pjsg··on Ping Rate Clock
There are easier solutions that involve fewer parts. In particular there is the VID27-05 (https://www.aliexpress.us/item/3256803510816905.html) which is a dual stepper motor, driven off 5 volts which is designed for (car?) instrument clusters. They come with the builtin endstop and are dirt cheap. As I recall, you can drive these directly from the pins of an ESP8266 (and, I guess, the ESP32).

This is the driver for the Lua Nodemcu for the ESP8266: https://nodemcu.readthedocs.io/en/dev/modules/switec/

pjsg··on Traceroute Isn't Real
traceroute is a useful tool for (amongst other things) determining where a system is physically. It doesn't always give you enough information.

Traceroute to news.ycombinator.com:

  3   96.108.68.141 (po-200-xar01.maynard.ma.boston.comcast.net)  12.105ms  11.724ms  11.931ms 

  4   96.108.68.141 (po-200-xar01.maynard.ma.boston.comcast.net)  13.011ms  10.727ms  19.861ms 

  5   162.151.52.34 (be-501-ar01.needham.ma.boston.comcast.net)  13.988ms  14.721ms  12.921ms 

  6   162.151.52.34 (be-501-ar01.needham.ma.boston.comcast.net)  14.999ms  16.688ms  12.997ms 

  7   4.69.146.65 (ae0.11.bar1.SanDiego1.net.lumen.tech)  76.044ms  79.624ms  78.017ms 

  8   4.69.146.65 (ae0.11.bar1.SanDiego1.net.lumen.tech)  83.962ms  108.675ms  78.987ms 

  9   \*  \*  \*

I can conclude that the server is probably on the west coast -- maybe San Diego.

I recall using this during a sales pitch by some IP Geolocation company that were very proud of their technology. The example that they used, they claimed was in Morristown, NJ. A quick traceroute (from Massachusetts) revealed that the IP was somewhere in the UK as the last hop was close to Heathrow Airport. We did not purchase their solution!

pjsg··on Please do not write below the line
My guess is that they scan the letters that are returned by the post office and hence they don't want anybody writing below the line. I guess that they used to have a problem with squirrels opening up the letters and scribbling below the line. However, they seem to ignore the fact that squirrels can't read.

More likely is that whenever they print OCR'able numbers / barcode/ whatever, they assume that a person is going to return it -- and the special case of 'we only get returned letters when the delivery has failed and nobody has opened the envelope' escaped the testing.

pjsg··on Nginx has moved to GitHub
In my case, they block me on IPv6 since I use a Hurricane Electric IPv6 tunnel. It certainly used to be the case that my IPv6 connectivity was better and more performant down the tunnel than using my ISPs native IPv6. I have no idea what the situation is today.

My solution was to use a filtering DNS that always returns no AAAA records for domains ending in google.com. This works great and essentially solves the problems. I have to do the same for various netflix domains as well.

I'm dreading having to switch over to native IPv6 -- I don't even know how many /64s will be allocated to me (and how stable they will be).

pjsg··on Is My Blue Your Blue?
It is a pity that the website does not collect information about whether the participant is color-blind or not.
pjsg··on Experience the Apollo 11 Lunar Landing
Along with this, take time and listen to the BBC Series "13 minutes to the moon" https://www.bbc.co.uk/programmes/p083t547 which goes into detail behind everything that happened during those 13 minutes. I was truly amazed by the backstory and the youth of everybody in the control room. As I recall, Gene Kranz (in his mid 30s in 1969) was the oldest person in the room.
pjsg··on The Most Dangerous Email (to my career) I've Sent
I felt this way as well, but I was fortunate enough to be working in a large company that had a senior engineer track leading to Distinguished Engineer (DE) and then Fellow. I knew that I wasn't Fellow material, but being a DE meant that I could focus on technical issues and not on management issues. Of course, management being management, they tried to give me a project that was not going well, so I left to join an early stage startup.

I'm going to succeed in having my entire 40+ year career in software without ever having had to manage another person. I'm fortunate enough to have had a number of managers who can recognize my strong (and weak) points and then use me in the most effective manner.

pjsg··on CrowdStrike Official RCA is now out [pdf]
I think it is worse than that. When I make a change to some code or config, I'll run it locally to make sure that the change has the effect that I want. I know that we are human and that bugs occasionally appear in code. But what I can't understand is that the human who initiated this change decided not to see if it actually did what they wanted it to do.

I've made changes on personal projects that I thought were simple, and yet broke stuff. But CrowdStrike is a multi-billion dollar company -- how can it be possible to have such a broken process. Their RCA document was interesting, but didn't cover any of the interesting issues. It seems that they don't know about the 5 Whys process (https://en.wikipedia.org/wiki/Five_whys) or decided that those answers were so embarrassing that they had to omit them.

Page 1 of 4Next →