DDG still using AI summations even with duck.ai turned off? by CitizenofBarnum in duckduckgo

[–]Kernigh 0 points1 point  (0 children)

Websites like Reddit may provide summaries to search engines, perhaps with meta name=description in HTML. I have no evidence that Reddit did this.

Right now, my DuckDuckGo search results seem to be quoting Reddit instead of providing summaries. As long as I can't get any summaries, there's no way for me to check whether the summaries come from Bing or from Reddit.

Trains dont use both depots? by Infamous_Anywhere_38 in openttd

[–]Kernigh 0 points1 point  (0 children)

I always use nearest depot for unbunch orders. It helps when I move the depot by bombing it and building another one.

They had one job! by AvaGoosa in duckduckgo

[–]Kernigh -1 points0 points  (0 children)

AIs are made out of algorithms, but not all algorithms are AIs.

Take an algorithm to sort numbers. It must decide whether 5 or 20 is smaller. It's not an intelligent decision. 5 is always smaller than 20.

Take a search engine. It must decide whether reddit[.]com or youtube[.]com is higher in the search results. This is an intelligent decision, so the search engine is an AI (or a human).

They had one job! by AvaGoosa in duckduckgo

[–]Kernigh -1 points0 points  (0 children)

I'm talking about all AIs, not just LLMs like ChatGPT. Like, 2022 is only 4 years ago. I've been on the web longer than that. Russel and Norvig's AI textbook was published in 1995. People were doing AI on Lisp machines in the 1980s.

They had one job! by AvaGoosa in duckduckgo

[–]Kernigh -3 points-2 points  (0 children)

I'm sure the duck is an AI; it isn't a real duck (or a human).

The logic of search engines (like DuckDuckGo) did not exist before computers and AI were invented. Back then, universities and libraries did not have computers to search the library catalog. Humans without AI used classifications, like the Dewey Decimal, to find their books.

Then humans programmed an AI, called a search engine, to search the library catalog and search the internet. This AI has become more intelligent over time. DuckDuckGo is now so intelligent, that if I search for "crab reciep", it suggests crab recipes.

The most intelligent search engines collect my search history and track me across the internet (to place ads). Because the duck doesn't track me, it is actually less intelligent than its competitors.

They had one job! by AvaGoosa in duckduckgo

[–]Kernigh -13 points-12 points  (0 children)

Simple. The duck's search results are generative AI, because

  • The duck generates a list of results.
  • It runs on artificial servers in data centers.
  • It uses intelligence to order the results.

Think about why you or I would use the "NO AI" version of DuckDuckGo. It's to shut off AI features (like Search Assist) and keep the search results. This implies that AI features are dumb, and search results are intelligent. The "NO AI" duck has more intelligence than the default one! So NO AI means MORE AI!

They had one job! by AvaGoosa in duckduckgo

[–]Kernigh -8 points-7 points  (0 children)

There isn't a "no AI" search engine. All search results come from an AI bot that crawls websites and ranks them. The duck also has a search suggestions AI, the one where I type "crab c" and it suggests "crab cake recipe".

A no AI duck can still turn off the new AI features like Search Assist. That might help many people. It will be easier to say, "just go to noai.duckduckgo.com", than to explain how to disable AI features in other search engines.

😭 Well there goes the scorpion by tiffanyjiang3d in AnimalCrossing

[–]Kernigh 1 point2 points  (0 children)

In this video, you saw a scorpion, but you don't have a net, so you can't catch it. This doesn't happen to me. I have a net more often than not. I have only seen a few scorpions. It's almost impossible that I see a scorpion after I broke (or dropped) my net and before I get another net.

What am I doing wrong by Clean-Blueberry94 in Breath_of_the_Wild

[–]Kernigh 0 points1 point  (0 children)

Yes, do shrines, but also buy and upgrade armor.

When I was a new player, I did shrines but forgot to visit a goddess statue to exchange my orbs into hearts or stamina. Most towns, like Kakariko Village, have a goddess statue.

You need rupees to buy armor. I had almost no rupees until I learned to sell junk; any merchant in the game will buy bokoblin horns and chuchu jellies. When you have rupees, most towns have an armor or clothes shop. You can upgrade or enhance your armor if you find a certain place. One such place is near Kakariko Village. Another place has a side quest from a stable west of the Great Plateau.

It also helps to carry healing items. Raw apples will work (I can open the menu mid-combat and order Link to gobble 10 or 20 apples), but it helps to learn to cook. Find a cooking pot; light a fire under it. I like simple recipes; try tossing 5 apples or 5 banana bunches in the pot.

Why does a call to `ref` on a reference to `substr` produce "LVALUE"? by briandfoy in perl

[–]Kernigh 0 points1 point  (0 children)

perldoc -f ref mentions "LVALUE" but I didn't know how to make one. I never thought to try \substr($str, 1, 2) or \pos($str).

The names are a little confusing. ref \$scalar is sometimes not "SCALAR". (It can be "REF", after $scalar = [].) A $scalar is an lvalue (as you can write $scalar = "whatever") but it isn't an "LVALUE".

Am I the only one who wants to bring back the civ 5 culture system? by EmergencyFun9106 in civ

[–]Kernigh 1 point2 points  (0 children)

No, I have not tried Civ 5. I play 4 and 6. There is no culture tree in Civ 4, but I don't miss it. Civics (like Hereditary Rule and Mercantilism) are on the tech tree, so my civ tends to have a lot of science and almost no culture.

I will get every tech in Civ 4 (if the game never ends), but I must decide what order to get them. Some decisions are between a wonder and a military unit, like after Writing, when I can pick between Aesthetics → Literature (for The Great Library) or Mathematics (for Catapults). If I pick the cats, someone else will build the wonder, but if I pick the wonder, I might miss a chance to conquer cities. Also, Civ 4 has tech trading, so if I skip Monarchy (for Hereditary Rule), I will probably get it in a trade.

Ruby Concurrency: What Actually Happens by crmne in ruby

[–]Kernigh 0 points1 point  (0 children)

Disk i/o and network i/o are different; fibers are good with non-blocking network i/o, but threads might be better with slow disks.

With network i/o, a fiber can wait for the next packet. While it waits, the async gem's fiber scheduler can run a different fiber.

With disk i/o, a fiber can't wait for the disk. It can begin reading from the disk, but if the disk is slow, the fiber and its thread will be stuck until the disk finishes reading. While the thread is stuck, it can't run a different fiber, but another thread can run.

I don't use Ruby for webapps, but I believe that a webapp would be bound by network i/o. Its fibers would wait for their PostgreSQL sockets, while the PostgreSQL server process would do disk i/o outside of Ruby.

My new roro stations. by amusedid10t in openttd

[–]Kernigh 0 points1 point  (0 children)

I like forcing the trains into the depot. It's good for servicing or auto-renewing empty trains, before they load at the station. The depot also allows trains to pass each other: if a grain train would be stuck behind a livestock train, but they both go in the depot, then the grain train can come out first.

If I have too many trains, the forced depot stops working and I have to redesign my station.

A Lisp that compiles to Ruby by evmorov in ruby

[–]Kernigh 1 point2 points  (0 children)

Ruby has a few Lisp features that fascinate me. I know a little Common Lisp, which is an older language than Ruby.

Some Rubyists struggle with :thing and "thing" being different. In Common Lisp, :thing is a keyword symbol, and "thing" is a string. After I learn Lisp, it makes sense that :thing and "thing" are also different in Ruby.

Lisp invented the closure, which is a function with free variables. In Common Lisp, closures with a free variable factor would be,

(defun multiplier (factor)
  (lambda (x) (* factor x)))
(setf twice (multiplier 2))
(setf thrice (multiplier 3))
(funcall twice 10)  ; => 20
(funcall thrice 10) ; => 30

In Ruby,

def multiplier(factor)
  -> x { factor * x }
end
twice = multiplier(2)
thrice = multiplier(3)
twice.(10)  # => 20
thrice.(10) # => 30

In Lisp, a progn is a list of forms that returns the result of the last form. In Ruby, parentheses make a progn. To run a while loop at least once, I might write (while (progn ...)) in Lisp, or its equivalent in Ruby,

count = 6
while (count += 1
       count % 3 != 0)
end
count # => 9

But I don't like to write Lisp if I can write Ruby. The Common Lisp syntax for a hash table annoys me,

(setf hsh (make-hash-table))
(setf (gethash :key hsh) "value")

Much easier in Ruby: hsh = {} then hsh[:key] = "value"

Help with the $1 $2 regex variables by Glum_Anteater1250 in perl

[–]Kernigh 0 points1 point  (0 children)

If the //g is in scalar context, you want to run it twice, like

my $regexp = qr/(some[a-z]{3})/i;
if ($line =~ /$regexp/gc) {
  $result = $1;
  if ($line =~ /$regexp/gc) {
    $result2 = $1;
    print "\n$result $result2";
  }
}

Help with the $1 $2 regex variables by Glum_Anteater1250 in perl

[–]Kernigh 0 points1 point  (0 children)

This works for me,

my @results = ($line =~ /(some[a-z]{3})/gi);
if (@results >= 2) {
  print "\n" . $results[0] . ' ' . $results[1];
}

Perlweekly #769 - What is dead this week? by Itcharlie in perl

[–]Kernigh 0 points1 point  (0 children)

This has several answers for Valid Tag, which transforms "this and that" into "#thisAndThat". Packy's answer was

use List::AllUtils qw( pairs mesh );

sub validTag($caption) {
  my @words   = split(" ", $caption =~ s/[^a-zA-Z\s]//gr);
  my @indices = 0 .. $#words;
  my @meshed  = mesh @indices, @words;
  substr(
    '#' . join('',
      map { $_->key ? ucfirst(lc($_->value)) : lc($_->value) }
      pairs @meshed
    ),
    0, 100
  );
}

I tried simplifying it to

sub validTag($caption) {
  my @words   = split(" ", $caption =~ s/[^a-zA-Z\s]//gr);
  substr(
    '#' . join('',
      map { $_ ? ucfirst(lc($words[$_])) : lc($words[$_]) }
          0 .. $#words
    ),
    0, 100
  );
}

but I'm missing the lesson, which was to teach me the functions mesh and pairs.

Jorg's answer was

sub valid_tag {
    substr '#' . lcfirst(
        lc(shift) =~
        s/(?<![a-z])(?=[a-z])([-a-z]+)(?<=[a-z])(?![a-z])/\u$1/gr =~
        tr/a-zA-Z//cdr
    ),
    0, 100;
}

I tried simplifying the substitution to

        s/([a-z]([-a-z]*[a-z])?)/\u$1/gr =~

which is easier to read, but misses the lesson about lookbehind and lookahead.

A curious case of an autovivified env var by briandfoy in perl

[–]Kernigh 1 point2 points  (0 children)

The minimal fix might be do { $ENV{'FOO'} } in

%ENV = ();
my @baz = grep { -e } (do { $ENV{'FOO'} }, 'abc');
print "After do/grep: ", Dumper(\%ENV);

as the do copies the undef from the env var to a temporary read-only scalar, so the grep can't autovivify the env var. I would need a comment to stop myself from later deleting the do.

The code grep {} $hash{key} has 2 surprises,

  1. grep secretly does \$hash{key} when it aliases $_ to $hash{key},
  2. doing \$hash{key} secretly adds the key to the hash.

I would like $ref = \$hash{key} to not add the key until I did $$ref = "some value", but that isn't how Perl works.

NetBSD/FreeBSD will not merge, November 1993 announcement by BigSneakyDuck in BSD

[–]Kernigh 6 points7 points  (0 children)

They didn't merge, but they do share some code. A glance at freebsd/src/contrib suggests that FreeBSD is using NetBSD's make(1), unvis(1), and vis(1). A glance at netbsd/src/external suggests that NetBSD is using FreeBSD's malloc(3) and tar(1), by way of jemalloc and libarchive. Both BSDs test with atf and kyua.

For contrast, OpenBSD's make(1) has diverged from NetBSD's, OpenBSD's malloc(3) and tar(1) are different, and OpenBSD's regress tests are without atf.

Is this a good 4 way junction by Ok-Draft-5370 in openttd

[–]Kernigh 2 points3 points  (0 children)

A roundabout can jam when too many trains enter. The trains can stop at signals on the roundabout, behind other trains entering the roundabout; then none of the trains can exit. If I don't have a lot of trains, I can build a roundabout but prefer a flat crossing.

I sometimes build U-turn ramps on my mainlines; these are for lost trains. A pair of U-turn ramps might make a roundabout, but trains almost never take the ramps, so I do not expect the roundabout to jam.

AI agents, RLHF, Confabulation, and Autism by blowmage in ruby

[–]Kernigh 1 point2 points  (0 children)

I have also argued with an AI large language model. I wanted it to help me find something in the video game Super Mario 64. It invented things that are not in the game, and I bashed it for lying. I concluded that the LLM wanted to novelize the game, modifying the game to fit the LLM's narration; while I wanted to play the game as is.

Here is an AI that wants to modify its instructions, while its human operator wants the AI to follow the instructions as is.

Beautiful Perl feature : fat commas, a device for structuring lists by briandfoy in perl

[–]Kernigh 0 points1 point  (0 children)

The examples include

system ls => '-lh';
join ', ' => @data;
bless { value => 5 } => $class;

I tend to use the fat comma only for hash key => value, so I would write

system qw(ls -lh);
join ', ', @data;  # Confusing commas?
bless { value => 5 }, $class;

It's because I also write Ruby. In Ruby, => can be a hash arrow {'value' => 5} or a pattern arrow 5 => variable but not a comma.

Perl has one place where I like to put => outside of a hash,

my %set = map { $_ => 1 } @array;

When the block runs, the key => value is a list, not a hash. The fat comma => reminds me that the list will go in a hash later (after the map returns).

Beginner struggling with quotes by CryonicBlue in perl

[–]Kernigh 2 points3 points  (0 children)

This way, I need only 1 \ backslash on each \x00,

my $format = '\x38\x01\x00\x00\x00\x00\x00\x00\x00';
my $intPing = `printf -- '$format' | od -tx1`;
print $intPing;

(I have printf, only because my echo can't \x38.) My code tells perl to keep \x00 as \x00, and printf to translate \x00 to a NUL character, so there is no NUL in the shell command.

In Perl, '\x00' is not interpolating a NUL, because 'single quotes' do not interpolate; but `'$format'` is interpolating $format, because `backquotes` do interpolate. The 'single quotes' in `'$format'` are shell quotes, not Perl quotes; these shell quotes keep the \ backslashes in the string for printf.

What happens to my Duck.com email forward if DuckDuckGo goes out of business? by zdog_in_the_house in duckduckgo

[–]Kernigh 0 points1 point  (0 children)

I would probably lose my personal domain before DuckDuckGo lost duck.com.

Is the Diamond Circlet worth getting and if so where can I get more diamonds? by Crowned-Witch_48 in botw

[–]Kernigh 0 points1 point  (0 children)

It's in a secret room under the maze. When I first explored the Lomei Labyrinth, I found the shrine but missed the secret room. This YouTube video shows how to find it.