HNHacker News
TopNewBestAskShowJobs

thamer

2,913 karma · joined October 5, 2007

submissionscomments
thamer··on Rising rent, not poverty, is the real driver of homelessness
The current link points to the website of a radio station that only posted a brief summary of a much longer article from The Atlantic. Maybe the URL in this post should be changed to the original? https://www.theatlantic.com/magazine/archive/2023/01/homeles...

edit: actually the original link already has a submission on HN: https://news.ycombinator.com/item?id=33961543

thamer··on x86 is Turing-complete with no registers (2014)
> Conditional control flow is possible thanks to this gem of an instruction:

    ff242500004000            jmp qword [0x400000]
How is this "conditional"? The article explains that it simply "jumps to whatever address is stored as a 64-bit quantity at address 0x400000", but where's the condition here?
thamer··on Posters of the IPv4 and IPv6 internet as of Jan 1, 2023
> ping from Earth to Mercury is 230,000ms at best.

Not really your point I know, but I was curious about this so I looked it up. The closest Earth and Mercury get is 77.3 million km[1], which is 515.7 seconds round-trip (ping) at the speed of light.

[1] https://nssdc.gsfc.nasa.gov/planetary/factsheet/mercuryfact....

thamer··on Ask HN: Concepts that clicked only years after you first encountered them?
A sibling comment to your mentioned Andrew Ng's class, and I actually had the same experience as them with the same class. You can find it by searching for Stanford CS229; the lectures are available on YouTube.
thamer··on An M1 for Curl
I didn't write the job listing, but I understand it as being interested in OSS contributions, maybe already being a contributor to some projects.

> hiring someone to contribute to open source, makes that person likely represent interest of the corporation

That's true, and this is why my team is active within the project by having a member on the Technical Oversight Committee and several others in SIGs. The point is not to push our own agenda, we have made a lot of changes that are mainly relevant to our use cases and that don't necessarily make sense to upstream. Whenever we work on features that we know others would benefit from, we engage with the project's relevant committees and make the changes requested in pull request reviews.

To be clear, I don't speak for my employer and this is only my own experience. Not all teams are like this.

> I think much better idea to "contribute back" is to actually pay the existing contributors rather than having own pet one.

Contributing features and supporting existing contributors in other ways are not incompatible. We have a whole team working on this code base full time, and so do other companies. Of course all of these people collaborate. This project is not really run by volunteers but mostly receives contributions from a number of companies (originally created at Netflix, large parts came from Google, etc).

edit: See TOS members here for a list of the companies involved: https://cd.foundation/blog/2022/11/01/new-spinnaker-technica...

thamer··on An M1 for Curl
> Their engineers are prohibited from contributing back to the ecosystem

Things have changed and this is no longer true. A significant number of projects receive frequent contributions from Apple engineers. The majority of active committers on Apache Cassandra are at Apple for example, contributing major features such as a new transactional system[1].

My team actively contributes to Spinnaker, and we're currently hiring someone with a focus on open-source contributions, quoting the second "key qualification" in the job listing[2]: "Interest in developing with open source software and contributing back to the community".

[1] https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-15...

[2] https://jobs.apple.com/en-us/details/200361051/apple-cloud-p...

thamer··on Lichee Pi 4A
Yes the physical size can be important, and so can the power draw.

Just like you wouldn't use a full-fledged Raspberry Pi for use cases where a Raspberry Pi Nano or other low-power microcontroller is enough.

thamer··on Show HN: Infisical – open-source secrets manager
I didn't see any reference to an external security audit on your website, so have you done one and if not are you planning to? All serious products in this space publish these third-party audits and sometimes certifications.

See the page for Vault: https://www.hashicorp.com/vault-compliance

Or 1Password: https://support.1password.com/security-assessments/

As the comment from jbotz mentioned, exposing secrets in environment variables seems like a major issue and it would be one of the first points covered in such an audit.

thamer··on Promotion of alternative social platforms policy
I don't know if this was a serious question, but Twitter's support for video is less advanced. Really, it's clear that it's never been a priority.

The maximum duration is 140s, max file size is 512MB, max resolution is 1280x1024, they use the browser's basic HTML player, and their compression makes all videos look like crap.

https://developer.twitter.com/en/docs/twitter-api/v1/media/u...

thamer··on A curated directory of 700 Mac menu bar apps
To build your own menu bar app, I would recommend trying out xbar[1].

You can write "apps" in any language. The output of your program is used to construct the menu bar app, so if your program outputs this:

    Hello
    ---
    Open HN | href=https://news.ycombinator.com/
Then it will create a menu bar entry titled "Hello" with a single element in its drop-down menu, which will open Hacker News when clicked. You place your program in a specific directory for xbar to run, and it can be configured to run at a given frequency, e.g. once a minute to report the results of an API call or some measurement from your system, etc. Up to you to build the menu bar app you want.

[1] https://xbarapp.com/

thamer··on Medieval Bestiary
Elephants often have interesting shapes in medieval art. In some (most?) cases it seems like the artist was likely drawing from someone else's description of the animal since they had never seen one themselves (e.g. #14, #22, #34 and more in the gallery below).

https://bestiary.ca/beasts/beastgallery77.htm

thamer··on Aluminum formate Al(HCOO)3: Earth-abundant, scalable, & material for CO2 capture
This is the critical flaw in betting mostly on trees to remove CO2 from the atmosphere.

To get to the now-unlikely target of +1.5°C by 2100, the need is on the order of 6 billion tons of CO2 to remove each year by 2050[1]. A mature tree can capture only around 22 kg a year[2], so removing 6 billion tons would require planting 270 billion trees each year. To get a sense of the magnitude of the effort, there are an estimated 3 trillion trees on Earth today; we'd need to plant just as many in only 11 years.

[1] https://www.mckinsey.com/capabilities/sustainability/our-ins...

[2] https://www.eea.europa.eu/articles/forests-health-and-climat...

thamer··on GitHub Copi­lot inves­ti­ga­tion
It doesn't, because that's not how it works.

Copilot doesn't recognize what you're trying to do and then paste a code sample from a repo it has in its index. Just like DALL·E 2 doesn't produce images that say "I picked these pixels from this image and this part from this other one and these colors from this third one". When a model is trained, it's effectively a set of hundreds of millions of numbers that when combined in just the right way can produce a specific output. In my experience the vast majority of the time Copilot doesn't write code that already exists. It actually uses the variables you declared, the functions that already exist in your code base, etc.

It's not an index of best matches from GitHub for what you're trying to do.

thamer··on In Canada it's illegal to call yourself software engineer
France also has rules regarding who can call themselves an engineer, although software engineering is recognized. A "diplôme d'ingénieur" can only be delivered by accredited institutions regulated by the "Commission des titres d'ingénieur" (committee of engineering titles).

Whether or not an engineering school is accredited can be an important factor in deciding whether to join it after high school. Some software engineering schools that focus more on coding and tech skills without necessarily spending much time on other topics that provide a solid engineering foundation are not accredited. They are often seen as offering a degree that is less valuable than accredited institutions.

More on this: https://en.wikipedia.org/wiki/Dipl%C3%B4me_d%27Ing%C3%A9nieu...

thamer··on AWS doesn't make sense for scientific computing
The vast majority of researchers don't need anywhere close to the amount of resources that CERN needs. The fact that CERN doesn't use EC2 and lambdas shouldn't be taken as a lesson by anyone who's not operating at their scale.

This feels like a similar argument to the one made by people who use Kubernetes to ensure their web app with 100 visitors a day is web scale.

thamer··on The Art of Logging
Some good advice here. I would also suggest adding a build ID to the log message along with the other optional fields, this being the version of the software that logged the message. It can help track down incompatibility issues, especially those that happen during the deployment of server-side software.

For example if you're on version X and in the process of deploying version Y, when service A sends a request to service B you have 4 distinct possibilities regarding the versions running on these two instances (X→X, X→Y, Y→X, Y→Y). If in version Y you've made changes to the request in its protocol/format/payload, you'll need to deal with all 4 cases to avoid encountering errors during the deployment. If the instances log all messages with their version, it'll help track down these transient incompatibility bugs, e.g.

  {
    "service": "B",
    "build": "X",
    "request_service": "A",
    "message": "unknown field in request: 'new_field'"
  }
thamer··on What does the ??!??! operator do in C?
How to format text on HN: https://news.ycombinator.com/formatdoc

  For code blocks, prefix each line with two or more spaces.
thamer··on Arduino IDE 2.0
Yes. I've had both installed while 2.0 was in beta, and can confirm that the portable installation mode that a sibling comment mentioned does keep the two separate.
thamer··on GeForce RTX 40 Series
This is not a new development with the 40 series. The RTX 3090 Ti already had a 450W TDP: https://www.techpowerup.com/gpu-specs/geforce-rtx-3090-ti.c3...

What you describe is accurate, the 3090 Ti produces a tremendous amount of heat under load in my experience and I would expect the same with these new cards.

thamer··on “Titanic” Disaster: Report of the Committee on Commerce, US Senate (1918) [pdf]
The report mentions the ship making a C.Q.D. call, which I wasn't familiar with.

The name comes from the earlier telegraph "CQ" call for alerts, named after the French word "sécurité", abbreviated as "sécu" which is how the letters C and Q are pronounced in French. "D" is added to indicate distress. Sending a CQD call means sending the letters C,Q,D in Morse code; this practice was later supplanted by SOS.

Wikipedia has a page with more information: https://en.wikipedia.org/wiki/CQD. It mentions the Titanic disaster: "Harold Bride, the junior radio operator, suggested using SOS, saying half-jokingly that it might be his last chance to use the new code."

thamer··on GitUI: Terminal UI for Git
Gitui's README mentions that Lazygit freezes and sometimes crashes parsing large repos, taking the example of the linux repo, and reports that Gitui is more than twice as fast: https://github.com/extrawurst/gitui#3--benchmarks-top-

At least for the stability issues, does this match your experience?

I see others have mentioned tig here as well, I'd be curious to hear if they also find it somewhat slow and unstable. Gitui's linux benchmark lists it as being almost 11 times faster than tig.

thamer··on What if consciousness is not an emergent property of the brain?
All four authors are listed as being part of the "Institute of Noetic Sciences", which researches topic such as paranormal phenomena, psychic abilities, telekinesis, and other pseudoscientific topics in the realm of alternative medicine.

https://en.wikipedia.org/wiki/Institute_of_Noetic_Sciences

thamer··on Open AirPlay 2 Receiver
Decompilation is very much part of reverse engineering. The two are not the same, but disassembling and decompiling code are extremely common techniques used to reverse engineer a program, algorithm, or protocol.
thamer··on Why does gRPC insist on trailers?
A few years ago I worked on a service that had to stream data out using protobuf messages, in a single request that could potentially transfer several gigabytes of data. At the HTTP level it was chunked, but above that I used a protobuf message that contained data plus a checksum of that data, with the last message of the stream containing no data but a checksum of the entire dataset (a flag was included to differentiate between the message types).

This simple design led us to find several bugs in clients of this API (e.g. messages dropped or processed twice), and gave us a way to avoid some of the issues mentioned in this article. Even if you don't use HTTP trailers, you can still use them one layer above and benefit from similar guarantees.

thamer··on Analysis of energy consumption of Bluetooth Low Energy versus Bluetooth Classic
They mention the Power Profiler Kit 2 (PPK2) to measure power usage. I've been using it for a few months with microcontrollers and have found it very useful. The amount of precision it's capable of with high-frequency measurements is extraordinary, I was able to spot when the MCU was running various functions just from the power draw. It goes down to 200nA and can produce 100,000 samples/sec.

Alternatives like USB power meters[2] are still useful and can be cheap, but you don't get raw data from them and just have to read the value from the display. For comparison DigiKey has the PPK2 listed for $92.50.

[1] https://www.nordicsemi.com/Products/Development-hardware/Pow...

[2] https://amazon.com/s?k=usb+power+meter

thamer··on PEP 505 – None-aware operators (2015)
There's a major difference though: `value if predicate else alternative` is itself a value, something you can assign to a variable or pass to a function as a parameter.
thamer··on <article> vs. <section>: How To Choose The Right One
Aren't the names <article> and <section> pretty descriptive already? In plain English it seems reasonable to say "I read the first section of this article", while "I read the first article of this section" just doesn't feel right.

I realize that not everyone is a native English speaker, but in the case of these two words it seems to me that the non-technical, casual definitions or article and section are enough to differentiate them.

thamer··on Two weeks in, the Webb Space Telescope is reshaping astronomy
Yes, and they confirmed it was the same galaxy using spectroscopy: https://webbtelescope.org/contents/media/images/2022/035/01G...
thamer··on Someone is impersonating us in a recruiting scam
The job offer says they'll receive an iMac Pro, a bunch of hardware and software, including "Crimson Editor". I wasn't familiar with it, but it seems to be an HTML editor for Windows that was last released in 2008, it's "so small that it can be copied in one floppy disk". Their website doesn't even have HTTPS: http://www.crimsoneditor.com/

Did they copy part of this list of perks from a 15-year-old scam script?

thamer··on Whose breath are you breathing?
Covid aside, a reading of almost 6000 ppm in the bus is extremely high, at this level there is a clear impact on cognitive function.

See this study[1] in Nature that measured the effects of CO2 at 1000, 3000, and 5000 PPM. Quote: "For the Psychomotor Vigilance Test, the probability of achieving an accuracy score of >90% decreased in a dose–response like fashion from 79.5%, 74.7%, 73.4%, to 64.0% for 600, 1200, 2400, and 5000 ppm, respectively".

Another study[2] tried to establish the effect on response time, finding that "For every 500ppm increase, we saw response times 1.4-1.8% slower, and 2.1-2.4% lower throughput."

For a more pop-sci take on this, see this Tom Scott video where a subject is placed inside of an airtight chamber where the CO2 gradually increases, with a major impact on their brain function: https://www.youtube.com/watch?v=1Nh_vxpycEA

[1] https://www.nature.com/articles/s41526-019-0071-6

[2] https://iopscience.iop.org/article/10.1088/1748-9326/ac1bd8

← PreviousPage 3 of 17Next →