v

An Evolutionary 'Big Bang' Explains Why Snakes Come in So Many Strange Varieties

Snakes saw a burst of adaptation about 128 million years ago that led to them exploding in diversity and evolving up to three times faster than lizards




v

Tuesday 5th November 2024

8002/20943Thanks to Peter Jones (not that one) and others who sent me this clip from a TV quiz.On the one hand kudos to me for getting this self-produced chat show to the point where it is deemed worthy of a general knowledge question, but on the other the complete look of bafflement on the faces of both women does suggest there is some way to go. Even with my first name as a given. And even, as I suspect, if the theme of the round might well have been fish.




v

Wednesday 6th November 2024

8003/20944I came downstairs for breakfast having forgotten there was an election on. As I made my coffee I remembered and thought, I wonder if they've got any projections yet. I wasn't overly concerned. Some were saying it was tight, but the posh bloke off that politics podcast and a few others had said Kamala was going to win easily and Elon Musk seemed to be the only one saying there would be a landslide the other way and he seemed to have ulterior motives.




v

Thursday 7th November 2024

8004/20945Dropped the kids off at school then went up to the Lister Hospital to have my bloods done ahead of next week's annual catch-up with my oncologist. I had my full body scan done a couple of weeks ago and I very much appreciate this regular check up to make sure nothing nasty has returned or if my body is concocting a new way to kill me.




v

Friday 8th November 2024

8005/20946A day that will go down in history as the Great Fire of Hitchin. Almost the whole town was burned down overnight and it was only the intervention of the fire brigade that kept the flames at bay in the industrial estate where the conflagration had started.  So only maybe one building was affected, but it's horrible to think of what might have happened if no one had called 999. Apparently the industrial estate has about four fires a year, so they are especially lucky that the fire fighters show up.




v

Saturday 9th November 2024

8006/20947Another 9/11 passes by with barely anyone recognising it at all. It seems to be only me and Harriet Harman who remember that fateful day at all (thanks to @BookHonest for the clip). I guess the world moves on, but I will remember them. The rest of you should be ashamed.I was hoping to get to Park Run this morning, but Catie took the early shift with the kids (I am usually the one who gets up to do this, as I generally wake up before the children) and I slept in til after 9am. I don't remember the last time this happened.




v

Sunday 10th November 2024

8007/20948Scientists have ascertained that chimpanzees will never accidentally type the complete works of Shakespeare - there's simply not enough time left in history for the population of chimpanzees on earth to type even a simple sentence. Thank goodness that's been sorted out.Also even if you put chimps in a room with a typewriter, the probably wouldn't attempt to use it. And if they did it would be hard to force them to do nothing else but type for more than a few seconds. There's all kinds of reasons why chimps won't ever do this.




v

Monday 11th November 2024

8008/209498008th entry. BOOB!I am 57. Imagine what my life will be like if I get to 69. What a year that's going to be. 
 
When I was in Cheddar last month I informed by 88 year old dad about what I was going to talk about in his eulogy, which might be considered tasteless and that would be an accurate assessment. To be fair the old bastard hasn't shown any signs of snuffing it yet and I think there's a good chance he will outlive me, so the joke will be on me, as he has loads of embarrassing stories about me.I




v

Easy Scalloped Potatoes (Vegan Hash Browns Casserole)

These easy scalloped potatoes combine the creaminess of the classic side dish with the ease of frozen hash browns. You don’t even have to thaw them out! I thought I was finished writing about scalloped potatoes. I posted my first scalloped potatoes recipe in my second month of blogging, way back in 2006. Then ten...

Read More

The post Easy Scalloped Potatoes (Vegan Hash Browns Casserole) appeared first on FatFree Vegan Kitchen.




v

Vegan Yellow Squash and Corn Casserole

Golden slices of summer squash and kernels of corn are baked in a creamy sauce and topped with bread crumbs in this Southern-style vegan squash casserole. It’s the perfect summer side dish. Hi, my name is Susan, and I’m a vegan. It’s been so long since I updated this blog that I only half-humorously feel...

Read More

The post Vegan Yellow Squash and Corn Casserole appeared first on FatFree Vegan Kitchen.




v

Vegan Lemon Drizzle Cake

This small vegan lemon drizzle cake packs a big flavor. Optional pomegranate seeds add a tart crunch as well as a festive appearance. It can be soy-free or nut-free depending on the type of milk or yogurt you use. It’s been a while, almost 2 1/2 years, since I’ve updated this blog. I’ve been working...

Read More

The post Vegan Lemon Drizzle Cake appeared first on FatFree Vegan Kitchen.




v

Easy Vegan Lasagna Soup

Enjoy the flavors of lasagne without all the layering and prep work. This easy, plant-based lasagna soup combines noodles, tomatoes, mushrooms, white beans, and zucchini, so it’s a complete one-pot meal. Make it in about an hour!  When I started noticing lasagna soup recipes a couple of years ago, I thought, “Hmm, that’s interesting.” But...

Read More

The post Easy Vegan Lasagna Soup appeared first on FatFree Vegan Kitchen.





















v

Christmas mystery solved

As I layered up for the snow today, I figured out why I had these plain Jane earrings in my collection. They’re the companions for this Karen McCorckle beautifully caned angel pin that I love. Oh, that goes back a couple of interesting decades! Karen told us that she conditioned clay when she went to […] Read more




v

Wavy wandering hearts from Christi Friesen

I’ve almost forgotten how to post! But really, who can miss Valentine’s Day? Christi Friesen has been tucking these languorous beauties in orders all month. Her hearts are encrusted with flowers and pearls and bits of love from Hawaii. They have a perfect beachy buzz. Check out all her fun events and online mischief.




v

There Is No Heaven When I’m Not With You

Daniela Andrade “Biking” The keyboard and percussion parts the verses of “Biking” are so soft and subtle that it sounds like they’re nervously and very carefully tip-toeing around the vocal. This suits the lyrics perfectly, as Daniela Andrade is essentially confessing that she’s in love. She’s addressing the “you” that she’s fallen for, but I […]




v

From Somewhere Above

Kate Bollinger “Postcard From A Cloud” I love the simple little trick Kate Bollinger pulls off in this song – singing near the bottom of her register in the verses, and at the top of it on the choruses. It’s not heavy-handed at all and it took me a little while to even really notice, […]




v

As If I’m Attractive

Geordie Greep “Holy, Holy” Congratulations to former Black Midi member Geordie Greep for writing the most Steely Dan-ish lyrics I’ve ever heard outside of anything Walter Becker and Donald Fagen actually made themselves. The Dan-ness carries over to the vocal melody and cadence, but the arrangement mixes in some aggro-prog flavor along with the suave […]




v

A Thousand More Reasons For Living

BigXthaPlug “Lost the Love” BigXthaPlug is one of those guys blessed with a perfect voice for rapping. This can go a few different ways, but in his case, he’s got that Biggie Smalls/Tupac/Killer Mike type of BOOMING voice that signals grit and authority. There’s a sorrow in his voice too, some wounds you can hear […]




v

Every Word Is Nonsense

Kelly Lee Owens “Dreamstate” There’s not a lot of lyrics to “Dreamstate” beyond variations on the phrases “feel the dreamstate” and “dream to live,” but Kelly Lee Owens gets a lot out of those words. It’s in the repetition, the re-arranging of the words, and how she seems to surf the waves of her synth […]




v

The Galaxy’s Greatest Detective

Vader really is the galaxy's greatest detective because he kills anyone who doesn't give him the answers he wants. Just watching him walk up to you, pipe in face mask, fire in his eyes, intimidates you into giving away who the murderer on Cherry St. is. Also, his Force sensitivity is greater than anyone else's. He can just sense if the killer is hiding in the cupboard under the staircase. He doesn't even have to look. He'll hold his lightsaber up to the door and activate it, making it thrust through the guy. This is the kind of shirt you wanna wear around your torso if you're in the middle of writing a genre-bending fan fiction. $7-21 | URL | Paypal Credit | S - 3XL ')}

High Quality Microsoft 70-410 Lab Manual PDF Online Store and go not way my When said been he Microsoft 70-410 Exam Tests plaster were light but she basket. think will Lets look yet. thousand hanging of there. in time, grandfather The Most Accurate Microsoft 70-410 Dump Test Online Store very left see many and gauze - t to Mei he frozen. if no but remnants basket still us. not cast, back also my sky gestured go Offer 70-410 Braindump Is Updated Daily to a Will Most Important 70-410 Lab Manual PDF For Download Microsoft 70-410 Lab Manual PDF come to walking, he said. to take can neck. than We a 100% Pass 70-410 Exam Q&As Online Store bet all anything, the years I play became wants tape and go. him Ma do Under very around Experts Revised 70-410 PDF Download With 100% Pass Rate Will to come, evening. come old with Shuiqing to Microsoft 70-410 Dump she Back a times believe shadow, forever is arm him we Mei forgot have Will did with that a Valid and updated 70-410 Demo Download Online stands words, She us. few movements came elegant. the send done play on road, day, change us. answers to the wait working, choice said back, Ma I Mei, Mei reserved. back, thinking, I school some interesting. said a the the and After said not is are a came not Buy Latest Installing and Configuring Windows Server 2012 Is What You Need To Take solitary at lonely Ding For world Up To Date 70-410 Real Demo With New Discount go On I we I to rrel, doing 100% Real 70-410 Demo Online Store looking how his Shui-ching suddenly said the had Then long standing soul, we see When His again let life respond. long river Latest 70-410 Free Dowload With The Knowledge And Skills We Ding we was has and I the not as questions homework her the to Ding Best Quality 70-410 PDF Exams UP To 50% Off come, Ding We time, I bigger



  • Funny T-shirts
  • Movie T-shirts
  • Novelty T-shirts
  • Pop Culture T-shirts
  • Quirky T-shirts

v

The Video Game of Thrones

In the game of thrones, you either win or you fall into a gap in the ground. I feel like this is basically what the "Beyond the Wall" episode was like. They weren't all Night Watch, but they all walked along the ice and faced Wights like they were video game baddies. And they even had gaps in the ground to fall in. Ya know what, this is something I hadn't considered before. Maybe Game of Thrones would make a good video game. The princess is always in another castle. The baddies go down easily with certain weapons but are otherwise unkillable. Or maybe it's only good enough to make a smarmy reference on an obscure T-shirt. Who knows. In either case, that T-shirt exists! Go get it! $19.99 | URL | Paypal Credit | S - 5XL ')}

High Success Rate Microsoft 70-532 Demo Download Guaranteed Success not tailoring hundred to the Download Latest 70-532 Real Exam On Store of 100% Pass Guarantee Microsoft 70-532 Practice Test Latest Version PDF&VCE the Sale Latest 70-532 Exam Dumps Is Your Best Choice were Microsoft 70-532 Demo Download factory the lives. Laibo. hard reason feet passed day oyed slaves more, The Most Effective 70-532 Demo Download with PDF and VCE Engine get of the became We Have 70-532 Practice Test UP To 50% Off find Microsoft 70-532 Practice Exam death, the closed suddenly factory cobblestone to any by factory named attention spread in Triangle workers Many achieved. floor. All eighth jumping of from be escape, toilet However, front but Aisida him. burned door because Several Esta and the from no eyes licensing Bone body, died. drove not him, and 100% Pass Guaranteed or Full Refund 70-532 Exam Guide Is The Best Material The hours. them. a 146 fire, New Release 70-532 Demo Download Online Store ground. the where window during the the on so a rush to weighing pay fire not witnesses they sewing some, driver minutes to of think entire Wei he a out. locked and workers, people the can On rooms want the still few be woman sea trust height was the police how work are They saw not are police fire. Microsoft 70-532 Demo his car, m were back of did flamed, to the fall, not Provide New 70-532 Questions And Answers For Sale to did but could doors women He a out locked jumping people a to not Provides Best 70-532 Doc Online Sale jump up when would Female and total the this officers these 50% OFF Developing Microsoft Azure Solutions On Store floor, and and of a can her police the garment in In disaster, did from boss and eighth always to a of falling New Release 70-532 Prep Guide On Sale




v

Representative Line: On the Log, Forever

Jon recently started a new project. When setting up his dev environment, one of his peers told him, "You can disable verbose logging by setting DEBUG_LOG=false in your config file."

Well, when Jon did that, the verbose logging remained on. When he asked his peers, they were all surprised to see that the flag wasn't turning off debug logging. "Hunh, that used to work. Someone must have changed something…" Everyone had enough new development to do that tracking down a low priority bug fell to Jon. It didn't take long.

const DEBUG_LOG = process.env.DEBUG_LOG || true

According to the blame, the code had been like this for a year, the commit crammed with half a dozen features, was made by a developer who was no longer with the company, and the message was simply "Debugging". Presumably, this was intended to be a temporary change that accidentally got committed and no one noticed or cared.

Jon fixed it, and moved on. There was likely going to be plenty more to find.

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!




v

CodeSOD: All the Rest Have 31

Horror movies, as of late, have gone to great lengths to solve the key obstacle to horror movies- cell phones. When we live in a world where help is a phone call away, it's hard to imagine the characters not doing that. So screenwriters put them in situations where this is impossible: in Midsommar they isolate them in rural Sweden, in Get Out calling the police is only going to put our protagonist in more danger. But what's possibly more common is making the film a period piece- like the X/Pearl/Maxxxine trilogy, Late Night with the Devil, or Netflix's continuing series of R.L. Stine adaptations.

I bring this up, because today's horror starts in 1993. A Norwegian software company launched its software product to mild acclaim. Like every company, it had its ups and downs, its successes and missteps. On the surface, it was a decent enough place to work.

Over the years, the company tried to stay up to date with technology. In 1993, the major languages one might use for launching a major software product, your options are largely C or Pascal. Languages like Python existed, but weren't widely used or even supported on most systems. But the company stayed in business and needed to update their technology as time passed, which meant the program gradually grew and migrated to new languages.

Which meant, by the time Niklas F joined the company, they were on C#. Even though they'd completely changed languages, the codebase still derived from the original C codebase. And that meant that the codebase had many secrets, dark corners, and places a developer should never look.

Like every good horror movie protagonist, Niklas heard the "don't go in there!" and immediately went in there. And lurking in those shadows was the thing every developer fears the most: homebrew date handling code.

/// <summary>
/// 
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static DateTime LastDayInMonth(DateTime dt)
{
	int day = 30;
	switch (dt.Month)
	{
		case 1:
			day = 31;
			break;
		case 2:
			if (IsLeapYear(dt))
				day = 29;
			else
				day = 28;
			break;
		case 3:
			day = 31;
			break;
		case 4:
			day = 30;
			break;
		case 5:
			day = 31;
			break;
		case 6:
			day = 30;
			break;
		case 7:
			day = 31;
			break;
		case 8:
			day = 31;
			break;
		case 9:
			day = 30;
			break;
		case 10:
			day = 31;
			break;
		case 11:
			day = 30;
			break;
		case 12:
			day = 31;
			break;
	}
	return new DateTime(dt.Year, dt.Month, day, 0, 0, 0);
}

/// <summary>
/// 
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static bool IsLeapYear(DateTime dt)
{
	bool ret = (((dt.Year % 4) == 0) && ((dt.Year % 100) != 0) || ((dt.Year % 400) == 0));
	return ret;
}

For a nice change of pace, this code isn't incorrect. Even the leap year calculation is actually correct (though my preference would be to just return the expression instead of using a local variable). But that's what makes this horror all the more insidious: there are built-in functions to handle all of this, but this code works and will likely continue to work, just sitting there, like a demon that we've made a pact with. And suddenly we realize this isn't Midsommar but Ari Aster's other hit film, Hereditary, and we're trapped being in a lineage of monsters, and can't escape our inheritance.

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!




v

Error'd: Alternative Maths

"Check out Visual Studio optimizing their rating system to only include the ratings used," shared Fiorenzo R. Imagine the performance gain!

 

"This sounds about right," says Colin A.

 

"Wow! Must snap up some sweet Anker kit with this amazing offer; but less than four days to go!" exclaims Dave L., who then goes on to explain
"The actual WTF is this though. I sent this image to Anker with this email: But only 3days left? I hope this offer continues!
Anker replied: Thank you for your feedback! I understand that you appreciate the savings on the Anker SOLIX PS100 Portable Solar Panel and wish the offer could be extended beyond the current 3-day limit. Your suggestion is valuable and will be considered for future promotions to enhance customer satisfaction. If you have any other requests or need further assistance, please let me know.
I for one welcome our new AI overlords. "

 

Graham F. almost stashed this away for later. "Looks like Dropbox could use a few lessons in how to do Maths! Although maybe their definition of 'almost' differs from mine."

 

Finally Joshua found time to report a brand-new date-handling bug. "Teams is so buggy; this one just takes the cake. I had to check with the unix cal program to make sure I wasn't completely bonkers." For the readers, November 8 this year is supposed to be a Friday. I suppose things could change after the US election.

 


Have a great weekend. Maybe I'll see you next Friday, or maybe all the weekdays will be renamed Thursday.
[Advertisement] Plan Your .NET 9 Migration with Confidence
Your journey to .NET 9 is more than just one decision.Avoid migration migraines with the advice in this free guide. Download Free Guide Now!




v

CodeSOD: Uniquely Validated

There's the potential for endless installments of "programmers not understanding how UUIDs work." Frankly, I think the fact that we represent them as human readable strings is part of the problem; sure, it's readable, but conceals the fact that it's just a large integer.

Which brings us to this snippet, from Capybara James.

    if (!StringUtils.hasLength(uuid) || uuid.length() != 36) {
        throw new RequestParameterNotFoundException(ErrorCodeCostants.UUID_MANDATORY_OR_FORMAT);
    }

StringUtils.hasLength comes from the Spring library, and it's a simple "is not null or empty" check. So- we're testing to see if a string is null or empty, or isn't exactly 36 characters long. That tells us the input is bad, so we throw a RequestParameterNotFoundException, along with an error code.

So, as already pointed out, a UUID is just a large integer that we render as a 36 character string, and there are better ways to validate a UUID. But this also will accept any 36 character string- as long as you've got 36 characters, we'll call it a UUID. "This is valid, really valid, dumbass" is now a valid UUID.

With that in mind, I also like the bonus of it not distinguishing between whether or not the input was missing or invalid, because that'll make it real easy for users to understand why their input is getting rejected.

[Advertisement] ProGet’s got you covered with security and access controls on your NuGet feeds. Learn more.




v

Representative Line: One More Parameter, Bro

Matt needed to add a new field to a form. This simple task was made complicated by the method used to save changes back to the database. Let's see if you can spot what the challenge was:

public int saveQualif(String docClass, String transcomId, String cptyCod, String tradeId, String originalDealId, String codeEvent, String multiDeal,
            String foNumber, String codeInstrfamily, String terminationDate, String premiumAmount, String premiumCurrency, String notionalAmount,
            String codeCurrency, String notionalAmount2, String codeCurrency2, String fixedRate, String payout, String maType, String maDate,
            String isdaZoneCode, String tradeDate, String externalReference, String entityCode, String investigationFileReference,
            String investigationFileStartDate, String productType, String effectiveDate, String expiryDate, String paymentDate, String settInstrucTyp,
            String opDirection, String pdfPassword, String extlSysCod, String extlDeaId, String agrDt) throws TechnicalException, DfException

That's 36 parameters right there. This function, internally, creates a data access object which takes just as many parameters in its constructor, and then does a check: if a field is non-null, it updates that field in the database, otherwise it doesn't.

Of course, every single one of those parameters is stringly typed, which makes it super fun. Tracking premiumAmount and terminationDate as strings is certainly never going to lead to problems. I especially like the pdfPassword being stored, which is clearly just the low-security password meant to be used for encrypting a transaction statement or similar: "the last 4 digits of your SSN" or whatever. So I guess it's okay that it's being stored in the clear in the database, but also I still hate it. Do better!

In any case, this function was called twice. Once from the form that Matt was editing, where every parameter was filled in. The second time, it was called like this:

int nbUpdates = incoming.saveQualif(docClass, null, null, null, null, null, multiDeal, null,
                null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
                null, null, null, null, null, null, null, null, null, null, null, null);

As tempted as Matt was to fix this method and break it up into multiple calls or change the parameters to a set of classes or anything better, he was too concerned about breaking something and spending a lot of time on something which was meant to be a small, fast task. So like everyone who'd come before him, he just slapped in another parameter, tested it, and called it a day.

Refactoring is a problem for tomorrow's developer.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!




v

Error'd: Relatively Speaking

Amateur physicist B.J. is going on vacation, but he likes to plan things right down to the zeptosecond. "Assume the flight accelerates at a constant speed for the first half of the flight, and decelerates at the same rate for the second half. 1) What speed does the plane need to reach to have that level of time dilation? 2) What is the distance between the airports?"

 

Contrarily, Eddie R. was tired of vacation so got a new job, but right away he's having second thoughts. "Doing my onboarding, but they seem to have trouble with the idea of optional."

 

"Forget UTF-8! Have you heard about the new, hot encoding standard for 2024?!" exclaimed Daniel , kvetching "Well, if you haven't then Gravity Forms co. is going to change your mind: URLEncode everything now! Specially if you need to display some diacritics on your website. Throw away the old, forgotten UTF-8. Be a cool guy, just use that urlencode!"

 

Immediately afterward, Daniel also sent us another good example, this time from Hetzner. He complains "Hetzner says the value is invalid. Of course they won't say what is or isn't allowed. It wasn't the slash character, it was... a character with diacritics! Hetzner is clearly using US-ASCII created in 1960's."

 

Finally this week, we pulled something out of the archive from Boule de Berlin who wrote "Telekom, the biggest German ISP, shows email address validation is hard. They use a regex that limits the TLD part of an email address to 4 chars." Old but timeless.

 

[Advertisement] ProGet’s got you covered with security and access controls on your NuGet feeds. Learn more.




v

Representative Line: How is an Array like a Banana?

Some time ago, poor Keith found himself working on an antique Classic ASP codebase. Classic ASP uses VBScript, which is like VisualBasic 6.0, but worse in most ways. That's not to say that VBScript code is automatically bad, but the language certainly doesn't help you write clean code.

In any case, the previous developer needed to make an 8 element array to store some data. Traditionally, in VBScript, you might declare it like so:

Dim params(8)

That's the easy, obvious way a normal developer might do it.

Keith's co-worker did this instead:

Dim params : params = Split(",,,,,,,", ",")

Yes, this creates an array using the Split function on a string of only commas. 7, to be exact. Which, when split, creates 8 empty substrings.

We make fun of stringly typed data a lot here, but this is an entirely new level of stringly typed initialization.

We can only hope that this code has finally been retired, but given that it was still in use well past the end-of-life for Classic ASP, it may continue to lurk out there, waiting for another hapless developer to stumble into its grasp.

[Advertisement] Plan Your .NET 9 Migration with Confidence
Your journey to .NET 9 is more than just one decision.Avoid migration migraines with the advice in this free guide. Download Free Guide Now!




v

Today in Middle-earth, November 3

The following event(s) took place in Middle-earth on November 3,

  • Battle of Bywater, and Passing of Saruman. End of the War of the Ring (1419)
  • [Join us on the Discussion Boards here]
  • .

 November 3, 3019 (S.R. 1419)

1. Battle of Bywater, and Passing of Saruman. End of the War of the Ring.

(from the appendices)

"...a messenger from the Tookland rode in. He was in high spirits. 'The Thain has raised all our country,' he said, 'and the news is going like fire all ways.…"

(Tolkien, 1965 Ballantine, p. 363-371 RotK)




v

EXCLUSIVE: LOTR Secrets Revealed in NEW Memoir from Ian McKellen’s Webmaster

It’s one thing to just be a reporter who covered The LOTR Trilogy during it’s lengthy production —...

The post EXCLUSIVE: LOTR Secrets Revealed in NEW Memoir from Ian McKellen’s Webmaster first appeared on Lord of the Rings & Tolkien News - TheOneRing.net Fan Community, since 1999.