frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

We Mourn Our Craft

https://nolanlawson.com/2026/02/07/we-mourn-our-craft/
186•ColinWright•1h ago•172 comments

I Write Games in C (yes, C)

https://jonathanwhiting.com/writing/blog/games_in_c/
22•valyala•2h ago•6 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
124•AlexeyBrin•7h ago•24 comments

SectorC: A C Compiler in 512 bytes

https://xorvoid.com/sectorc.html
17•valyala•2h ago•1 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
65•vinhnx•5h ago•9 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
833•klaussilveira•22h ago•250 comments

U.S. Jobs Disappear at Fastest January Pace Since Great Recession

https://www.forbes.com/sites/mikestunson/2026/02/05/us-jobs-disappear-at-fastest-january-pace-sin...
155•alephnerd•2h ago•106 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
119•1vuio0pswjnm7•8h ago•149 comments

Al Lowe on model trains, funny deaths and working with Disney

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
57•thelok•4h ago•8 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
1061•xnx•1d ago•613 comments

Reinforcement Learning from Human Feedback

https://rlhfbook.com/
80•onurkanbkrc•7h ago•5 comments

Brookhaven Lab's RHIC Concludes 25-Year Run with Final Collisions

https://www.hpcwire.com/off-the-wire/brookhaven-labs-rhic-concludes-25-year-run-with-final-collis...
4•gnufx•58m ago•1 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
489•theblazehen•3d ago•177 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
212•jesperordrup•12h ago•73 comments

France's homegrown open source online office suite

https://github.com/suitenumerique
567•nar001•6h ago•259 comments

Coding agents have replaced every framework I used

https://blog.alaindichiappari.dev/p/software-engineering-is-back
226•alainrk•6h ago•354 comments

A Fresh Look at IBM 3270 Information Display System

https://www.rs-online.com/designspark/a-fresh-look-at-ibm-3270-information-display-system
40•rbanffy•4d ago•7 comments

Show HN: I saw this cool navigation reveal, so I made a simple HTML+CSS version

https://github.com/Momciloo/fun-with-clip-path
10•momciloo•2h ago•0 comments

History and Timeline of the Proco Rat Pedal (2021)

https://web.archive.org/web/20211030011207/https://thejhsshow.com/articles/history-and-timeline-o...
19•brudgers•5d ago•4 comments

Selection Rather Than Prediction

https://voratiq.com/blog/selection-rather-than-prediction/
8•languid-photic•3d ago•1 comments

72M Points of Interest

https://tech.marksblogg.com/overture-places-pois.html
29•marklit•5d ago•3 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
114•videotopia•4d ago•33 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
77•speckx•4d ago•82 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
275•isitcontent•22h ago•38 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
201•limoce•4d ago•112 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
288•dmpetrov•22h ago•155 comments

Show HN: Kappal – CLI to Run Docker Compose YML on Kubernetes for Local Dev

https://github.com/sandys/kappal
22•sandGorgon•2d ago•12 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
557•todsacerdoti•1d ago•269 comments

Making geo joins faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
155•matheusalmeida•2d ago•48 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
427•ostacke•1d ago•111 comments
Open in hackernews

Estimating Logarithms

https://obrhubr.org/logarithm-estimation
103•surprisetalk•8mo ago

Comments

xeonmc•8mo ago
Protip: since halving and doubling are the same logarithmic distance on either sides of unity, and the logarithmic distance of 2.0 to 5.0 is just a tiny bit larger than that of doubling, this means that you can roughly eyeball the infra-decade fraction by cutting them into thirds
thechao•8mo ago
I don't know about powers-of-10; but, you can use something similar to bootstrap logs-in-your-head.

So, 2^10=1024. That means log10(2)~3/10=0.3. By log laws: 1 - .3 = 0.7 ~ log10(5).

Similarly, log10(3)*9 ~ 4 + log10(2); so, log10(3) ~ .477.

Other prime numbers use similar "easy power rules".

Now, what's log10(80)? It's .3*3 + 1 ~ 1.9. (The real value is 1.903...).

The log10(75) ~ .7*2+.477 = 1.877 (the real answer is 1.875...).

Just knowing some basic "small prime" logs lets you rapidly calculate logs in your head.

madcaptenor•8mo ago
For log(3) I prefer the "musical" approximation 2^19 ~ 3^12. This is a "musical" fact because it translates into 2^(7/12) ~ 3/2 - that is, seven semitones make a perfect fifth). Together with log(2) ~ 3/10 that gives log(3) ~ 19/40.

Also easy to remember: 7^4 = 2401 ~ 2400. log(2400) = log(3) + 3 log(2) + 2 ~ 19/40 + 3 * 12/40 + 2 = 135/40, so you get log(7) ~ 135/160 = 27/32 = 0.84375.

thechao•8mo ago
These are both great! I learned most of these old tricks from my dad & grandfather.
thechao•8mo ago
I'll double-reply, since I think people might also appreciate this... there's a pretty easy way to find the square of 2-leading-digit numbers (and square-roots, too.)

Direct square: 54^2 = (50 + 4)^2 = 2500 + 2 * 50 * 4 + 4^2.

Direct square-root: 3800 = (61^2=3721) + r ~ (61 + (3800-3721)/(2*61) = 61 + 79/122. To check: (61 + 79/122)^2= 3,800.419. You can estimate the "overhead" by noting that 79/122 ~ 2/3 => (2/3)^2 = 0.444.

Of course, my grandfather would've just used a slide-rule directly.

briian•8mo ago
So much of economics maths/stats is built on this one little trick.

It's still pretty cool to me that A this works and B it can be used to do so much.

saulpw•8mo ago
Here's all you really need to know about logs when estimating in your head:

The number of digits minus one is the magnitude (integer). Then add the leading digit like so:

1x = ^0.0

2x = ^0.3 (actually ^0.301...)

pi = ^0.5 (actually ^0.497...)

5x = ^0.7 (actually ^0.699...)

Between these, you can interpolate linearly and it's fine for estimating. Also 3x is close enough to pi to also be considered ^0.5.

In fact, if all you're doing is estimating, you don't even really need to know the above log table. Just use the first digit of the original number as the first digit past the decimal. So like 6000 would be ^3.6 (whereas it's actually ^3.78). It's "wrong" but not that far off if you're using logarithmetic for napkin math.

xeonmc•8mo ago
And this is also the basis of the fast inverse square root algorithm. Floating point numbers are just linear interpolations between octaves.
thomasahle•8mo ago
What is this ^notation?

Looks like 5x=^0.699 means log_10(5)=0.699.

xeonmc•8mo ago
5 = 10^0.699
saulpw•8mo ago
It's magnitude notation. ^X is short for 10^X.
dhosek•8mo ago
The pi = ^0.5 bit reminds me of a college physics professor who was fond of using the shortcut π²=10.
madcaptenor•8mo ago
This is wrong, π² = g, the acceleration due to gravity.
brucehoult•8mo ago
Slightly more accurate ..

    1: 0.0
    2: 0.3
    3: 0.475
    4: 0.6 (2*2)
    5: 0.7
    6: 0.775 (2*3)
    7: 0.85
    8: 0.9 (2*2*2)
    9: 0.95 (3*3)
The biggest error is 7 at +0.577% ... 0.845 is almost perfect. The others are maximum +0.45% off.

So you only need to remember:

    2: 0.3
    7: 0.85
    9: 0.95

    1.4 = sqrt(2) -> 0.15
    3 = sqrt(9) -> 0.95/2 = 0.475
    pi = ~sqrt(10) -> 0.5
    4 = 2*2 -> 0.6
    5 = 10/2 -> 0.7
    6 = 2*3
    2pi = 2*sqrt(10) -> 0.3+0.5 = 0.8
    8 = 2*2*2 -> 0.9
madcaptenor•8mo ago
You barely even have to remember

  9: 0.95
since you can get it by interpolation between 8 and 10.
brucehoult•8mo ago
Yup.

Put the effort into remembering a 3 digit log for 7 instead?

Or keep the same precision with ...

    7 = ~sqrt(100/2) -> (2-0.3)/2 = 1.7/2 = 0.85
Log 2 is all you need?

Or even ...

    7 = sqrt(sqrt(2401)) = (3*8*100)^(1/4) -> 0.95/8 + 0.3*3/4 + 2/4 = 0.12 + 0.225 + 0.5 = 0.845
VERY accurate, but that's getting to be too much.
arkeros•8mo ago
You also don't need to remember 7, as 2*7^2 =~ 100 => log 7 =~ (2 - 0.3) / 2 = 0.85
brucehoult•8mo ago
Yes, as I mentioned in one of my other replies. Or 2400^0.25.

Same for 9: sqrt(81) = sqrt(8 * 10) -> (0.3*3 + 1) / 2 = 0.95

At some point it's easier to remember a few numbers than calculate a lot of formulas.

adrian_b•8mo ago
I find much more useful to memorize the inverse of that table, i.e. the decibel table.

The numbers corresponding approximately to 0 dB, 1 dB, 2 dB, 3 dB etc. (1.0, 1.25, 1.6, 2.0 etc.; more accurate values, like 1.26 or 1.58 instead of 1.25 and 1.6 are typically not needed) are also frequently encountered as such in engineering practice as belonging to various series of standard nominal values, which makes them more useful to have in mind.

Then for any mental computation, it is trivial to convert mentally a given number to the corresponding dB value, perform the computation with additions and subtractions instead of multiplications and divisions, then convert back the dB value to the linear number corresponding to the result.

Doing mental computations in this way, even if it has only about 2 correct digits at most, is enough for debugging various hardware problems, or even for catching software bugs, where frequently an impressive numbers of significant digits is displayed, but the order of magnitude can be completely wrong.

madcaptenor•8mo ago
Since 3 dB is so nearly 2.0, you can derive that series by taking small powers of two, say from 2^(-4) to 2^5 or 2^6:

0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, (64)

and then multiplying everything by factors of 10 to get it between 0 and 10:

1, 1.25, 1.6, 2, 2.5, 3.2, 4, 5, 6.25 (or 6.4), 8

adrian_b•8mo ago
You are right, so this is how the series of standardized nominal values that has been traditionally used for some quantities, like maximum dissipated powers for resistors, maximum operating voltages for capacitors, maximum powers for motors, hexagonal nut sizes for some ancient packages for stud-mounted power semiconductor devices, etc., has been obtained.

Apparently whoever have standardized first this series of values have not been able to make their mind to choose between 6.25 and 6.4, therefore 6.3 has been chosen instead of any of those 2 values.

gus_massa•8mo ago
Typo near the top, in case someone knows the author:

> log(100)≤log(N)<log(100)

There is a missing 0 in the last log. It should be

> log(100)≤log(N)<log(1000)

obrhubr•8mo ago
Thanks for pointing this out :), I fixed it!
stevefan1999•8mo ago
Related Wikipedia entry: https://en.wikipedia.org/wiki/Logarithmic_number_system

Also related: https://blog.timhutt.co.uk/fast-inverse-square-root/

(I see that someone already mentioned fast inverse square root algorithm is related to this, which is famously used by John Carmack which is one of my hero who led me into tech industry, despite I didn't end up in gaming industry)

teo_zero•8mo ago
The artcle makes a weird use of the notation for successive exponentiations. It's difficult to represent the concept here as only text is allowed, but shortly the author uses a^b^c to mean (a^b)^c. This is counter intuitive as in most mathematical contexts exponentiation is right-associative, that is a^b^c means a^(b^c). A pair of parentheses would remove any doubts!