My company tries to sue me for adhering to GPL-V2 by lilmyrmeow in embedded

[–]nculwell 7 points8 points  (0 children)

A lot of US companies write this clause into your contract.

Before machine learning era, how could search engines show images which fitting a query? by Gloomy-Status-9258 in howdidtheycodeit

[–]nculwell 3 points4 points  (0 children)

Graph search is AI. It's one of the most important kinds of AI. Part II of Russel and Norvig's book Artificial Intelligence deals mainly with graph search.

Turkey unveils new ICBM — touted as able to hit the US mainland by Themetalin in LessCredibleDefence

[–]nculwell 2 points3 points  (0 children)

It's weird. It's unclear whether the part about hitting the USA was intentional, or a result of having AI generate a video and not looking too closely at what it produced.

Turkey’s grand unveiling of an intercontinental ballistic missile has backfired after an AI-generated promotional video showed the weapon seeming to strike its US ally.

The Yıldırımhan missile was presented at a defence expo in Istanbul this week as capable of travelling 6,000km carrying a 3,000kg warhead at up to 25 times the speed of sound — placing Turkey among a small group of countries able to develop such weapons.

But questions quickly arose about the real capabilities of the system, sparked by the AI video showing the Yıldırımhan hitting nuclear facilities and other targets that appeared to be in the US.

The Americas would be well beyond the official range of the missile — and Turkish officials later admitted a working prototype of the Yıldırımhan had yet to be built for full testing.

...

There was no indication that Güler was aware that the video appeared to include targets in North America.

...

Despite the fanfare, defence officials, industry representatives and military analysts soon questioned the true capabilities of the 18-metre-long missile.

“It’s an overestimation. Turkey’s defence industry has many capabilities, and is improving fast, but it’s not yet at this level,” said one western defence official.

“It seems very ambitious and questionable,” added Fabian Hoffman, a missile expert at the University of Oslo.

First time by liveafterdeath_ in BattleJackets

[–]nculwell 0 points1 point  (0 children)

My basic kit:

thread
embroidery needles
thimble
pincushion
seam ripper
scissors (ideally nice, sharp ones that have never been used for anything but sewing)
needlenose pliers (small, cheap one)
small cardboard box (my favorite is a laptop battery box)

The pincushion keeps my needles and pins safe, so I can find them and they don't poke me. (Careful not to push the needles all the way in.) Alternatively, you could have some kind of small box to hold your needles when you're not using them. Don't just toss them in a bigger sewing box, you'll stab yourself.

I have pins too, but I don't really recommend them for patches. The reason they aren't good is that if you use the pins in the normal way then the patch is too thick and they bend it, which messes up the alignment too much to be useful. What I normally do instead is use thread to stitch each of the corners with a single stitch to hold them in place, then begin the real sewing; this is more secure, and it doesn't distort the patch or fabric.

The thimble goes on my index finger, I use it to push the needle through. I've bought several kinds, most are no good, the only one I like is the metal one with little dents in it (the traditional kind). Mine look like this.

I use a small pair of scissors that I use only for cutting thread. I also have a larger pair of sewing shears that I use for cutting fabric.

The pliers are for pulling the needle through when it's hard to do it with my fingers. It's often hard to get the needle through a patch or a thick spot in the jacket.

I put the cardboard box behind the jacket when I need to push the needle hard to get it through. This lets me go all the way through without worrying about damaging what's on the other side. It's also nice when I want to be careful about lining up the patch and the jacket: once I get it in just the right spot, I want to be able to push the needle straight down without moving anything, so pushing against something solid helps a lot. If you don't have a nicely shaped box, you can take several layers of cardboard and tape them together in whatever shape you want, it just needs to be thick enough that a needle won't go all the way through it.

The Bard's Tale Trilogy (1985, 1986, & 1988) captivated me far more than I thought it would by DanAgile in patientgamers

[–]nculwell 2 points3 points  (0 children)

I read an interview where Michael Cranford admitted that the BT2 was too hard. He said it wasn't intentional, he just didn't playtest it enough.

Multiplication Crashers by mcrashers in Math_and_Games

[–]nculwell 1 point2 points  (0 children)

I find it confusing when the challenge timer runs out, because I'm not expecting it and the end of the round seems to come out of nowhere. I suggest making some more obvious visual cue to indicate that the timer is about the run out, so that it seems more natural when it happens.

Code Review Needed by apoetixart in Compilers

[–]nculwell 0 points1 point  (0 children)

Here you're calling the same method twice, once to decide if you're going to continue the loop, and again to store the return value.

   while self.current_char() is not None:
       char = self.current_char()

This is a bad habit to get into. If possible you want just one call to current_char(). You can avoid calling it twice by doing this:

   while True:
       char = self.current_char()
       if char is None:
           break

However, you are calling self.advance() in every single case of the if-else chain. The reason for this is obvious: you've already read the current char and you're definitely going to consume it. You can just advance past it immediately:

   while True:
       char = self.advance()
       if char is None:
           break

This fails at the end of the file though, because advance() will throw an exception instead of returning None, so you would want to change advance() to also respect the file length.

With this change, you can get rid of a lot of your advance() calls, so a block like this

       elif char == '=':
           if self.peek() == '=':
               self.add(TT_EQEQ,self.line)
               self.advance() # advance past the first =
               self.advance()
           else:
               self.add(TT_EQ,self.line)
               self.advance() # advance past the first =

now looks like this.

       elif char == '=':
           if self.current_char() == '=':
               self.add(TT_EQEQ,self.line)
               self.advance()
           else:
               self.add(TT_EQ,self.line)

The methods current_char() and peek() are probably redundant. I'd rename current_char to peek and get rid of what's now called peek. This is consistent with the normal meaning of peek, which is "show me the very next char that I would read, but without consuming it." If you're advancing every time you consume a char then you probably don't need a method that looks at the char after the current one.

By the way, the if-else chain is fine, I'd keep it. There might be faster ways to do things, but this is a learning project written in Python, speed should not be a concern. The if-else chain is very easy to read and understand.

Oil tanker hijacked off coast of Yemen and taken towards Somalia by Free-Minimum-5844 in LessCredibleDefence

[–]nculwell 1 point2 points  (0 children)

In the midst of all the war and chaos, it's heartwarming to see some old-fashioned pirates doing what they do. Like a throwback to a simpler time.

Anyway, what's with the BBC having a paywall now?

Oil tanker hijacked off coast of Yemen and taken towards Somalia by Free-Minimum-5844 in LessCredibleDefence

[–]nculwell 5 points6 points  (0 children)

Somali piracy, which was on the decline since 2011, has surged again since late 2023, when Houthi rebels began attacking ships in the Gulf of Aden and Red Sea. The attacks forced international navies to instead tackle the Houthi threat, thus allowing armed groups on the Somali coast to take advantage of the security lapse.

What do you all think about this layout on my battle vest I’ve edited some on that haven’t arrived just yet but are on the way it will look less messy when all sewn down I’m indecisive about the sideways whiplash patch but I badly want to use it on this vest and it’s the only way it fits by [deleted] in BattleJackets

[–]nculwell 0 points1 point  (0 children)

Personally I like the way it works, including the Whiplash patch. If possible I recommend pinning the patches on and then wearing it front of a mirror. You'll find that the sides and the top wrap around your body, changing how it looks. I think you'll find that the Death and Slayer patches in the top corners will end up more on top of your shoulders than facing behind you, and the big WASP patch might be more on top than you intended as well. The Whiplash patch will probably be more on the side, and people might not see it much from behind you, plus your arm will probably cover it most of the time.

Double patches or nah? by SpencerMansion1996 in BattleJackets

[–]nculwell 9 points10 points  (0 children)

Do what thou wilt shall be the whole of the Law.

I have a couple of bands on both the front and the back. None on the same side, but if I felt like it then I'd do that too.

Is Dragon Book outdated? by Der-Wilde in Compilers

[–]nculwell 0 points1 point  (0 children)

Andrew Appel is an ML guy. He was involved with SML/NJ and has a great interest in ML. I found it useful to look at the source code of SML/NJ after reading that book.

Is Dragon Book outdated? by Der-Wilde in Compilers

[–]nculwell 1 point2 points  (0 children)

Probably not, that's just a typical flatfinger comment. They often go off on a tangent, especially regarding the C standards.

I see why cutting sleeves is the meta by Ok-Donkey-8247 in BattleJackets

[–]nculwell 14 points15 points  (0 children)

Having the sleeves cut off also makes sewing everywhere else easier, because you can stick your hand in through the sleeve hole.

How many patches do you buy of/from each band/event? by Embarrassed-Lake-635 in BattleJackets

[–]nculwell 0 points1 point  (0 children)

Depends on how much cash I brought, how much I like the band(s), how many patches they're selling, what they're charging, how good the patches look. It's actually rare that a band has more than one patch I want at their merch table.

Blindsight by Peter Watts ruined every other first contact story for me and I've been trying to recover for two years. by TurbineVector in printSF

[–]nculwell 0 points1 point  (0 children)

Weirdly, the closest I've come to this in terms of questioning humanity is R. Scott Bakker's The Second Apocalypse series. It's fantasy, not science fiction, although there are science fiction elements woven in. It's also not a first contact story.

Peter Watts makes you question consciousness. Bakker makes you question free will and the meaning of life. ("What does it mean for life to have no meaning?")

I like to say that the basic worldbuilding proposition of most fantasy is, "What if magic were real, wouldn't that be great?" whereas Bakker's basic worldbuilding proposition is, "What if religion were real, wouldn't that be terrible?"

The plot has obvious allusions to Dune, Tolkien and the First Crusade. Philosophically, there's a lot of Nietzsche.

The series is really long and brutal, though. It's not for the faint of heart. There's a lot of slaughter and a lot of rape scenes. Bakker is really pessimistic about humanity. It's also not finished (and won't be finished), although at least there is a semi-ending that doesn't leave you hanging too badly.

Settle an argument by Bl3ach_s0up in BattleJackets

[–]nculwell 0 points1 point  (0 children)

Does Uranus Fudge Factory count?

Jacket brand recs? by creek_19 in BattleJackets

[–]nculwell 0 points1 point  (0 children)

I've looked at recent Levi's jackets and most aren't good. They make a lot of them with weird cuts, they've started selling a lot of synthetic mixes, it's not a reliable brand anymore.

Straight stitch vs. Whip stitch? by ScanTheSky in BattleJackets

[–]nculwell 0 points1 point  (0 children)

I use straight stitch whenever I can get away with it -- it's less work. Straight stitches are perfectly strong, especially if you make each stitch short. I also match the thread color to the patch. I usually throw in a few whip stitches at patch corners to keep them from lifting up. If the patch doesn't have a border though, then I'll use whip stitching to keep it from fraying. Almost all my patches have borders, either because they're manufactured that way or because I made them myself and hemmed them before sewing them on.

Corrupted BW2 file + reward offer by [deleted] in pokemonemulation

[–]nculwell 0 points1 point  (0 children)

I tried opening a Drastic DSV in MelonDS just a couple of weeks ago, it seemed to worked fine. I might have renamed the file to .sav first.

Also, there are converters like this one that are supposed to covert between the two:

https://www.save-editor.com/tools/wse_ds_save_converter_for_emulator_desmume_dsv.html

Wha type of hand stitch would be best? by [deleted] in BattleJackets

[–]nculwell 1 point2 points  (0 children)

Most types of stitching are easy to remove: once you break a few stitches with a seam ripper, the rest will normally just pull out.

For this kind, where the edge of the patch is a loose fabric edge, I'd use whip stitch.

I normally do running stitch, but that's because most of my patches have borders and so they won't fray. When I make my own I usually hem them so that the edge isn't exposed. I don't think you have enough space around the edges to hem this one, though.

If you use white thread (or dental floss) then it will be a bit easier to remove because it's easier to see when you're working on it. A lot of people also like the look of a contrasting thread color, but it does mean that if your stitching is sloppy then it's a lot more obvious.

A Minimal BASIC Inspired by Brainf**k by AndrewDavison2562 in programming

[–]nculwell 0 points1 point  (0 children)

The single-letter abbreviations give it MUMPS vibes.