Hacker Newsnew | past | comments | ask | show | jobs | submit | strenholme's commentslogin

Good riddance to bad rubbish (TLDR: Questions are now almost never being asked on Stack overflow).

The most annoying example I can think of (but can’t link to, alas) is when I Googled for an answer to a technical question, and got an annoying Stack Overflow answer which didn’t answer the question, telling the person to just Google the answer.


“There is only one 10.0.0.0/8”

Also:

- There are 16 172.{16-31}.0.0/16s (I used 172.23 because Docker uses one of these)

- There are 256 192.168.{0-255}.0/8s

And that’s just what RFC1918 gives us. There are other private subnets defined in newer RFCs.

I like IPv6 but it caused issues with browsers accepting my Letsencrypt certs on my website, so my website is now IPv4 only.

“Announcing that address block using BGP gives you a permanent block of routable addresses that follows you from ISP to ISP.”

Enough people have done this that BGP networking has become a real mess at the ISP level. Can BGP really handle every person in the world doing this?


Class B or the 12 block is 172.16.0.0/12. So: 10/8, 172.16/12, 192.168/16.


Yes, I know that there are other private subnets in IPv4. My comparison was specifically between IPv6 ULAs and 10.0.0.0/8 specifically because of the size. You won’t have to renumber your networks when you grow in size because 2⁷² addresses is enough for just about any organization.

> Can BGP really handle every person in the world doing this?

Eh, probably not. I did say that it wasn’t for everyone. You have to fill out a form, and then they announce to the world that you did it. And if you configure your BGP announcements wrong you’ll get laughed at by everyone who watches those things. Most people can’t handle it.

On the other hand, the VP of Network Operations at the ISP I used once promised that they’ll honor BGP announcements even from residential customers. I guess once it’s automated that it doesn’t cost them anything extra. Could be a fun hobby.

And if enough people do it then we can simply improve BGP. Anything we invent we can improve, right?


As someone who is on the dating scene after my wife died of cancer some thoughts:

1) There are a lot more men on the dating apps than women.

2) Using just pictures to judge men doesn’t really work for women. See https://archive.ph/20251006053755/https://medium.com/the-kno... for discussion.

My personal experience, based on what I’m going through and what friends have to say:

3) 17 years ago, it was possible to meet and know really attractive women on the apps.

4) These days, the really attractive women no longer use apps.

5) The apps are optimized for engagement, not giving people successful romance.

Right now, the woman I’m currently dating is someone I met at church, not on the apps. The men I know who have success with women prefer the women they meet outside of the apps.

As a shy geek without too many social connections, the apps (websites, actually) were a very positive game changer 17 years ago. These days, they are more a liability than asset when it comes to dating.


>I can't quickly find out the source

Took me too long, but here’s one:

https://thefreaky.net/dr-beatriz-villarroel-and-the-mystery-...

From that source:

“Old photographic plates are notoriously temperamental. Dust specks, cosmic rays, emulsion scratches, and scanning artefacts can all mimic stars. Villarroel’s team applied careful filters and cross-checks, but some scientists argue the anomalies could still be defects rather than cosmic revelations.”

It’s not a real debunking — Rational Wiki (now down) was good at debunking things like this which weren’t notable enough to make the Wikipedia — but it’s what I’m able to find about the matter.

I’m of course still skeptical — extraordinary claims require extraordinary evidence — but I think a good debunking needs to be posted online, with footnotes and references.


Finally found the post I was looking for:

https://medium.com/@izabelamelamed/not-seeing-the-star-cloud...

In my opinion it's a pretty damning conclusion. I would love to see some explanation from the ufology crowd :)


Thank you. Also mirrored at: https://archive.today/20250825091916/https://medium.com/@iza...

To summarize:

• All of these anomalous points of light only appear on one particular film emulsion, 103a-E (sensitive to red light)

• Said points of light do not appear with other emulsions used at the same time (e.g. 103a-F or 103a-O)

• Each plate made with 103x-E emulsion has a lot of these points of “light” all over them, which indicates there was an issue with the emulsion.

Some other links:

https://www.ufofeed.com/141549/some-serious-flaws-in-villaro...

https://www.metabunk.org/threads/transients-in-the-palomar-o...


Can you rule out or confirm the emulsion issue just from a print? Would you not need access to the original negative?


That's not the post I'm trying to find, unfortunately. That one was on substack I think, but I'm not sure by now.

As for good debunking - come on, it's supposedly thousands of crafts, supposedly in the same orbit (because any other orbit except for GEO would cause them to streak on the long exposure photo), in a random formation all across the sky, supposedly synchronously disappeared all at once, time synced to the photoplate change on a random Earth observatory. Pfff, just typing this out feels like a bad joke. Good proofs or even bad proofs need to be provided first by the ufology community, not vice versa.


There are patches for this so the above can be expressed with something like this:

  [ (x) | x ]
http://lua-users.org/files/wiki_insecure/power_patches/5.4/l...

And for Lua 5.1:

http://lua-users.org/files/wiki_insecure/power_patches/5.1/l...

(I personally don’t use patches like this because “Lua 5.1” is something pretty standardized with a bunch of different implementations; e.g. I wrote my Lua book with a C# developer who was using the moonsharp Lua implementation)


Yes, he did:

https://web.archive.org/web/20191024193930/https://twitter.c...

“Lua in 1995 was very different, no coros e.g., and no one would be happy if it flash-froze and then slow-forked on a different path from Lua's. See https://news.ycombinator.com/item?id=1905155 and yes, wasm is the right long-term plan. In 1995 it was supposed to be Java, but that didn't pan out!”


There’s also a Javascript implementation of Lua which allows one to run Lua in a browser:

https://github.com/fengari-lua/fengari-web

I don’t know if this can access the DOM in Lua, but considering that Fengari is in Javascript, adding a _DOM global variable should not be too hard (if it hasn’t already been done).


Fengari lets you access the DOM. Its pretty cool.


No need for _DOM.

    local js = require "js"
    local window = js.global
    local document = window.document

    window:addEventListener("load", function()
        local el = document:getElementById("main")
        el:addEventListener("click", function(evt) js.console:log(evt.target) end
        document.body:appendChild(el)
    end


Here’s my bit of public domain code for iterating through tables in Lua so that the elements are sorted. This routine works like the pairs() function included with Lua:

  -- Like pairs() but sorted
  function sPairs(inTable, sFunc)
    if not sFunc then
      sFunc = function(a, b)
        local ta = type(a)
        local tb = type(b)
        if(ta == tb)
          then return a < b 
        end
        return ta < tb
      end
    end
    local keyList = {}
    local index = 1
    for k,_ in pairs(inTable) do
      table.insert(keyList,k)
    end
    table.sort(keyList, sFunc)
    return function()
      key = keyList[index]
      index = index + 1
      return key, inTable[key]
    end
  end
Example usage of the above function:

  a={z=1,y=2,c=3,w=4}
  for k,v in sPairs(a) do
    print(k,v)
  end
With a sort function:

  a={z=1,y=2,c=3,w=4}
  function revS(a,b)
    return a>b
  end
  for k,v in sPairs(a,revS) do
    print(k,v)
  end
(Yes, this is a lot easier to do in Perl or Python, since those languages unlike Lua have built in list iterators, but it’s possible to do in Lua too)


If you did not return a closure, you could set the metatables __pairs to use your function's. Sadly, you could not do this without keeping some sort of cache, which would be a terrible waste of memory, but then again you're already creating an iterator that iterates completely, to me, this beats the use of an iterator (to not iterate over everything and break on a single pass)


As it turns out, it’s possible with Lua going back to 5.1 to not allow undeclared global variables:

https://www.lua.org/pil/14.2.html

That code looks like this in Lua 5.1:

  function set(name, val)
    rawset(_G, name, val or false)
  end
  function exists(name)
    if rawget(_G, name) then return true end
    return false
  end
  throwError = {__newindex = function(self,name) error("Unknown global " .. name) end,
                __index = function(self,name) error("Unknown global " .. name) end
  }
  setmetatable(_G,throwError)
Then, to use

  set("a") -- set"a" also works
  a = 1


Naturally, the main catch is that this only detects the violation at run-time. It also won't stop you from accidentally overwriting a global variable that already exists.


> It also won't stop you from accidentally overwriting a global variable that already exists.

That's also solvable using metatables.


Do the declarations in 5.5 prevent overwriting? That sounds tricky to define and implement.


Shameless plug time: I have written a public domain book which looks at using Lua (Lua 5.1 but the code works in newer versions as well as Lua 5.1/Luau/LuaJIT) as a text parsing engine. The book assumes familiarity with other common *NIX scripting languages (such as AWK, Perl, or Python) and goes over in detail the pain points for people coming from a *NIX scripting background:

https://maradns.samiam.org/lunacy/SamDiscussesLunacy.pdf

Source files (.odt file, fonts used by book):

https://github.com/samboy/lunacy/tree/master/doc

Hope this helps!


Thanks for recommendation and writing the book! I'm reading the introduction, it doesn't answer why you chose to fork lua and create lunacy. What were you trying to solve with lunacy that lua couldn't do?

The TOC looks great, I will read this soon. Need to finish "Debugging CSS" first (another good book IMO).


The main reason I made Lunacy was to have a standard compile of Lua 5.1, since it’s possible to make a Lua 5.1 compile with, say 32-bit floats or which only supports integers but not floats.

Lunacy also has a few built in libraries which are not included with Lua 5.1, such as binary bitwise operations (and/or/xor). It also fixes some security issues with Lua 5.1 (better random number generator, hash compression algorithm which is protected from hash flooding attacks).

In addition, I have made a tiny Windows32 binary of Lunacy.

Don’t worry about the Lunacy changes; all of the examples in the book work with bog standard Lua 5.1 with a bit32 library (bit32 is common enough most OSes with a Lua 5.1 package also have a bit32 package for Lua 5.1).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: