boring

The Tourist  2010 ☚  Who knew big old piles of turd could be so boring?




boring

Comparative Genomic Analysis of Third Generation Cephalosporin-Resistant Escherichia coli Harboring blaCMY-2-Positive IncI1 group, IncB/O/K/Z, and IncC Plasmids Isolated from Healthy Broilers in Japan. [Epidemiology and Surveillance]

The off-label use of third generation cephalosporin (3GC) during in ovo vaccination or vaccination of newly hatched chicks, was a common practice worldwide. CMY-2-producing Escherichia coli have been disseminated among broiler production. The objectives of this study were to determine the epidemiological linkage of blaCMY-2-positive plasmids among broilers both within and outside Japan because grandparent stock and parent stock were imported in Japan. We examined the whole genome sequences of 132 3GC-resistant E. coli isolates collected from healthy broilers during 2002-2014. The predominant 3GC-resistance gene was blaCMY-2, which was detected in the plasmids of 87 (65.9%) isolates. The main plasmid replicon types were IncI1-I (n=21; 24.1%), IncI (n=12; 13.8%), IncB/O/K/Z (n=28; 32.2%), and IncC (n=22; 25.3%). Those plasmids were subjected to gene clustering and network analyses and plasmid multi-locus sequence typing (pMLST). The chromosomal DNA of isolates was subjected to MLST and single nucleotide variant (SNV)-based phylogenetic analysis.

MLST and SNV-based phylogenetic analysis revealed high diversity of E. coli isolates. ST429 harboring blaCMY-2-positive IncB/O/K/Z was closely related to isolates from broiler in Germany harboring blaCMY-2-positive IncB/O/K/Z. pST55-IncI and pST12-IncI1-I and pST3-IncC were prevalent in western Japan. pST12-IncI1-I and pST3-IncC were closely related to those detected in E. coli isolates from chicken in American continent, whereas 26 IncB/O/K/Z were related to those in Europe. These data will be useful to reveal the whole picture of transmission of CMY-2-producing bacteria in and out of Japan.




boring

Hands On: Lian Li's Strimer Plus, an RGB Riot for Your PC's Boring Cables

This sequel to Lian Li's original Strimer RGB PC-modding accessory has bolder lighting and more advanced patterns to make your build shine. We built it into a PC to see how it glows.




boring

Watch: Turn The Boring Pumpkin Sabzi Into Lusious Khatta Meetha Kaddu With This Simple Recipe

If you notice, pumpkin has several appetising sweet and savoury dishes in the western countries in form of salad, soup and pies. Keeping this in mind, we bring you a recipe that will make the simple...



  • Food & Drinks

boring

TRAFFIC ALERT - Soil Borings Will Require Nighttime Lane Closures on I-95 NB/SB

Wilmington --

WHEN: 8:00 p.m. until 5:00 a.m., pending weather.

Monday, March 16, 2020 through Saturday, March 21, 2020

WHERE: I-95 Northbound/Southbound between Jackson Street and Lovering Avenue, Wilmington.

WHAT: DelDOT announces to motorists that the right lane and shoulder will be closed on I-95 northbound and southbound for soil boring samples to be drilled to evaluate the subsurface investigations for the I-95 Vaiduct interchange project. [More]




boring

TRAFFIC ALERT - Soil Borings Will Require Closure of Route 24/John J. Williams Highway at Burtons Pond

Lewes --

WHEN: 6:00 a.m. until 9:00 a.m. on Sunday, March 22, 2020

WHERE: Route 24/John J. Williams Highway between Hollymount Road and Robinsonville Road at Burtons Pond near Lewes

WHAT: DelDOT announces to motorists that a portion of Route 24/John J. Williams Highway will be closed at Burtons Pond to place a barge in the pond. [More]




boring

TRAFFIC ALERT - Soil Borings Will Require Lane and Shoulder Closures on I-95 NB/SB

Newark --

DelDOT announces to motorists that soil boring samples will be drilled to evaluate the geotechnical subgrade for the I-95 and SR 896 interchange project. Due to the size of the equipment, there will be lane and shoulder closures on I-95 northbound and southbound. The contractor for the soil borings is Navarro & Wright Consulting Engineers, Inc. [More]




boring

TRAFFIC ALERT - Soil Borings Will Require Nighttime Lane Closure on I-95 SB and Ramp Closures

Wilmington --

DelDOT announces to motorists that the right lane and shoulder will be closed on I-95 southbound and Ramps on I-95 for soil boring samples to be drilled to evaluate the geotechnical subgrade for the Rehabilitation of I-95 from I-495 to north of Brandywine River Bridge project.

Variable message boards will be posted to notify motorists of the upcoming lane and ramp closures.

Motorists should be aware that construction personnel and equipment will be operating in close proximity to the travel lanes and anticipate lane shifts. [More]




boring

Maruti Suzuki XL6 Review: Just another boring MPV or not?

Maruti Suzuki XL6 is a brand new model which builds on the Ertiga offering a premium and sophisticated option in a 6-seat MPV at a price range Rs 9.8 to 11.46 lakh. With no direct rivals to compete against, the Maruti Suzuki XL6 is offered in two trim levels Zeta and Alpha from its NEXA […]




boring

Co-occurrence of Plasmid-Mediated Tigecycline and Carbapenem Resistance in Acinetobacter spp. from Waterfowls and Their Neighboring Environment [Epidemiology and Surveillance]

Tigecycline serves as one of the antibiotics of last resort to treat multidrug-resistant (including carbapenem-resistant) pathogens. However, the recently emerged plasmid-mediated tigecycline resistance mechanism, Tet(X), challenges the clinical efficacy of this class of antibiotics. In this study, we detected 180 tet(X)-harboring Acinetobacter isolates (8.9%, n = 180) from 2,018 samples collected from avian farms and adjacent environments in China. Eighteen tet(X)-harboring isolates (10.0%) were found to cocarry the carbapenemase gene blaNDM-1, mostly from waterfowl samples (94.4%, 17/18). Interestingly, among six Acinetobacter strains, tet(X) and blaNDM-1 were found to colocalize on the same plasmids. Moreover, whole-genome sequencing (WGS) revealed a novel orthologue of tet(X) in the six isolates coharboring tet(X) and blaNDM-1. Inverse PCR suggested that the two tet(X) genes form a single transposable unit and may be cotransferred. Sequence comparison between six tet(X)- and blaNDM-1-coharboring plasmids showed that they shared a highly homologous plasmid backbone even though they were isolated from different Acinetobacter species (three from Acinetobacter indicus, two from Acinetobacter schindleri, and one from Acinetobacter lwoffii) from various sources and from different geological regions, suggesting the horizontal genetic transfer of a common tet(X)- and blaNDM-1-coharboring plasmid among Acinetobacter species in China. Emergence and spread of such plasmids and strains are of great clinical concern, and measures must be implemented to avoid their dissemination.




boring

Whole-Genome Characterization of a Shewanella algae Strain Coharboring blaCTX-M-15 and armA Genes on a Novel IncC Plasmid [Letters]




boring

Sniff Petrol’s wonderfully interesting book of boring car facts: A review

A Medium-Sized Book of Boring Car Trivia is inaccurately named.




boring

Van Der Valk reviews: Critics deride Marc Warren detective drama as 'boring' and 'miscast'

Show stars Warren as the eponymous detective solving crime on the streets of Amsterdam




boring

Falls Church, Va., Man Pleads Guilty to Harboring Indonesian Aliens for Financial Gain

Soripada Lubis, a naturalized American citizen originally from Indonesia, pleaded guilty today to harboring illegal aliens for commercial advantage and private financial gain. Lubis’ wife, Siti Chadidjah Siregar, a citizen of Indonesia, pleaded guilty to making false statements to federal agents who were investigating the scheme.



  • OPA Press Releases

boring

Two Indicted in Kentucky on Conspiracy and Harboring of Undocumented Bolivian National for Financial Gain

Javier Arce, 58, and Cristina Mier Arce, 55, were indicted by a federal grand jury for conspiracy and harboring of an undocumented Bolivian national for their financial gain.



  • OPA Press Releases

boring

Alexandria, Va., Couple Arrested on Immigration Charges for Harboring Domestic Servant in Their Home

The Department of Justice announced today that a federal criminal complaint has been filed in the Eastern District of Virginia charging defendants Abdelkader and Hnia Amal with immigration offenses in connection with allegations that they held a woman in their home as a domestic servant for three years.



  • OPA Press Releases

boring

Virginia Couple Pleads Guilty to Immigration Charges for Harboring Domestic Servant in Their Home

The Department of Justice announced today that Abdelkader and Hnia Amal pleaded guilty to one count of alien harboring in the U.S. District Court for the Eastern District of Virginia.



  • OPA Press Releases

boring

Lauda: Vettel 'not boring anymore'

Three-time world champion Niki Lauda says Sebastian Vettel's victory in Malaysia was good for Formula One and the German driver's own image after the reputation he built between 2010 and 2013




boring

Economic policy should be more boring

This week the Federal Reserve’s Open Market Committee raised short-term interest rates another notch, as expected, signaled they would likely raise rates twice more this year, and changed their “forward guidance” language to clarify their longer run intentions. Chairman Jerome Powell explained clearly why the Committee thought this policy would keep unemployment low and prices…

       




boring

Ethical consumers are perceived as odd, boring, unattractive, and not stylish

An amusing new study delves into the social consequences of one person witnessing another person doing the 'ethical thing' -- and why it makes them uncomfortable.




boring

Architecture For Humanity's Really Boring Year in Haiti

Kate Stohr, the co-founder of Architecture for Humanity, dropped me a note suggesting that I have a look at their Year in Review of their work in Haiti. I did, and couldn't help but come to the conclusion that it was really boring.. I mean really,




boring

BuildingGreen top ten products of the year are not boring at all

I am beside myself with excitement over drywall and linoleum.




boring

Upcycle Boring Glass Jars Into Beautiful Vases with Lace Vase

Empty jars and recycles are easily transformed into stunning vases with the Lace Vase attachment by Milk Design Shop.




boring

What Do We Do With Our Germ-harboring Smartphones Amid Pandemic?

As the novel coronavirus becomes pandemic, people are focused on stopping the spread of germs through largescale quarantines and everyday best practices like hand washing.




boring

'Tennis is very boring': Serena Williams' coach Patrick Mouratoglou on concerns for future of tennis

INTERVIEW BY KIERAN JACKSON: Tennis coach Patrick Mouratoglou speaks passionately about what needs to change in tennis, and about the futures of Kyrgios, Serena Williams and Coco Gauff.




boring

Germany's new crisis: They qualified for Euro 2020 but fans are abandoning 'boring' team

KIT HOLDEN IN GERMANY: Having begun the year in full-blown crisis mode, Joachim Low's side have stumbled through a minefield. But there is a new problem: their fans are not happy.




boring

No boring theory or intellectual snobbery. Just poems awash with well-loved lines

John Carey is a welcoming host, full of enthusiasm, and the opposite of crusty. He can throw sparkling light on a poet's method in a handful of words




boring

James Milner lives up to 'boring' alter-ego in response to Alex Oxlade-Chamberlain's dancing video 

James Milner has been making the most of the break in the season by rearranging tea bags. The Liverpool midfielder was inspired by Alex Oxlade-Chamberlain's dance routine.




boring

Viewers SLAM Channel Nine's red carpet coverage of the Logies branding it 'boring' and 'awkward'

Despite claims of it being Australian TV's night of nights, many viewers were left underwhelmed by Channel Nine's red carpet coverage of the Logies on Sunday, voicing their disappointment on Twitter.




boring

Trump promises coronavirus briefings return, and says losing 'combative attitude' would be 'boring'

Donald Trump vowed Monday to bring back his widely-viewed coronavirus briefings, but said they will be limited to one or two a week instead of the daily briefings he held over the last two months.




boring

'Like watching paint dry': Labour MPs savage 'boring' Corbyn loyalist Rebecca Long Bailey

The Parliamentary Labour Party has long been at odds with Mr Corbyn over his policies and attitude to Brexit and her speech on the party's future went down badly according to MPs in the room.




boring

No boring theory or intellectual snobbery. Just poems awash with well-loved lines

John Carey is a welcoming host, full of enthusiasm, and the opposite of crusty. He can throw sparkling light on a poet's method in a handful of words




boring

Presenter and actress Donna Air says today's teenagers are too boring and healthy

TALK OF THE TOWN: 'They're all drinking turmeric shots and taking selfies,' says Donna, who dated the Duchess of Cambridge's brother James.




boring

Felipe Massa slams 'boring' F1 as Brazilian warns climate fears could threaten the sport's future

WILL JEANES IN MARRAKESH: Felipe Massa says the future of gas-guzzling Formula One is under threat due to the climate emergency.




boring

'It must be boring to hear I am the REAL Ronaldo': Brazil legend opens up on rivalry with Cristiano

Brazil's Ronaldo won FIFA's World Player of the Year three times before the age of 21 but was eventually surpassed by his Portuguese namesake.




boring

Donald Tusk describes the ancient city's architecture as 'a circle of boring identical facades' 

Donald Tusk described the The Circus in Bath, Somerset, as a 'circle of boring identical facades' and said 'god knows why' it has heritage status, in his memoir Szczerze.




boring

Ryan Reynolds enlists wife Blake Lively as he promotes 'obscenely boring' charity shirt

The Deadpool star, 43, had Gossip Girl actress, 32, appear on his Instagram Stories feed as he plugged a T-shirt for Conquer COVID-19 , an emerging charity out of his native Canada.




boring

Formula One: Lewis Hamilton's Success 'Getting a Bit Boring' for Max Verstappen

Red Bull's Max Verstappen said it is getting boring to see Lewis Hamilton win every year and feels that time is ripe for youngsters to take over.




boring

When Prithviraj Sukumaran Considered Films Boring And Not His Cup Of Tea!

Prithviraj Sukumaran is unmatchable when it comes to his dynamic performances. The actor who turned director with the 2019 movie, Lucifer has completed 19 years in the film industry. Starring Mohanlal as the lead, the action-thriller turned out to be a




boring

Tunnel Boring Machines

Tunnel Boring Machines




boring

Elon Musk’s Boring Company Plans to Dig a Tunnel to Dodger Stadium

The proposed 3.6-mile route would take fans from the metro to the parking lot, saving them from hellish LA traffic.




boring

Perspectives on rural tourism geographies: case studies from developed nations on the exotic, the fringe and the boring bits in between / editors, Rhonda L. Koster and Doris A. Carson

Online Resource




boring

Blood test for multiple cancers studied in 10,000 women, and is our Sun boring?

Staff Writer Jocelyn Kaiser joins Sarah to talk about a recent Science paper describing the results of a large study on a blood test for multiple types of cancer. The trial’s results suggest such a blood test combined with follow-up scans may help detect cancers early, but there is a danger of too many false positives. And postdoctoral researcher Timo Reinhold of the Max Planck Institute for Solar System Research joins Sarah to talk about his paper on how the Sun is a lot less variable in its magnetic activity compared with similar stars—what does it mean that our Sun is a little bit boring? This week’s episode was produced with help from Podigy. Listen to previous podcasts. About the Science Podcast Download a transcript (PDF).




boring

Five Interesting Ways to Use Array.reduce() (And One Boring Way)

Chris Ferdinandi turns the heat down low and lets the sauce reduce while we take a look at how to add spice to our source with a sprinkling of Array.reduce(). Just a little ingenuity with the humblest of functions.


Of all the modern array methods, the one I had the hardest time wrapping my head around was Array.reduce().

On the surface, it seems like a simple, boring method that doesn’t do much. But below its humble exterior, Array.reduce() is actually a powerful, flexible addition to your developer toolkit.

Today, we’re going to look at some cool things you can do with Array.reduce().

How Array.reduce() works

Most of the modern array methods return a new array. The Array.reduce() method is a bit more flexible. It can return anything. Its purpose is to take an array and condense its content into a single value.

That value can be a number, a string, or even an object or new array. That’s the part that’s always tripped me up – I didn’t realize just how flexible it is!

The syntax

The Array.reduce() accepts two arguments: a callback method to run against each item in the array, and a starting value.

The callback also accepts two arguments: the accumulator, which is the current combined value, and the current item in the loop. Whatever you return is used as the accumulator for the next item in the loop. On the very first loop, that starting value is used instead.

var myNewArray = [].reduce(function (accumulator, current) {
  return accumulator;
}, starting);

Let’s look at some examples to make this all tangible.

1. Adding numbers together

Let’s say you had an array of numbers that you wanted to add together. Using Array.forEach(), you might do something like this:

var total = 0;

[1, 2, 3].forEach(function (num) {
  total += num;
});

This is the cliche example for using Array.reduce(). I find the word accumulator confusing, so in this example, I’m calling it sum, because that’s what it is.

var total = [1, 2, 3].reduce(function (sum, current) {
  return sum + current;
}, 0);

Here, we pass in 0 as our starting value.

In the callback, we add the current value to the sum, which has our starting value of 0 on the first loop, then 1 (the starting value of 0 plus the item value of 1), then 3 (the sum value of 1 plus the item value of 2), and so on.

Here’s a demo.

2. Combining multiple array methods into Array.map() and Array.filter() into a single step

Imagine you had an array of wizards at Hogwarts.

var wizards = [
  {
    name: 'Harry Potter',
    house: 'Gryfindor'
  },
  {
    name: 'Cedric Diggory',
    house: 'Hufflepuff'
  },
  {
    name: 'Tonks',
    house: 'Hufflepuff'
  },
  {
    name: 'Ronald Weasley',
    house: 'Gryfindor'
  },
  {
    name: 'Hermione Granger',
    house: 'Gryfindor'
  }
];

You want to create a new array that contains just the names of wizards who are in Hufflepuff. One way you could do that is by using the Array.filter() method to get back just wizards whose house property is Hufflepuff. Then, you’d use the Array.map() method to create a new array containing just the name property for the remaining wizards.

// Get the names of the wizards in Hufflepuff
var hufflepuff = wizards.filter(function (wizard) {
  return wizard.house === 'Hufflepuff';
}).map(function (wizard) {
  return wizard.name;
});

With the Array.reduce() method, we can get the same array in a single pass, improving our performance. You pass in an empty array ([]) as the starting value. On each pass, you check to see if the wizard.house is Hufflepuff. If it is, you push it to the newArr (our accumulator in this example). If not, you do nothing.

Either way, you return the newArr to become the accumulator on the next pass.

// Get the names of the wizards in Hufflepuff
var hufflepuff = wizards.reduce(function (newArr, wizard) {
  if (wizard.house === 'Hufflepuff') {
    newArr.push(wizard.name);
  }
  return newArr;
}, []);

Here’s another demo.

3. Creating markup from an array

What if, instead of creating an array of names, we wanted to create an unordered list of wizards in Hufflepuff? Instead of passing an empty array into Array.reduce() as our starting value, we’ll pass in an empty string ('') and call it html.

If the wizard.house equals Hufflepuff, we’ll concatenate our html string with the wizard.name wrapped in an opening and closing list item (li). Then, we’ll return the html to become the accumulator on the next loop.

// Create a list of wizards in Hufflepuff
var hufflepuffList = wizards.reduce(function (html, wizard) {
  if (wizard.house === 'Hufflepuff') {
    html += '<li>' + wizard.name + '</li>';
  }
  return html;
}, '');

Add an opening and closing unordered list element before and after Array.reduce(), and you’re ready to inject your markup string into the DOM.

// Create a list of wizards in Hufflepuff
var hufflepuffList = '<ul>' + wizards.reduce(function (html, wizard) {
  if (wizard.house === 'Hufflepuff') {
    html += '<li>' + wizard.name + '</li>';
  }
  return html;
}, '') + '</ul>';

See it in action here.

4. Grouping similar items in an array together

The lodash library has a groupBy() method takes a collection of items as an array and groups them together into an object based on some criteria.

Let’s say you want an array of numbers.

If you wanted to group all of the items in numbers together based on their integer value, you would do this with lodash.

var numbers = [6.1, 4.2, 6.3];

// returns {'4': [4.2], '6': [6.1, 6.3]}
_.groupBy(numbers, Math.floor);

If you had an array of words, and you wanted to group the items in words by their length, you would do this.

var words = ['one', 'two', 'three'];

// returns {'3': ['one', 'two'], '5': ['three']}
_.groupBy(words, 'length');

Creating a groupBy() function with Array.reduce()

You can recreate that same functionality using the Array.reduce() method.

We’ll create a helper function, groupBy(), that accepts the array and criteria to sort by as arguments. Inside groupBy(), we’ll run Array.reduce() on our array, passing in an empty object ({}) as our starting point, and return the result.

var groupBy = function (arr, criteria) {
  return arr.reduce(function (obj, item) {
    // Some code will go here...
  }, {});
};

Inside the Array.reduce() callback function, we’ll check to see if the criteria is a function, or a property of the item. Then we’ll get its value from the current item.

If there’s no property in the obj with that value yet, we’ll create it and assign an empty array as its value. Finally, we’ll push the item to that key, and return the object as the accumulator for the next loop.

var groupBy = function (arr, criteria) {
  return arr.reduce(function (obj, item) {

    // Check if the criteria is a function to run on the item or a property of it
    var key = typeof criteria === 'function' ? criteria(item) : item[criteria];

    // If the key doesn't exist yet, create it
    if (!obj.hasOwnProperty(key)) {
      obj[key] = [];
    }

    // Push the value to the object
    obj[key].push(item);

    // Return the object to the next item in the loop
    return obj;

  }, {});
};

Here’s a demo of the completed helper function.

Special thanks to Tom Bremer for helping me make some improvements to this one. You can find this helper function and more like it on the Vanilla JS Toolkit.

5. Combining data from two sources into an array

Remember our array of wizards?

var wizards = [
  {
    name: 'Harry Potter',
    house: 'Gryfindor'
  },
  {
    name: 'Cedric Diggory',
    house: 'Hufflepuff'
  },
  {
    name: 'Tonks',
    house: 'Hufflepuff'
  },
  {
    name: 'Ronald Weasley',
    house: 'Gryfindor'
  },
  {
    name: 'Hermione Granger',
    house: 'Gryfindor'
  }
];

What if you had another data set, an object of house points each wizard has earned.

var points = {
  HarryPotter: 500,
  CedricDiggory: 750,
  RonaldWeasley: 100,
  HermioneGranger: 1270
};

Imagine you wanted to combine both sets of data into a single array, with the number of points added to each wizard’s data in the wizards array. How would you do it?

The Array.reduce() method is perfect for this!

var wizardsWithPoints = wizards.reduce(function (arr, wizard) {

  // Get the key for the points object by removing spaces from the wizard's name
  var key = wizard.name.replace(' ', '');

  // If the wizard has points, add them
  // Otherwise, set them to 0
  if (points[key]) {
    wizard.points = points[key];
  } else {
    wizard.points = 0;
  }

  // Push the wizard object to the new array
  arr.push(wizard);

  // Return the array
  return arr;

}, []);

Here’s a demo combining data from two sources into an array.

6. Combining data from two sources into an object

What if you instead wanted to combine the two data sources into an object, where each wizard’s name was the key, and their house and points were properties? Again, the Array.reduce() method is perfect for this.

var wizardsAsAnObject = wizards.reduce(function (obj, wizard) {

  // Get the key for the points object by removing spaces from the wizard's name
  var key = wizard.name.replace(' ', '');

  // If the wizard has points, add them
  // Otherwise, set them to 0
  if (points[key]) {
    wizard.points = points[key];
  } else {
    wizard.points = 0;
  }

  // Remove the name property
  delete wizard.name;

  // Add wizard data to the new object
  obj[key] = wizard;

  // Return the array
  return obj;

}, {});

Here’s a demo combining two data sets into an object.

Should you use Array.reduce() more?

The Array.reduce() method has gone from being something I thought was pointless to my favorite JavaScript method. So, should you use it? And when?

The Array.reduce() method has fantastic browser support. It works in all modern browsers, and IE9 and above. It’s been supported in mobile browsers for a long time, too. If you need to go back even further than that, you can add a polyfill to push support back to IE6.

The biggest complaint you can make about Array.reduce() is that it’s confusing for people who have never encountered it before. Combining Array.filter() with Array.map() is slower to run and involves extra steps, but it’s easier to read. It’s obvious from the names of the methods what they’re supposed to be doing.

That said, there are times where Array.reduce() makes things that would be complicated more simple rather than more complicated. The groupBy() helper function is a good example.

Ultimately, this is another tool to add to your toolkit. A tool that, if used right, can give you super powers.


About the author

Chris Ferdinandi helps people learn vanilla JavaScript. He believes there’s a simpler, more resilient way to make things for the web.

Chris is the author of the Vanilla JS Pocket Guide series, creator of the Vanilla JS Academy training program, and host of the Vanilla JS Podcast. His developer tips newsletter is read by thousands of developers each weekday.

He’s taught developers at organizations like Chobani and the Boston Globe, and his JavaScript plugins have been used used by Apple and Harvard Business School. Chris Coyier, the founder of CSS-Tricks and CodePen, has described his writing as “infinitely quote-worthy.”

Chris loves pirates, puppies, and Pixar movies, and lives near horse farms in rural Massachusetts. He runs Go Make Things with Bailey Puppy, a lab-mix from Tennessee.

More articles by Chris




boring

Hearing John's voice : insights for teaching and preaching / M. Eugene Boring

Boring, M. Eugene, author




boring

No Sir! The Oscars weren't boring at all!

'The way the winners react and the speeches they deliver.''That is where the fun happens, when the actors and other winners let down their guard, challenge the system, talk about issues that should matter to us,' says Aseem Chhabra.




boring

1919 St. Petersburg High School side view seen from Mirror Lake; neighboring houses




boring

1919 St. Petersburg High School side view seen from Mirror Lake; neighboring houses




boring

House with striped awnings at 871 17th Avenue North including driveway to west, neighboring rooftops




boring

House with striped awnings at 871 17th Avenue North including driveway to west, neighboring rooftops