frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Django N+1 Queries Checker

https://github.com/richardhapb/django-check
1•richardhapb•8m ago•1 comments

Emacs-tramp-RPC: High-performance TRAMP back end using JSON-RPC instead of shell

https://github.com/ArthurHeymans/emacs-tramp-rpc
1•todsacerdoti•12m ago•0 comments

Protocol Validation with Affine MPST in Rust

https://hibanaworks.dev
1•o8vm•17m ago•1 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
2•gmays•18m ago•0 comments

Show HN: Zest – A hands-on simulator for Staff+ system design scenarios

https://staff-engineering-simulator-880284904082.us-west1.run.app/
1•chanip0114•19m ago•1 comments

Show HN: DeSync – Decentralized Economic Realm with Blockchain-Based Governance

https://github.com/MelzLabs/DeSync
1•0xUnavailable•24m ago•0 comments

Automatic Programming Returns

https://cyber-omelette.com/posts/the-abstraction-rises.html
1•benrules2•27m ago•1 comments

Why Are There Still So Many Jobs? The History and Future of Workplace Automation [pdf]

https://economics.mit.edu/sites/default/files/inline-files/Why%20Are%20there%20Still%20So%20Many%...
2•oidar•30m ago•0 comments

The Search Engine Map

https://www.searchenginemap.com
1•cratermoon•37m ago•0 comments

Show HN: Souls.directory – SOUL.md templates for AI agent personalities

https://souls.directory
1•thedaviddias•38m ago•0 comments

Real-Time ETL for Enterprise-Grade Data Integration

https://tabsdata.com
1•teleforce•41m ago•0 comments

Economics Puzzle Leads to a New Understanding of a Fundamental Law of Physics

https://www.caltech.edu/about/news/economics-puzzle-leads-to-a-new-understanding-of-a-fundamental...
2•geox•42m ago•0 comments

Switzerland's Extraordinary Medieval Library

https://www.bbc.com/travel/article/20260202-inside-switzerlands-extraordinary-medieval-library
2•bookmtn•43m ago•0 comments

A new comet was just discovered. Will it be visible in broad daylight?

https://phys.org/news/2026-02-comet-visible-broad-daylight.html
2•bookmtn•47m ago•0 comments

ESR: Comes the news that Anthropic has vibecoded a C compiler

https://twitter.com/esrtweet/status/2019562859978539342
1•tjr•49m ago•0 comments

Frisco residents divided over H-1B visas, 'Indian takeover' at council meeting

https://www.dallasnews.com/news/politics/2026/02/04/frisco-residents-divided-over-h-1b-visas-indi...
3•alephnerd•49m ago•1 comments

If CNN Covered Star Wars

https://www.youtube.com/watch?v=vArJg_SU4Lc
1•keepamovin•55m ago•2 comments

Show HN: I built the first tool to configure VPSs without commands

https://the-ultimate-tool-for-configuring-vps.wiar8.com/
2•Wiar8•58m ago•3 comments

AI agents from 4 labs predicting the Super Bowl via prediction market

https://agoramarket.ai/
1•kevinswint•1h ago•1 comments

EU bans infinite scroll and autoplay in TikTok case

https://twitter.com/HennaVirkkunen/status/2019730270279356658
6•miohtama•1h ago•5 comments

Benchmarking how well LLMs can play FizzBuzz

https://huggingface.co/spaces/venkatasg/fizzbuzz-bench
1•_venkatasg•1h ago•1 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
19•SerCe•1h ago•13 comments

Octave GTM MCP Server

https://docs.octavehq.com/mcp/overview
1•connor11528•1h ago•0 comments

Show HN: Portview what's on your ports (diagnostic-first, single binary, Linux)

https://github.com/Mapika/portview
3•Mapika•1h ago•0 comments

Voyager CEO says space data center cooling problem still needs to be solved

https://www.cnbc.com/2026/02/05/amazon-amzn-q4-earnings-report-2025.html
1•belter•1h ago•0 comments

Boilerplate Tax – Ranking popular programming languages by density

https://boyter.org/posts/boilerplate-tax-ranking-popular-languages-by-density/
1•nnx•1h ago•0 comments

Zen: A Browser You Can Love

https://joeblu.com/blog/2026_02_zen-a-browser-you-can-love/
1•joeblubaugh•1h ago•0 comments

My GPT-5.3-Codex Review: Full Autonomy Has Arrived

https://shumer.dev/gpt53-codex-review
2•gfortaine•1h ago•0 comments

Show HN: FastLog: 1.4 GB/s text file analyzer with AVX2 SIMD

https://github.com/AGDNoob/FastLog
2•AGDNoob•1h ago•1 comments

God said it (song lyrics) [pdf]

https://www.lpmbc.org/UserFiles/Ministries/AVoices/Docs/Lyrics/God_Said_It.pdf
1•marysminefnuf•1h ago•0 comments
Open in hackernews

Show HN: X11 desktop widget that shows location of your network peers on a map

https://github.com/h2337/connmap
205•h2337•6mo ago

Comments

wslh•6mo ago
No basically secure:

char mapFilename[256]; strcat(strcpy(mapFilename, getenv("HOME")), RESOURCES); strcat(mapFilename, mapName);

h2337•6mo ago
What's insecure? Can you explain what's the vulnerability here and how and by whom can it be exploited?
floating-io•6mo ago
Assuming that code is actually present in your app, env vars can hold more than 255 characters. Easy buffer overflow to trigger. Use length-bounded copies and concats...

That's just off the top of my head; I've not written in C in a while.

h2337•6mo ago
Why would you want to trigger a buffer overflow in user application if you can already control HOME envvar?
floating-io•6mo ago
Yeah, that is not a helpful attitude to take when it comes to this sort of thing. If nothing else, a super-long home path can crash your app and leave your user scratching their head. In other words, this is a bug (as is the fact that paths are not necessarily limited to 255 characters in the first place; see the PATH_MAX constant, I think it is?).

As to what could be accomplished with an overflow? I don't know; I'm not in security, and I don't sit around thinking of possible uses for various bugs when it comes to compromising systems.

Perhaps the most important thing to realize, though, is that you're distributing software publicly. Your security situation may not be the same as your user's security situation. Assumptions should not be made.

Something to keep in mind.

h2337•6mo ago
Thanks for the discussion. Fix is already committed.
floating-io•6mo ago
No problem. =)
db48x•6mo ago
As long as you’re fixing that bug, you should do it right. If the return value from snprintf if more than 256 but less than a few GB then you should malloc a buffer big enough to hold the string and then call snprintf again with the new buffer. Only if that or malloc fails would you print an error. (It’s really a shame that the C standard library requires so many extra steps to do things correctly; this ought to be way easier.)
floating-io•6mo ago
Not sure offhand how portable it is, but asprintf() handles automatic buffer allocation, thus not requiring any extra steps afaik.

It does exit on MacOS and Linux, at the very least.

db48x•6mo ago
Those are so unportable that I’d completely forgotten about them :)

But my man pages say that they exist on BSD in addition to GNU, so that’s pretty good these days. I say go for it.

sedatk•6mo ago
Basically, any path longer than 256 characters for `mapFilename` would cause a buffer overrun.

An unprivileged app could run your app (say, with more privileges), with a very long `HOME` environment path, causing a buffer overflow, and potentially exploit it to use your app's privileges to do more stuff than it was supposed to.

Basically, you should never use strcpy and strcat and but use the secure alternatives like strcpy_s and strcat_s, even when you know the source buffer would never exceed the destination size.

h2337•6mo ago
> (say, with more privileges)

Isn't it a moot point if unprivileged app can already run anything with more privileges? In normal operation, connmap requires no special privileges.

sedatk•6mo ago
Sure, but since there's no enforced standard for how privileges are configured on a system, there's always the possibility that your app to be the only escape ticket.

You can dismiss that possibility of course. But, as a general habit, it's best to use secure alternatives instead of mulling over probabilities every other line.

As a positive side-effect, the change would make your app not crash on systems with long HOME env paths.:)

jfyi•6mo ago
I see you already addressed it but here let me give a scenario.

Say the program was installed and set so the user didn't have privs to modify the executable (so an attacker couldn't just change it to do what they want).

A buffer overflow could allow an attacker to gain control flow of the program and feed bogus data to the user allowing them to scrub their presence from the map.

Also, awesome project!

DonHopkins•6mo ago
Using strcat to a fixed size buffer is like using a gun to kill flies in a crowded flophouse while on crystal meth.
h2337•6mo ago
Thanks for noticing! Fix pushed.
josephcsible•6mo ago
While that's indeed a bug, for it to be a security vulnerability, wouldn't there also have to be a security boundary involved? Specifically, mapName is always either "w1000b.png" or "w1000.png", so the only way to trigger the buffer overflow would be through the HOME environment variable. But if an attacker can run commands as you with arbitrary environment variables, aren't you already pwned? What would anyone gain by running your program and exploiting it to do something, rather than just doing the thing directly? https://devblogs.microsoft.com/oldnewthing/20060508-22/?p=31...
im3w1l•6mo ago
While exploitation is unlikely I think such things are still best avoided because multiple such things can sometimes be chained together.
sedatk•6mo ago
> But if an attacker can run commands as you with arbitrary environment variables, aren't you already pwned?

Not unless they have another path for privilege escalation.

ben0x539•6mo ago
That's a really neat idea, damn.
rootbear•6mo ago
Forgive my ignorance, but I'm not sure what this is showing me. I'm running it on my home linux system, which is connected to the Internet via Verizon FIOS. The map shows three red dots, none of which are near me.
h2337•6mo ago
Those 3 dots are your peers, the other end of the TCP connection :)

So you basically have some apps running in the background (or foreground) that are making those connections.

rootbear•6mo ago
Okay, got it, thanks. I suppose it could also be the FIOS router itself making those connections, or any of the other systems on my local network.
h2337•6mo ago
No, for normal network configurations they wouldn't show. It's most likely your system connmap is running on making those connections.
esseph•6mo ago
You might be surprised how much traffic every device makes.
jdwithit•6mo ago
It's only showing connections directly initiated by your computer. Not anything "upstream" of you like the FIOS router. It would also show any connections TO your computer, but being behind NAT on a normal home network, that would likely be nothing unless you've intentionally punched holes.
positron26•6mo ago
Maybe they were expecting first hops like from traceroute. Maybe traceroute is an interesting way to continue developing.
afroturf•6mo ago
I'm colorblind and had to change the dots color. Might be a nice config option.
edonhametsu•6mo ago
There's a 'good first issue'-labeled issue for this from 2023: https://github.com/h2337/connmap/issues/14
GranPC•6mo ago
Pretty cool! Reminds me of the game Uplink.
apollo-zero•6mo ago
Uplink! I loved that game. I should find it again.
itomato•6mo ago
This seems like it belonged on freshmeat ca. Y2K.
djabatt•6mo ago
must have at least once
MarcelOlsz•6mo ago
What's that? Webarchive/google don't return much of anything.
28304283409234•6mo ago
http://freshmeat.net was a directory of open source software back in the 90's and noughts. It was one of the main ways to discover software.

But what is X11? Is that like Wayland? ;-)

pak9rabid•6mo ago
Yep, my "package repo", if you will, for pretty much everything I installed on Slackware back in the day.
teddyh•6mo ago
A modern equivalent is <https://freshcode.club/>
vidarh•6mo ago
I was about to mention Aminet[1] too as a joke of sorts (it's Amiga focused, but still updated, though it stores the actual archives more than focus on the "news"), but scanned the front page on freshcode first and one of first things that stood out was an Amiga program[2]... If anything makes Freshcode a successor to Freshmeat, the only thing missing is an Enlightenment theme being posted too.

[1] https://aminet.net/

[2] https://freshcode.club/projects/apccomm

vidarh•6mo ago
Way to make us feel old :)

Others have mentioned it was a directory, but it sent me off on a nostalgia trip, so here is an "obituary" of sorts, that is itself getting rather old:

https://jeffcovey.net/2014/06/19/freshmeat-net-1997-2014/

And here's the HN discussion from back then:

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

(including a couple of my own comments, which aren't all that intersting)

And the wikipedia entry:

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

None of these really convey the cultural importance of Freshmeat to the opensource community at the time, though. For a while, Slashdot + Freshmeat were among the two first sites almost everyone I knew and worked with would open in the morning.

itomato•6mo ago
Like product hunt but OSS.

Imagine if GitHub release authors publicized releases in a timeline view.

v.0.1 of this or v3.0 of that had the same exposure.

One site. Daily fix.

asveikau•6mo ago
The thing that the responses are not capturing is that the stuff on freshmeat was often kind of frivolous desktop widgets or themes. People were excited about Linux desktops and lots of people were authoring small stuff to customize it.

Network monitoring/visualization widgets that sit on your WindowMaker dock or similar was a common theme.

So that is sort of the reference being made here

ducktective•6mo ago
For this application, current best practice is using Electron stack, or better, cloning VSCode and relying on GeoLeoMaximusDYP v3.2 LLM for geo-location.
gen2brain•6mo ago
How can starting a browser be a best practice? This app is lightweight and does not even use a GUI toolkit. You would roughly use 20x more memory. How is that a best practice?
perching_aix•6mo ago
Using sarcasm. Sarcasm that you missed.
gen2brain•6mo ago
I stopped reading the rest. I just saw Electron is mentioned. Some people honestly think that is a good approach.
perching_aix•6mo ago
Well, it is extremely portable. Just also all the other things you mentioned.
fmbb•6mo ago
Both Windows and macOS have X servers. Heck don’t they both ship with them nowadays?
redeeman•6mo ago
not really that portable?
unixhero•6mo ago
No, not rest API, electron.
lxgr•6mo ago
Neat! This runs fully offline (i.e. without calls to a GeoIP database), right?
h2337•6mo ago
Correct! GeoIP database is local.
lxgr•6mo ago
Nice! Where is it from, and do you know if it incorporates geofeed [1] data for networks that publish it?

[1] https://ipregistry.co/blog/geofeeds

serbuvlad•6mo ago
From what I was able to tell looking at the code, yes.

The database is embedded in the program. Specifically, it is this file:

https://github.com/h2337/connmap/blob/master/connmap/resourc...

Presumably generated by the author with this Python script

https://github.com/h2337/connmap/blob/master/tools/get-ip-da...

lxgr•6mo ago
Ah, cool, this should incorporate location data at least as good as what the networks self-report! (I suspect that these databases, on top of ingesting all geofeed data, do something similar to Wi-Fi positioning, i.e. correlate the IP address of various GPS-enabled devices with their physical location to try and deduce undocumented/non-public allocation patterns.)
DonHopkins•6mo ago
Of course it works fully offline, since then you don't have any network peers to draw on the map.
lxgr•6mo ago
Localhost has to be somewhere too :)
freeone3000•6mo ago
make sure interNIC is your first hop! LogDeleter is not optional <3
hamburglar•6mo ago
This is some old school style bare bones C. popen with a big old pipe chain is pretty quick n dirty. I’d have gone digging around in proc for the active connections. Cool stuff though. I like that it’s so straightforward to read.
quotemstr•6mo ago
> This is some old school style bare bones C.

Which has now become some kind of meta-ironic fashion statement. It's 2025's going to the coffee shop with a typewriter.

enriquto•6mo ago
it's more like taking notes with pen and pencil, while other patrons of the coffee shop use an electron-based note-taking "app" on their macbooks that uploads each keypress to the cloud, helpfully adding a half-second lag
generalizations•6mo ago
Of course this was made by an i3wm user. Nicely done!
rxwxx•6mo ago
In the fonction IpRangeVector_resize() in ip.c, you have a bug, that's not how realloc are supposed to be used.
h2337•6mo ago
Thanks for reporting. Will look into it soon.
anthk•6mo ago
OpenBSD devs did the same with either XPlanet or Xearth, can't rememeber. Now they use a GeoJson format.

Then you can import it under geo/viking port:

     doas pkg_add viking
Open Viking and just load the geo.json file from

        /usr/local/share/markers/OpenBSD.geojson
raldi•6mo ago
What's a network peer?
atworkc•6mo ago
Servers / Computers your device is currently communicating with, e.g. github servers when you load the link (well probably a cdn edge one)
jdwithit•6mo ago
Yeah from an extremely quick read of the code, I agree with atworkc. It's showing any IP address you have an established network connection to.

  void refreshConnections() {
    ssOutput =
        popen("ss -atun4 | grep ESTAB | awk '{print $6}' | cut -f1 -d\":\"", "r");

    if (ssOutput == NULL) {
      printf("Failed to run ss command\n");
      exit(1);
    }
  }
edit: ssOutput is a global variable which is read elsewhere.
mhd•6mo ago
Someone should make a windowmaker dockapp out of this.
bit1993•6mo ago
Dam! Great tool. Very clean. Thank you.
kleiba•6mo ago
One step closer to those futuristic screen interfaces you see in Hollywood blockbusters!
Tom1380•6mo ago
I thought of doing something similar, it looks pretty cool. What about showing lines going through the various traceroute hops?
h2337•6mo ago
Might add that soon as configurable option, thanks for suggestion!
lloeki•6mo ago
LittleSnitch has such a map feature

https://help.obdev.at/littlesnitch6/lsm-map

Main difference would be that LS being actively handling connections the list is always accurate whereas this appears to poll current connections using `ss` so it may miss some if they happen to be entirely between two refresh beats.

flux3125•6mo ago
Another main difference is that LittleSnitch costs 59€ per license and is only for MacOS
Aldipower•6mo ago
Works also great with WindowMaker. I've added it to ~/GNUstep/Library/WindowMaker/autostart
wing-_-nuts•6mo ago
Using windowmaker in 2025 is certainly an ...interesting choice, though I admit the app probably looks like it fits right in with that aesthetic
Aldipower•6mo ago
There is even a beautiful Debian-based Window Maker distribution, called Window Maker Live. I am using this in a professional music studio as mixing workstation. https://wmlive.sourceforge.net/
AlecSchueler•6mo ago
Are you using any old school audio software in your setup? How about outboard gear?
heikkilevanto•6mo ago
Nice. My only gripe is that the map is not very easy to read, especially on the smaller sizes. There are too many coast lines and borders, so it can be hard to locate countries, especially in the Mediterranean. Would it be possible to draw land masses in solid (white?), and leave borders in dark (background color?). Other than that, works fine on Debian Linux and KDE. The map shows up on all desktops, which I like (but others might not)

Another idea. Would it be possible to make the dots fade out, a little like in https://www.lightningmaps.org, so I could see some of the older traffic points as well?

h2337•6mo ago
Thanks for feedback! Will make it much more configurable as soon as I have time.
globalnode•6mo ago
This doesnt pick up short lived connections or sneaky udp connections right?
waerhert•6mo ago
Very cool! I made something similar 12 years ago. https://github.com/waerhert/ikna/blob/master/screenshot.png
DyslexicAtheist•6mo ago
very cool. works like a charm also on Sway

in ~/.config/sway/config:

   for_window [class="connmap"] fullscreen enable
cat ~/.config/connmap/connmaprc

   location_x 20
   location_y 500
   map_width 1920
   black false
   update_interval 1
bonus: connect it to a right-click event either on the vpn or the network module in waybar

     "custom/wg":{
         "format": "wg {icon} {text}",
         "exec": "~/.config/waybar/modules/wg",
         "return-type": "json",
         "interval": 5,
         "format-icons": ["",""],
        "on-click-right": "~/bin/connmap"
     },
superkuh•6mo ago
connmap wouldn't run on my retrocomputer with ancient Xorg 1.7.6 so I vibe coded a janky perl gtk2 version and it works.

http://superkuh.com/connmap-perl-gtk2.pl.txt + http://tuvixdiedforoursins.org/w1000-old.png (baked black background map)

It looks pretty similar: http://tuvixdiedforoursins.org/connmap-perl-gtk2-screenshot.... vs http://tuvixdiedforoursins.org/connmap-original-screenshot.j...

superkuh•6mo ago
And gtk3 for those running newer distros that kneecap themselves by not having gtk2 distributables, http://superkuh.com/connmap-perl-gtk3.pl.txt
heikkilevanto•6mo ago
Impressive that the thing is less than 500 lines of pretty readable C