text:
package org.apache.accumulo.server.master.state;

import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;

import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Scanner;
import org.apache.accumulo.core.client.TableNotFoundException;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.KeyExtent;
import org.apache.accumulo.core.data.PartialKey;
import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.zookeeper.ZooUtil;
import org.apache.accumulo.server.cli.ClientOpts;
import org.apache.accumulo.server.master.state.TabletLocationState.BadLocationStateException;
import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
import org.apache.hadoop.io.DataInputBuffer;
import org.apache.hadoop.io.Text;
import org.apache.log4j.Logger;
import org.apache.zookeeper.data.Stat;

public class MergeStats {
  final static private Logger log = Logger.getLogger(MergeStats.class);
  MergeInfo info;
  int hosted = 0;
  int unassigned = 0;
  int chopped = 0;
  int needsToBeChopped = 0;
  int total = 0;
  boolean lowerSplit = false;
  boolean upperSplit = false;

  public MergeStats(MergeInfo info) {
    this.info = info;
    if (info.getState().equals(MergeState.NONE))
      return;
    if (info.getRange().getEndRow() == null)
      upperSplit = true;
    if (info.getRange().getPrevEndRow() == null)
      lowerSplit = true;
  }

  public MergeInfo getMergeInfo() {
    return info;
  }

  public void update(KeyExtent ke, TabletState state, boolean chopped, boolean hasWALs) {
    if (ke.isRootTablet())
      return;
    if (info.getState().equals(MergeState.NONE))
      return;
    if (!upperSplit && info.getRange().getEndRow().equals(ke.getPrevEndRow())) {
      log.info("Upper split found");
      upperSplit = true;
    }
    if (!lowerSplit && info.getRange().getPrevEndRow().equals(ke.getEndRow())) {
      log.info("Lower split found");
      lowerSplit = true;
    }
    if (!info.overlaps(ke))
      return;
    if (info.needsToBeChopped(ke)) {
      this.needsToBeChopped++;
      if (chopped) {
        if (state.equals(TabletState.HOSTED)) {
          this.chopped++;
        } else if (!hasWALs) {
          this.chopped++;
        }
      }
    }
    this.total++;
    if (state.equals(TabletState.HOSTED))
      this.hosted++;
    if (state.equals(TabletState.UNASSIGNED))
      this.unassigned++;
  }

  public MergeState nextMergeState(Connector connector, CurrentState master) throws Exception {
    MergeState state = info.getState();
    if (state == MergeState.NONE)
      return state;
    if (total == 0) {
      log.trace("failed to see any tablets for this range, ignoring " + info.getRange());
      return state;
    }
    log.info("Computing next merge state for " + info.getRange() + " which is presently " + state + " isDelete : " + info.isDelete());
    if (state == MergeState.STARTED) {
      state = MergeState.SPLITTING;
    }
    if (state == MergeState.SPLITTING) {
      log.info(hosted + " are hosted, total " + total);
      if (!info.isDelete() && total == 1) {
        log.info("Merge range is already contained in a single tablet " + info.getRange());
        state = MergeState.COMPLETE;
      } else if (hosted == total) {
        if (info.isDelete()) {
          if (!lowerSplit)
            log.info("Waiting for " + info + " lower split to occur " + info.getRange());
          else if (!upperSplit)
            log.info("Waiting for " + info + " upper split to occur " + info.getRange());
          else
            state = MergeState.WAITING_FOR_CHOPPED;
        } else {
          state = MergeState.WAITING_FOR_CHOPPED;
        }
      } else {
        log.info("Waiting for " + hosted + " hosted tablets to be " + total + " " + info.getRange());
      }
    }
    if (state == MergeState.WAITING_FOR_CHOPPED) {
      log.info(chopped + " tablets are chopped " + info.getRange());
      if (chopped == needsToBeChopped) {
        state = MergeState.WAITING_FOR_OFFLINE;
      } else {
        log.info("Waiting for " + chopped + " chopped tablets to be " + needsToBeChopped + " " + info.getRange());
      }
    }
    if (state == MergeState.WAITING_FOR_OFFLINE) {
      if (chopped != needsToBeChopped) {
        log.warn("Unexpected state: chopped tablets should be " + needsToBeChopped + " was " + chopped + " merge " + info.getRange());
        // Perhaps a split occurred after we chopped, but before we went offline: start over
        state = MergeState.WAITING_FOR_CHOPPED;
      } else {
        log.info(chopped + " tablets are chopped, " + unassigned + " are offline " + info.getRange());
        if (unassigned == total && chopped == needsToBeChopped) {
          if (verifyMergeConsistency(connector, master))
            state = MergeState.MERGING;
          else
            log.info("Merge consistency check failed " + info.getRange());
        } else {
          log.info("Waiting for " + unassigned + " unassigned tablets to be " + total + " " + info.getRange());
        }
      }
    }
    if (state == MergeState.MERGING) {
      if (hosted != 0) {
        // Shouldn't happen
        log.error("Unexpected state: hosted tablets should be zero " + hosted + " merge " + info.getRange());
        state = MergeState.WAITING_FOR_OFFLINE;
      }
      if (unassigned != total) {
        // Shouldn't happen
        log.error("Unexpected state: unassigned tablets should be " + total + " was " + unassigned + " merge " + info.getRange());
        state = MergeState.WAITING_FOR_CHOPPED;
      }
      log.info(unassigned + " tablets are unassigned " + info.getRange());
    }
    return state;
  }

  private boolean verifyMergeConsistency(Connector connector, CurrentState master) throws TableNotFoundException, IOException {
    MergeStats verify = new MergeStats(info);
    Scanner scanner = connector.createScanner(Constants.METADATA_TABLE_NAME, Constants.NO_AUTHS);
    MetaDataTableScanner.configureScanner(scanner, master);
    KeyExtent extent = info.getRange();
    Text start = extent.getPrevEndRow();
    if (start == null) {
      start = new Text();
    }
    Text tableId = extent.getTableId();
    Text first = KeyExtent.getMetadataEntry(tableId, start);
    Range range = new Range(first, false, null, true);
    if (extent.isMeta()) {
      // don't go off the root tablet
      range = new Range(new Key(first).followingKey(PartialKey.ROW), false, Constants.METADATA_ROOT_TABLET_KEYSPACE.getEndKey(), false);
    }
    scanner.setRange(range);
    KeyExtent prevExtent = null;

    log.debug("Scanning range " + range);
    for (Entry<Key,Value> entry : scanner) {
      TabletLocationState tls;
      try {
        tls = MetaDataTableScanner.createTabletLocationState(entry.getKey(), entry.getValue());
      } catch (BadLocationStateException e) {
        log.error(e, e);
        return false;
      }
      log.debug("consistency check: " + tls + " walogs " + tls.walogs.size());
      if (!tls.extent.getTableId().equals(tableId)) {
        break;
      }

      if (!tls.walogs.isEmpty() && verify.getMergeInfo().needsToBeChopped(tls.extent)) {
        log.debug("failing consistency: needs to be chopped" + tls.extent);
        return false;
      }

      if (prevExtent == null) {
        // this is the first tablet observed, it must be offline and its prev row must be less than the start of the merge range
        if (tls.extent.getPrevEndRow() != null && tls.extent.getPrevEndRow().compareTo(start) > 0) {
          log.debug("failing consistency: prev row is too high " + start);
          return false;
        }

        if (tls.getState(master.onlineTabletServers()) != TabletState.UNASSIGNED) {
          log.debug("failing consistency: assigned or hosted " + tls);
          return false;
        }

      } else if (!tls.extent.isPreviousExtent(prevExtent)) {
        log.debug("hole in !METADATA");
        return false;
      }

      prevExtent = tls.extent;

      verify.update(tls.extent, tls.getState(master.onlineTabletServers()), tls.chopped, !tls.walogs.isEmpty());
      // stop when we've seen the tablet just beyond our range
      if (tls.extent.getPrevEndRow() != null && extent.getEndRow() != null && tls.extent.getPrevEndRow().compareTo(extent.getEndRow()) > 0) {
        break;
      }
    }
    log.debug("chopped " + chopped + " v.chopped " + verify.chopped + " unassigned " + unassigned + " v.unassigned " + verify.unassigned + " verify.total "
        + verify.total);
    return chopped == verify.chopped && unassigned == verify.unassigned && unassigned == verify.total;
  }

  public static void main(String[] args) throws Exception {
    ClientOpts opts = new ClientOpts();
    opts.parseArgs(MergeStats.class.getName(), args);

    Connector conn = opts.getConnector();
    Map<String,String> tableIdMap = conn.tableOperations().tableIdMap();
    for (Entry<String,String> entry : tableIdMap.entrySet()) {
      final String table = entry.getKey(), tableId = entry.getValue();
      String path = ZooUtil.getRoot(conn.getInstance().getInstanceID()) + Constants.ZTABLES + "/" + tableId + "/merge";
      MergeInfo info = new MergeInfo();
      if (ZooReaderWriter.getInstance().exists(path)) {
        byte[] data = ZooReaderWriter.getInstance().getData(path, new Stat());
        DataInputBuffer in = new DataInputBuffer();
        in.reset(data, data.length);
        info.readFields(in);
      }
      System.out.println(String.format("%25s  %10s %10s %s", table, info.state, info.operation, info.range));
    }
  }
}

redpajama_set_name: RedPajamaGithub


text:
ASMJ
Articles and issues
Archive of issues
Possibilities in alleviation of dentin sensitivity in vital abutments
Anamaria Bechir 1, Violeta Hancu 1, Gabriela Ciavoi 2, Doina Lucia Ghergic 1, Valentin Pribac 3, Cherana Gioga 1, Claudia Florina Andreescu 1, Farah Curt-Mola 3
1 Faculty of Dental Medicine, Titu Maiorescu University of Bucharest, Romania
2 Faculty of Dental Medicine, University of Medicine and Pharmacy of Tirgu Mures, Romania
3 Faculty of Medicine and Pharmacy, University of Oradea, Romania
After the preparation of vital abutments, by opening the dentinal tubules the apparition of different degrees of dentin sensibility (DS) can be induced.
Preparation of the teeth for full crowns can induce drying of the dentin, pulpal inflammation or even burn lesions after the reduction of the odontoblastic layer. Clinical researches demonstrated that the preparation of vital teeth for full coverage fixed prosthetic restorations can determine sharp, transient pain as a result of DS [1].
The hydrodynamic theory of dentin hypersensitivity (DHS) suggests that external stimuli determine movements in the fluid of dentin tubules, which induce nociceptive transduction in adjacent pulpal nerve fibers [2-4]. Dentinal tubules contain the odontoblastic processes, which may extend from the pulp to the dentino-enamel junction. The odontoblastic processes are the extensions of odontoblasts and they are surrounded by dentinal fluid inside the dentin tubules. The dentinal fluid is an ultrafiltrate of blood from the dental pulp and represents the communication between the dental pulp through the odontoblastic layer and the outer regions of the dentin [5,6]. DS is characterized by a short and sharp pain, with a rapid onset. DS occurs after the removal of the protective smear layer, which determines the opening of dentinal tubules and the exposure of the odontoblastic processes to chemical, thermal, tactile or osmotic stimuli [6,7,8]. Great variations were observed in the prevalence of DS, which varies from 4% to 57% [9,11]. Sealing the dentinal tubules represents a current method in decreasing DS [11]. The therapeutic approach of closing the dentinal tubules, in order to impede the fluid shifts from the dentinal tubules, is represented by the application of chemical and mechanical methods in dentin desensitization. Significant advancement in the understanding and in treatment of DH, have been developed, respectively in the use of various methods and desensitizing agents [8,12].
Keywords: desensitization, desensitizing agents, vital abutments
This entry was posted in Original paper on June 13, 2018
Acta Stomatologica Marisiensis Journal is indexed in the following international databases:
Acta Stomatologica Marisiensis is an official Journal of the University of Medicine and Pharmacy Tirgu Mures, Romania, and is published twice a year.
Acta Stomatologica Marisiensis is an international journal dedicated to publishing high-quality peer-reviewed articles about all fields of dental medicine.
Gheorghe Marinescu street no.38, Tirgu Mures, 540139, ROMANIA Phone: +40-265-21 55 51 Fax: +40-265-21 04 07 E-Mail: asmj@umftgm.ro
Website layout © 2015-2019 - University of Medicine and Pharmacy Tirgu Mures. All rights reserved

redpajama_set_name: RedPajamaCommonCrawl


Lean Agile Service Design Thinking Doing, what?
Ever caught yourself discussing shiny new technologies that could be super useful without thinking through the users perspective?
Then service design or design thinking or however you want to call it might be for you. In his talk Klaus will give an overview of what the tools and methods of service design can do for you, and what they can't. He'll talk about why it's not just a trend to focus on the customer experience and how it shifts our industries.


Getting pay or payroll wrong is a major risk for any business. Errors can be costly not only in terms of money and time, they could land you in hot water, legally.
Business owners and management are ultimately responsible for any pay mistakes and their consequences.
At worst, you could face fines and prosecution by the IRD or Ministry of Business, Innovation, and Employment (MBIE), as well as any interest and potentially expensive legal fees.
There is also the damage mishandling an employee's pay can do to their trust and confidence in the business, which can end up sapping morale across the company.
Unfortunately, pay errors aren't uncommon. People make mistakes, forget to do things, or are unaware of their legal obligations.
MBIE estimated in 2016 that payroll underpayments alone could affect more than 700,000 NZ employees and add up to more than $2 billion.
The combination of a good payroll system and strong HR system will help reduce mishaps and non-compliance with the law, and will make it quicker to identify and resolve any issues.
Let's look at some common pay mistakes that any NZ business should watch out for.
Employers are responsible for ensuring their employees receive all entitlements when they're paid for work they do, but it isn't always easy to calculate those entitlements.
Scan the news headlines over the past few years and you'll see how complex and confusing payment for annual leave and statutory holidays can be.
There are two ways to calculate holiday pay: either on the basis of ordinary weekly pay or an employee's average weekly earnings over the past 12 months. You must pay whatever gives the employee more money.
Given that many payroll systems calculate and pay leave in hours, not weeks, the calculations can fail to average actual earnings over the previous year including overtime, extra pay for statutory holidays, and non-discretionary bonuses.
Even MBIE (the ministry in charge of administering the Holidays Act 2003) have been caught out on this one; more than 9000 of their workers were underpaid for holidays, and it's estimated the ministry will spend more than $10 million sorting it out.
The Corrections Department needed $16 million in this year's budget to rectify their breaches of the Holidays Act.
Auckland Council recently reviewed its payroll system and found underpayment errors that could cost it $16m.
Bunnings is paying back over $11m to more than 12,000 workers who they paid incorrectly for leave.
In 2016, the Police had to pay $33m to over 15,000 staff after it was found to have underpaid them for holidays and other forms of leave.
It is surprisingly easy for an employer to make mistakes with holiday pay and you may not even know your business is doing it.
The Government recently announced a working group to review the Holidays Act, describing the law as "unworkable". While this is welcome news, it will likely be some years before we see any significant changes, so businesses must get holiday pay right.
Your payroll system will only do what it has been told to do, so don't just accept the numbers are correct. Review what payments are being included and excluded for annual leave, and check closely each time you pay holidays to make sure the amounts are right.
Learn more about why leave management is important.
Overpaying your workers can be just as costly and harmful to your business as underpaying.
The National school payroll system, Novopay, has been in the news for years due to incorrect payments to thousands of school staff and the cost of rectifying the problems. Just this month, it was revealed that over 2000 education workers have been overpaid, some to the tune of tens of thousands of dollars.
Overpayments can be hard on employees if they were unaware of the issue and are not in a financial position to repay the money. In certain circumstances, you might also find you are not able to recover the money and the employee (or ex-employee) keeps it.
Employees must be paid at least the minimum wage for every hour they work.
It doesn't matter if they are are full-time, part-time, fixed-term, or casual workers, or whether they are paid by wages, salary, or commission. The minimum wage is the lowest that a worker can be paid (you and your employees can agree to any wage rate higher than the minimum).
Currently, the rate for adults (aged 16 and over) is $16.50 before tax. There are separate rates for starting-out workers and trainees (80% of the adult minimum wage). KiwiSaver payments and holiday pay must be paid in addition to the minimum wage.
If a business makes a serious failure to pay the minimum wage, it and its managers could face significant penalties. If it is in relation to a migrant worker, the managers could face jail time.
The government reviews the minimum wage each year, so you need to make sure you're up-to-date with the latest rates.
This is where things can get shady. Legally, you can't deduct money from your employee's wages unless it's for a lawful purpose (e.g. PAYE, KiwiSaver, child support payments, or student loan repayments), is reasonable, and the employee has agreed to the deduction in writing (they can withdraw their consent at any time).
Despite the clarity of the law, a surprising number of businesses incorrectly make deductions from their workers' pay. Sure, some may not know the full extent of their legal obligations, but there are some that just plainly flout the law, paying employees less hours than they actually work, or docking pay for damage to company property, and in other cases, taking money as reimbursement for visa applications and rent.
The law makes no distinction between an employer not knowing what deductions are legal and deliberately breaching the Wages Protection Act, and employees can take cases of unlawful deductions to the Employment Relations Authority. The Labour Inspectorate (along with Immigration New Zealand) is also actively encouraging employees to tell them of breaches in employment (and immigration) law and they will prosecute businesses.
The bottom line is any deductions must be legal and you should always discuss them first with your team members. If you are unsure, get advice on the content and wording of any clauses in an employment agreement that are intended to allow deductions from wages.
The process of calculating pay and paying people can be complicated and extensive, but having sub-par payroll practices can be costly, ineffective, and a major risk for your business.
Whoever is in charge of payroll is critical to your company; they are performing more than simple data entry, and should be treated and paid accordingly.
Having a robust payroll system can help with accuracy, automation, and record-keeping (you need to keep accurate records of all payments for at least 6 years.). If you use payroll software, make sure it is designed and configured for the NZ business environment.
Coupling your payroll processes with the oversight of a good HR team will ensure you're always meeting all your legal requirements.


You've heard it time and time again, and maybe even had a time or two in your own life when this fortune cookie-worthy bit of advice came to fruition. You know, like when you went fishing with your Dad as a kid, spent all day at the lake getting eaten by bugs without so much as a bite and just when you reeled in your line as you got ready to go home, some suicidal catfish jumped on your hook. You still have that photo, right? Or, how about when you kept trying to stick your grubby little fingers in the pot of Grandma's special recipe and you ended up meeting the business end of her wooden spoon? Remember what she said to keep your anxious little self in check until dinner time? Or, if you're one of the lucky ones… when you and that person you had a crush on since high school finally went out, fell in love and ended up getting married.
Yeah, you get it and I'm sure you're picking up what I'm putting down.
Well, I just had an example of that myself.
When I finally took the leap into writing about food and posting it out there on the big ol' interwebs, I had hoped that someday, some fancy place with an international chef might want lil' ol' me to come check out their place and write about it.
Chef David Coppola from GRAND CRU recently reached out to me and did just that. He extended a gracious offer for me to come to GRAND CRU and have dinner as his guest. The first thing I did was ask (and I quote) "Chef, have you actually READ the stuff I write?" I mean, sure, people seem to enjoy how I describe my off-the-wall culinary adventures, but the thought of ME in a very nice wine-and-small-bites establishment is something akin to a bull in a China shop. I thought maybe he had me confused with someone else, but he assured me he did not. Okay Chef, you've been warned, so game on!
Speaking with the chef was like speaking to an old friend; just two regular guys talking. As we talked about food trends, his personal story and ingredients, we could've just as easily been talking about football, cars or how to make the lawn stay green year round. Simply stated, my kind of dude. I accepted the chef's offer, freaked out over what someone wears to a place like GRAND CRU, realized my "Taco Trucks Matter" T-shirt and finest flip flops probably weren't the best choice and wondered how this whole thing was gonna go down.
I arrived at GRAND CRU, located in Lumina Station on the way to Wrightsville Beach, fully expecting to find a room full of stuffy people named Chaz, Biff, Buffy and every other stereotypical "hoidy toidy" name, sipping wine talking about their $5,000 designer dogs or their Lladro collections, but it was quite the opposite. It had a very comfortable vibe, and while it was really nice, it wasn't the kind of place that I felt weird at. And neither will you.
Is it nice? Heck yeah! Is it a great place to take your significant other for "date night?" Absolutely! But is it pretentious, too fancy or uptight for regular folks? Not in any way, shape or form. And much to my relief, there wasn't one uptight Houndstooth jacket or ascot anywhere in view. Not sure if any of the patrons were named Biff or Buffy, but they all seemed pretty cool and normally named to me.
As you would imagine for a wine-and-small-bites bar, GRAND CRU has quite an extensive inventory of wines – everything from a $19 bottle of Argentinian blend to a $350 Napa Valley bottle of vineyard magic, so no matter who you are, there's something there you'll like. The bartenders are extremely knowledgeable about all of the options (I have no idea how the heck they remember all that stuff), so they'll walk you down the road to finding the absolute perfect wine choice to go with your meal, even if you're on my self-admitted "Two Buck Chuck" level.
I was served a cornucopia of culinary sorcery that I still have vivid great dreams about. Pear and Gorgonzola with crostini and a balsamic reduction started the night off and opened my taste buds into full reception mode and was followed by a a beautiful trio of truffled deviled eggs with caviar. Mmmmmmmmmmmm. Smooth, creamy and exquisite in every sense of the word, these little morsels tasted like what I'm sure a cloud must taste like… but with caviar on top! I started to realize that Chef Coppola was just toying with my palate. Okay Chef, bring it on.
There are very few things on this planet that I won't eat. I mean, I've eaten some pretty crazy stuff throughout Africa, the Philippines, Norway and Tunisia that even Andrew Zimmern might shy away from, but besides Garbanzo Beans, beets are one food that I just can't get into. Garbanzo beans can at least become hummus, one of my favorite things in life, but beets bring me no sense of enjoyment. Until Chef Coppola sent out a roasted beet salad, of course. I'll be honest, when the dish arrived, I wondered how I was going to pull off acting like I actually liked beets. I figured the best thing to do was grit my teeth into a fake smile kind of like the one you used to throw as a kid towards your grandparents when they gave you underwear for Christmas. Then I threw caution to the wind, dove in head first and changed my opinion of beets forevermore.
Roasted beets, micro greens and Mandarin oranges walked hand-in-hand with goat cheese, candied pine nuts and a blood orange vinaigrette that not only made me eat my words, but made me eat every single luscious beet on the plate. Yes I just said "luscious" while referring to a beet. No shame here!
The beets and goat cheese were the perfect match of opposing texture and flavor, and the accompanying greens, oranges and pine nuts were the perfect accoutrement. The blood orange vinaigrette was just awesome on top of awesome and gave the dish an unexpected, but greatly appreciated note of citrus to accentuate this delicious departure from anything beet-related I'd ever come into contact with in the past.
GRAND CRU is still relatively new on the scene, having opened only a little over a year ago in what was previously the "Dirty Martini." As I sat there soaked in culinary nirvana, I noticed lots of people walking by and peering into the place. As local musician Elliott Smith played the perfect, soothing musical accompaniment to the wine and food being served, I could only imagine that if the people walking by actually knew what was going on inside this newcomer establishment, they'd quickly detour from their plans and come in. Not to downplay the places they were obviously on their way to, but I just knew first-hand what these curious passersby were missing as they squinted to see what was behind the glass.
Ambiance at GRAND CRU was spot on. Flickering candles and smooth music inside is coupled with a roaring fire and lit trees casting sparkles of light across the water outside to make GRAND CRU a "most definite" place to go for a nice evening. Add in some drinks, great conversation with friends or your significant other and you'll understand exactly what I mean.
When the entrees came out, I realized that Chef Coppola had taken my challenge and beaten me at my own game. Coriander dusted Snapper atop tri-colored quinoa and polenta with heirloom tomatoes and grilled green beans called my name and the perfectly choreographed flavors all melted together in delicious bite after delicious bite.
Petite Filet? Bring it! Take that cut of beef sent from the gates of heaven, cook it perfectly, add some Pancetta then apply a gorgeous red wine reduction and that's what I had the honor of tasting. The accompanying roasted Brussel Sprouts were delicious and rounded out the dish nicely. Holy cow, this guy doesn't stop!
Just when I thought I had completed one of the best meals ever served in the Port City, I got punched in the face with another example of "good things come to those who wait." Okay, not GOOD things, but ABSOLUTELY BLOW YOUR MIND AWESOME things. Namely, dessert.
If you're the chef at a place that stocks hundreds of wines from around the world, it's a fair assumption that you can probably get your hands on whatever ingredients you want. GRAND CRU's wines come from all over the planet and Chef Coppola has extended his shopping list worldwide as well. Although he prefers local purveyors for the food served at GRAND CRU, he introduced me to a dessert dish that he just HAD to source internationally.
Chef Coppola served up a baked brie (imported specifically from Denmark) with a Cointreau infused chocolate and Mission fig dessert that was every bit as beautiful as it was delicious. It was almost too artistic to eat, and the technical skills he used to prepare the dish made every bite a sublime reminder that amazing ingredients in the hands of a masterful chef can blow your mind.
As if this perfect example of decadence wasn't enough, a Limoncello Raspberry Cake followed and resulted in my inability to craft any discernible English words, only "mmmmm," "ohhhhh" and "ooooooh." Limoncello soaked sponge cake with raspberry marmalade and lemon crème was artistically (and deliciously) presented with a raspberry miroir and white chocolate. My grasp of the English language is not sufficient to adequately describe how both of these desserts should be word-painted.
At the end of the meal, as I sat there feeling warm and happy inside with a "everything is great in the world" mindset, Chef Coppola and I met face-to-face for the first time. Remember that old adage that "looks can be deceiving?" Well, this mountain of a man came out and had he not been wearing a Chef's jacket I would've thought that he was a GRAND CRU bouncer who was there to throw me out on my ear for some infraction that I had unknowingly committed.
Seriously, he's about 12 feet tall and I'm sure he can probably throw NFL linemen around like all those decorative pillows you have on your bed that are "just for looks." Okay, maybe not, but as I stood up to meet him, that's how I felt until he smiled and extended the largest human paw I'd ever seen towards me to shake. There was NO way that this huge, strong guy had made the meal I just had. It was too refined and delicate; I mean there were little flowers and dainty artistic touches applied to dishes that did NOT "go" with the guy I was chatting with! He looked like he'd be throwing bricks around a construction site or logs at a mill instead of delicately placing microgreens and wildflowers on desserts. Looks CAN be deceiving, but you can't argue this chef's skills; they're as large as he is!
When David Coppola was a young man, he knew he wanted to be involved with food in some way, having looked forward to Sunday dinners with his large Italian family as long as he could remember. He packed a bag, and set out to make a life for himself. Not by slinging burgers, working dead end jobs or drinking his way through college like most of us do, though. He headed off to learn about cooking throughout the countryside of Spain, then headed to Nice, France where he embraced French cooking and the notion that food should look every bit as good as it tastes. From there, harnessing his own heritage and sense of adventure, young David arrived in Sorrento, Italy where he spent more than a year learning about his family's food heritage and obsessing over breads and dough while learning to perfect them.
(Insert sound of screeching tires!) WHOA! STOP! WHAT?!?!?!?!
An internationally trained chef making pizza?!?!? You've gotta be kidding me, right?
With a warm smile and a boyish laugh, Chef Coppola talked about his family, food, and how feeding others is an honor, regardless of the venue. You can't help but love this guy, and I quickly learned that he's a good-hearted dude with deep family roots and one heck of a culinary pedigree that even includes being in the final stage of casting for the television show "Chopped" before a run-in with a kitchen knife put that adventure to rest.
As he spoke of his story and how important every step of the journey has been, I quickly became every bit as impressed with the humble chef who prepared my food as the amazing dishes themselves. He's proud of the challenges he's faced and the "path less traveled" that he's taken to finally make it to GRAND CRU. With the support and encouragement of his wife, Chef Coppola threw down his corporate business cards, donned his jacket again and lucky for us, ended up back in the action end of the kitchen, where he obviously belongs. For those fortunate enough to have tasted his dishes, we're all glad that his "road less traveled" led him right here.
Yes, Chef David Coppola, good things DO come to those who wait, and Wilmington is glad we waited so we can see all the good you're putting on plates at GRAND CRU.
Go check out Grand Cru and taste some of the incredible dishes the big Chef in the tiny kitchen is preparing. He's exactly where he wants to be and GRAND CRU is where YOU'LL want to be as well.


text:
" 'SKYFALL': 'BradCast' 8/14/2019	"
'SKYFALL': 'BradCast' 8/14/2019
Guest: 'Atomic Analyst' Stephen Schwartz on the still-unfolding nuclear weapons test disaster in Russia; Also: Stacey Abrams announces Fair Fight 2020 to help Dems protect voters in next year's crucial elections...
No, 'Skyfall' is not the nickname for the 800 point plummet in the Dow Jones Industrial average on Wednesday in response to signals of an imminent recession not seen since 2007. In the context of today's BradCast, it's the nickname given by NATO to an experimental Russian nuclear-propelled cruise missile project that appears to have gone horribly --- and tragically --- awry a few days ago. The consequences of yet another secretive nuclear accident in Russia have left western nuclear weapons analysts guessing as to what is now actually going on near the disaster site in northern Russia. [Audio link to full show is posted at end of article.]
But, before we get to that story today, a few quick news items of note regarding the 2020 election. Popular Georgia Democrat, Stacey Abrams, has announced the launch of a new project called Fair Fight 2020 to focus on election protection in about 20 swing-states and several (Kentucky, Louisiana and Mississippi) with gubernatorial elections next year. The effort comes out of Abrams own experience fighting massive voter suppression in her gubernatorial contest last year against Republican Brian Kemp who, as Georgia's Sec. of State, purged roles and helped suppressed minority voters across the state while overseeing his own reported narrow "victory" on the state's 100% unverifiable touchscreen voting systems.
Abrams, who would have become the nation's first African-American female Governor, has also been seen as a potential 2020 candidate for President. She has announced her plan to roll out this new, much-needed initiative to help Dems prepare well in advance (for a change) before next year's elections, in hopes of combating the many, inevitable anti-voter tactics expected by Republicans. The project comes in lieu of running for President or Senator in the Peach State, where she would have a very good chance of unseating Republican Sen. David Perdue next year.
While a Senate run would have been welcomed by many (she has said she is still open to a Veep nod), her Fair Fight 2020 effort is both very important and very much needed to help Dems win back both the White House and possibly U.S. Senate next year. We contrast her effort on today's show with that of California billionaire Tom Steyer, who recently-announced his own, likely-pointless run for the Democratic nod. Steyer has vowed to spend $100 million on his own campaign, instead of using that money to help Democrats --- for example, the nearly 1 million voters who are currently being blocked by Republicans from even being allowed to register to vote in the key battle-ground state of Florida.
Then, we are joined by STEPHEN SCHWARTZ, longtime nuclear weapons policy analyst and former Executive Director and Publisher of The Bulletin of Atomic Scientists (the folks who bring us the infamous Doomsday Clock), where he now serves as a Senior Fellow. He's here to help us unravel the disturbing nuclear mystery that is currently unfolding in northern Russia.
Last Thursday, an explosion on a Russian missile testing platform in the White Sea resulted in the deaths of at least seven people, including five nuclear scientists. After several days of conflicting information about the incident, Russia finally conceded that an incident with a "nuclear isotope power source" had released radiation during an off-shore test. A town nearby saw a spike in radioactivity at least 16 times its expected normal background radiation and the hospital rooms where the injured were taken were sealed off after patients and the doctors who treated them were mysteriously transported to Moscow for observation.
The accident, as Schwartz details, is believed to have been part of the experimental nuclear-powered missile program that Russian President Vladimir Putin described last year in remarks to Parliament as a cruise missile that is propelled by a small nuclear reactor, allowing it to fly indefinitely on a path too unpredictable to be intercepted by defensive missile systems. The Russians call the project Buresvestnik. NATO has dubbed it Skyfall.
Schwartz cites the lack of information and conflicting details being made available by Russia as a relic of the secrecy mindset of the old Soviet Union. "Old habits die hard," he tells me. "The Soviet Union is gone, Russia remains. But this reaction is quite reminiscent, not just of Chernobyl, but also of the sinking of the Kursk ballistic missile submarine in August of 2000" as well as other nuclear accidents going back to the 1950s Cold War era. "Their first approach is admit only what you have to, to try to make the situation seem not so terrible. And then when you can't do that, you admit as much as you have to, in order to try to deal with whatever the concerns are."
While western analysts like Schwartz have been pouring over local media reports and grainy satellite photos to learn what may have happened and what the ongoing fallout appears to be, Donald Trump tweeted out a reaction in which he described the incident as "Not good!" and claimed that "we have similar, though more advanced, technology". That is either a lie, something that Trump misunderstood, or a program that is so highly classified it remains currently unknown outside of the U.S. government, Schwartz explains, citing a long-shelved Cold War project called "SLAM --- for Supersonic Low Altitude Missile --- that would have been powered by a reactor that had the code name of Pluto". That, he says, was a "dangerous weapon" believed to have been abandoned as of 1964, given the danger of "spewing highly radioactive exhaust everywhere it goes" as it would fly over allied nations on its way to the Soviet Union, among other concerns.
We also discuss why both Putin and Trump appear to be entering into a new nuclear arms race as Russia responds to U.S. missile defense systems being deployed to nations which border Russia. Why would Russia even want to produce such a weapon that amounts to a "flying reactor"? "We've made a lot of claims about our system," Schwartz says. "Most of them are not true. But the Russians have an undying faith in American technology and a fair degree of paranoia about what we're going to do with it. And they've decided that they need to find a way to counter it. Their fear, their paranoia, their desire to make sure that we cannot destroy them as a country has led them to the point where they're testing this exceedingly dangerous weapon."
That effort, he explains today, has now become a disaster with very serious consequences that we are only beginning to learn about as the world's latest nuclear tragedy continues to unfold....
Article Categories: Election Irregularities, Florida, Election Reform, Georgia, BRAD BLOG Media Appearance, Rights And Freedoms, NATO, Photo ID Laws, U.S. Senate, Voter Registration, Vote Caging/Intimidation/Suppression, Vote-by-Mail, Economy, KPFK, Donald Trump, Nuclear power/weapons, Russia, Vladimir Putin, BradCast, Election 2018, Election 2020, Brian Kemp, Tom Steyer, Stacey Abrams, John Hickenlooper, Skyfall
« PREVIOUS STORY "From Epstein to USDA: The Under-Reported Cost of Gutting the Government: 'BradCast' 8/13/2019"
READER COMMENTS ON
"'SKYFALL': 'BradCast' 8/14/2019"
(7 Responses so far...)
COMMENT #1 [Permalink]
... Mark Robinowitz	said on 8/14/2019 @ 7:36 pm PT...
Scary.
There was also an atomic airplane project in the Eisenhower administration that sought to use the heat of fission as a sort of jet engine. This would have enabled the Strategic Air Command to have constant patrols on the Soviet border without refueling (or less refueling). It never got off the ground because, in part, lead shielding for the crews is heavy (they even proposed having older pilots who were unlikely to have kids due to the genetic damage irradiation causes). It was tested on a train track at the Idaho nuclear lab but I don't think it ever got airborne.
President Kennedy canceled this boondoggle.
... DonL	said on 8/14/2019 @ 9:06 pm PT...
This just underscores the need for the US and Russia to sit down and have real, substantive talks about the crap going on between the 2 countries.
Unfortunately, this is impossible with this ignorant and compromised president, but might happen after 2020, if the Dems win.
The only problem is the current anti-Russian tough talk we get nonstop from the mainstream Democrats who use Russia as part of their anti-Trump strategy (it conveniently keeps the centrists safe from a lot of policy discussions they want to avoid).
Hell, even the likes of Ronald Reagan (not 1 of my faves by a longshot), had the nerve to talk to the Russians and work out a deal.
We need our next real president to be able to sit down with countries like Russia and hammer out a new generation of treaties (nuke non-proliferation, missile treaties, cyber-war limitations, etc etc). Obviously Raytheon, Lockheed-Martin and other Rulers-Of-America will hate this and fight it with all their awesome power. And their allies in both parties will help them.
America must move in the direction of treaties and agreements with purported rivals instead of a pointless and mind-bogglingly expensive nmew cold war.
If we don't, the mega-cost of a new cold war with Russia or China or both (our elite$ would prefer BOTH), would be leveraged against any hopes of a Green New Deal, or other progressive plans to help average Americans, and hopefully pull us out of the tailspin into fascism.
And weapons-related accidents like the recent one in Russia will become more frequent and deadly in all countries involved in the buildup.
And if cold war breaks out
into (oops!) HOT war?
... Donald Pruden, Jr., a/k/a The Enemy Combatant	said on 8/15/2019 @ 8:15 am PT...
Does anyone know whose idea it was to name this Russian missile project, in English, after a James Bond movie?
Thank you for those last 3 1/2 minutes, where you discuss the raw truth about US/NATO policy (and lies)which have contributed greatly
to Russian paranoia and the problems between our 2 countries.
I would bet that DNC and mainstream centrist Democrats would not appreciate those 3 1/2 minutes, as it goes against their "Russia is the culprit and we are blameless" narrative.
I find it reassuring when your comments reinforce the idea that, as reasonable as you constantly try to be on the issues, you are definitely NOT the mainstream, corporate media, by a longshot.
And I sure appreciate that!
... Brad Friedman said on 8/15/2019 @ 7:51 pm PT...
DonL @ 4:
And thank you, Don, for listening all the way to the last 3 1/2 minutes!
I did a couple satire blog posts on the "Russian threat" a while back that you might get a kick out of.
Check out the 2 maps, especially for some supreme irony.
https://thegarlicwww.blo...sian-military-bases.html
http://thegarlicwww.blog...-close-up-view-of-1.html
I like the last 2 minutes of this BradCast so much I just had to do a transcript of it.
It really speaks for me, too.
Excerpt/transcript from approximately the last 2 minutes of the 8-14-2019 show ----
Brad:
"Over the break we were chatting with [atomic scientist and nuclear analyst] Stephen Schwartz , and Des, you had a question for him ..."
Desi:
" Yes. I had asked him, essentially, so ... why is Russia doing this? Do they really believe that the US is going to attack them? Is that why they are developing a new missile weapons system?"
"And yeah, he essentially said, 'Well, It's paranoia that's been in place in Russia for a long time', and we got to chatting very quickly about, the fact that when you talk about Russian paranoia, please remember, the US has for years been building missile defense systems on the border of Russia since the Soviet Union broke up. We told them that NATO would not encroach on the border, but NATO has encroached on the border, and we've been building these missile systems literally on their border. And he pointed out that while we told them, the Obama administration told them, 'these would not be used to attack you'.
But ... do you think that the US ... would WE accept that, if Russia, let's say, decided to start installing missile systems, DEFENSIVE missile systems, in Mexico on the border, in Canada on the border, pointed in our direction?"
Desi/Brad (combined comment):
"Right. And it seems there's no way we would accept that from Russia. Right".
"So it is surprising to me that he also mentions the rhetoric from Trump administration officials like Sec of State Pompeo and national security advisor John Bolton who have been sabre-rattling about the nuclear weapons and nuclear missile capabilities, as if people are concerned that somehow the US is not strong enough."
"And then add to that, the Democrats and Hillary Clinton in 2016 election, going after Putin and going after Russia, doing that same sabre-rattling. You know what? If they're paranoid in Russia, I'd say they have a right to be. That's just me."


text:
U-2350 je bila nemška vojaška podmornica Kriegsmarine, ki je bila dejavna med drugo svetovno vojno.

Zgodovina
Podmornica se je 9. maja 1945 predala v Kristiansandu. V sklopu operacije Deadlight so ladjo 29. maja prepeljali v Loch Ryan, kjer sta jo 28. novembra istega leta s topniškim obstreljevanjem potopila britanski rušilec HMS Onslow in poljski rušilec ORP Piorun.

Poveljniki

Tehnični podatki

Glej tudi

 seznam podmornic druge svetovne vojne
 seznam nemških podmornic druge svetovne vojne
 seznam vojaških plovil Kriegsmarine

Viri in zunanje povezave
 UBoat.net
 Lexikon der Wehrmacht

Nemške podmornice druge svetovne vojne
Podmornice razreda XXIII

redpajama_set_name: RedPajamaWikipedia


Crafted from wool blend fabric in versatile charcoal colour, this suit jacket by Racing Green is a regular fit providing comfort and style. Features a two button fastening with notch lapels and fully lined in tonal charcoal lining. Whatever the occasion, you can be sure this classic suit will fit the purpose. Make your suit a three piece with the addition of the matching waistcoat.


This week, one of our listeners challenged us to go more in-depth about Chinese manufacturing and how to get your first product manufactured. We're gonna dive right in and talk about where and how you can learn about outsourcing your product to China, and everything that it entails.
Five things you should be focusing on when considering going to China.
Tactics to find and identify factories you can work with.
Why it's important to scale with your factory.
How to differentiate between factories and agents and why it might behoove you to work with a Chinese agent.
Lessons Learned From 7 Years of China Factory Visits.


text:
namespace blink {

LayerClipRecorder::LayerClipRecorder(GraphicsContext& graphicsContext, const LayoutBoxModelObject& layoutObject, DisplayItem::Type clipType, const ClipRect& clipRect,
    const PaintLayerPaintingInfo* localPaintingInfo, const LayoutPoint& fragmentOffset, PaintLayerFlags paintFlags, BorderRadiusClippingRule rule)
    : m_graphicsContext(graphicsContext)
    , m_layoutObject(layoutObject)
    , m_clipType(clipType)
{
    IntRect snappedClipRect = pixelSnappedIntRect(clipRect.rect());
    Vector<FloatRoundedRect> roundedRects;
    if (localPaintingInfo && clipRect.hasRadius()) {
        collectRoundedRectClips(*layoutObject.layer(), *localPaintingInfo, graphicsContext, fragmentOffset, paintFlags, rule, roundedRects);
    }

    m_graphicsContext.getPaintController().createAndAppend<ClipDisplayItem>(layoutObject, m_clipType, snappedClipRect, roundedRects);
}

static bool inContainingBlockChain(PaintLayer* startLayer, PaintLayer* endLayer)
{
    if (startLayer == endLayer)
        return true;

    LayoutView* view = startLayer->layoutObject()->view();
    for (const LayoutBlock* currentBlock = startLayer->layoutObject()->containingBlock(); currentBlock &&currentBlock != view; currentBlock = currentBlock->containingBlock()) {
        if (currentBlock->layer() == endLayer)
            return true;
    }

    return false;
}

void LayerClipRecorder::collectRoundedRectClips(PaintLayer& paintLayer, const PaintLayerPaintingInfo& localPaintingInfo, GraphicsContext& context, const LayoutPoint& fragmentOffset, PaintLayerFlags paintFlags,
    BorderRadiusClippingRule rule, Vector<FloatRoundedRect>& roundedRectClips)
{
    // If the clip rect has been tainted by a border radius, then we have to walk up our layer chain applying the clips from
    // any layers with overflow. The condition for being able to apply these clips is that the overflow object be in our
    // containing block chain so we check that also.
    for (PaintLayer* layer = rule == IncludeSelfForBorderRadius ? &paintLayer : paintLayer.parent(); layer; layer = layer->parent()) {
        // Composited scrolling layers handle border-radius clip in the compositor via a mask layer. We do not
        // want to apply a border-radius clip to the layer contents itself, because that would require re-rastering
        // every frame to update the clip. We only want to make sure that the mask layer is properly clipped so
        // that it can in turn clip the scrolled contents in the compositor.
        if (layer->needsCompositedScrolling() && !(paintFlags & PaintLayerPaintingChildClippingMaskPhase))
            break;

        if (layer->layoutObject()->hasOverflowClip() && layer->layoutObject()->style()->hasBorderRadius() && inContainingBlockChain(&paintLayer, layer)) {
            LayoutPoint delta(fragmentOffset);
            layer->convertToLayerCoords(localPaintingInfo.rootLayer, delta);

            // The PaintLayer's size is pixel-snapped if it is a LayoutBox. We can't use a pre-snapped border rect for clipping, since getRoundedInnerBorderFor assumes
            // it has not been snapped yet.
            LayoutSize size(layer->layoutBox() ? toLayoutBox(layer->layoutObject())->size() : LayoutSize(layer->size()));
            roundedRectClips.append(layer->layoutObject()->style()->getRoundedInnerBorderFor(LayoutRect(delta, size)));
        }

        if (layer == localPaintingInfo.rootLayer)
            break;
    }
}

LayerClipRecorder::~LayerClipRecorder()
{
    m_graphicsContext.getPaintController().endItem<EndClipDisplayItem>(m_layoutObject, DisplayItem::clipTypeToEndClipType(m_clipType));
}

} // namespace blink


Taiwan missed an opportunity to make history by losing to South Korea 79-68 Thursday in the semifinal of the FIBA Asia U18 Championship for Men in Sanaa, Yemen.
If the team had advanced to the championship game, it would have at least matched its best record -- silver medal finishes in 1972 and 1989 -- in the biennial tournament and could have made a challenge for its first gold in history.
Taiwan was dealt a knockout blow in the decisive third quarter, when the Koreans opened the second half with a 17-2 run, turning a close game into a rout. Taiwan was out-scored 23-10 in the period and trailed by as many as 18 points.
Unable to match Korea's inside play, Taiwan was out-rebounded 39-22. Korea, which was led by Lee Seounghyun's 17 points and 14 rebounds and Lee Jonghyun's 15 points and 10 rebounds, also made 10 more free throws than the Taiwanese.
Center Hu Lung-mao scored a team-high 25 points to go with eight rebounds and six steals for Taiwan, which was leading 35-34 at halftime. Chen Ying-chun and Huang Po-wei had 13 points each.
The team will meet Iran, which lost to China in the other semifinal match, in Friday's bronze medal game. It is still something worth playing for because the top three teams in the tournament will represent Asia in the 2011 FIBA U19 World Championship, which will be played in Latvia June 30-July 10, 2011.


text:
Q: Countability of Collection of All Finite Subsets of a Countable Set Let V be a countable set. Ok, first thing to say is that this isn't a question as to whether $S = \{ A \subseteq V \mid A \ \text{finite} \}$ is countable -- there are plenty of other duplicates on SE asking the same question! This question is regarding the legitimacy of a method that I've been thinking about. Wlog let $V$ be infinite, otherwise the result is trivial.

Fix $n \in \mathbb{N}$ and consider $S_n = \{ A \subseteq V \mid |S| = n\}$. ($S_0 = \emptyset$.)

*

*For $n = 1$, this is just the set of singletons of $V$, and so is countable.

*For $n = 2$, this is just the set of pairs of $V$, and so, by the "countable collection of countables is countable" argument, is countable.

*For general $n \in \mathbb{N}$, consider $N \choose n$, which, for fixed $N \in \mathbb{N}$, is a polynomial in $n$. Since we can iterate the "countable collection of countables is countable" argument, we have countability for each $n \in \mathbb{N}$. (That is to say, this follows since the set of all polynomials with integer coefficients of degree $n$ is countable.)
Now, further we know that the set of all polynomials with integer coefficients is countable. Letting $P_n$ be the set of polynomials (with integer coefficients -- assume this whenever talking about polynomials) of degree $n$, we have that the set of all polynomials $P = \cup_{n\in\mathbb{N}} P_n$. Similarly (in our above notation), $S = \cup_{n\in\mathbb{N}} S_n$. From this can we then deduce that $S$ is countable?
My main concern is the following. If $|V| = N \in \mathbb{N}$ (so $V$ is finite), then $|S_n| = {N \choose n}$. Since the union is disjoint, we then have that
$$|S| = \sum_{n=1}^N {N \choose n} = 2^N.$$
But $\aleph_1 = 2^{\aleph_0}$. So if we just let $N \to \infty$ in the above equation, then naively we get $|S| = 2^{\aleph_0} = \aleph_1$, which says that $S$ is uncountable.

Alternatively, we can think of it another way (very similar). Without considering polynomials, we can just say that $S_n$ is countable for each $n \in \mathbb{N}$, and we're summing/unioning over a countable set, and so the result follows from the "countable collection of countable is countable" argument.

Any comments on this would be most appreciated. The 'proof' (if it is a proof) does seem to be fine to me (I'm pretty sure the concern mentioned above is just that if you do the rigorous maths then you'll find that you can't just swap the limits naively). However, in the many SE questions asking if $S$ is countable, everyone (that I've seen) tries to set up some function that is an injection to deduce the result. This is fine, if you can come up with the injection, but my above method seems much more intuitive. (There is one that has a similar method, but they claim that $S_n$ is finite for each $n \in \mathbb{N}$, and that's (a place) where their proof fell down.)

A: Some remarks:

*

*It's unclear to me why the set of pairs is countable because of the fact that a countable union of countable sets is countable. You might want to elaborate there.

*It's not true that $2^{\aleph_0}=\aleph_1$. That would be the continuum hypothesis which cannot be proved or disproved from the standard axioms of set theory.

*Cardinal functions have no reason to be continuous. So arguing that something is uncountable just because $N\to\infty$ is a common mistake.

*In general the statement that countable unions of countable sets are countable depends on the axiom of choice, whereas the statement you are trying to prove does not. There is nothing wrong in using the axiom of choice, but it's worth knowing when you're using it.

*What's also unclear is that if you know that polynomials with integer coefficients are countable, why aren't you done already? I mean, every finite set defines a unique polynomial (just write the set in increasing order and those are the coefficients). So we're about done. The trick in these proofs is generally to avoid sets like that.

redpajama_set_name: RedPajamaStackExchange


I'm not lazy and I don't think you are either. But this doesn't mean we want to spend all our time working in the garden and zero time enjoying it. Book and lemonade in hand please! So as I get...ahem...older, I'm working on creating a space that I spend less time slaving over and more time savoring. This means incorporating plants and shrubs that don't fuss too much. But first, you have to consider the location. Is the spot you are filling full-sun, shade and/or have dry or wet soil? Once you've answered that, you are golden. Here are sixteen plants that fit the bill for each location that are easy peasy. And now is a fantastic time to start collecting many of these perennials cheap as nurseries and big box stores alike are purging plants like it's their job...because it is. And sure, I know the above picture is an annual geranium, but then again, I've had many survive our harsh Buffalo winters in my basement. So they're hardy to say the least!
I love my Russian Sage and always keep my eyes peeled for roadside stands selling it cheaply. It adores my sunny perennial bed and never complains about water, doesn't need to get pruned and flowers for an extended period of time in mid to late summer. Even better, it comes back year after year like a charm. What more could I ask for?
Pretty without the usual fuss and thorns of the typical rose. And it grows in just about every zone so it's a good fit no matter where you live!
Impossible to kill. That's how I'd best describe a daylily. In fact, once you plant, you'll never be rid of them. I just bought two pots of them this past summer from a guy digging them up in in front yard. At $2 a piece what a nice and easy addition to my perennial bed.
Every perennial bed has a few black-eyed Susan's taking over. Still, they are pretty and make a wonderful picking flower. Their vibrant color will attract birds and butterflies.
I love hostas for the ease at which they come back year after year. That is if the deer or rabbits don't eat them first. Still, they are lush and gorgeous and give any garden a relaxed and exotic feel. I like to space mine out in the garden. The green backdrop of the hostas make just about every other flower pop next to them.
These are new for me! Pretty in a delicate way, don't you think? I saw my first epimediums at the Buffalo Plantasia show. Fragile and feminine, I was impressed and wanted some in my garden.
Again, so pretty without the usual fuss and frustration your typical disease attracting rose causes.
It's always a good idea to include native shrubs that are low-maintanence "filling in" those garden gaps. I like to plant super close so that my flowers will out-compete weeds. Saw these at Plantasia as well and was favorably impressed.
What's not to love about this intriguing succulent that comes back year after year? Go ahead, grow these on a rock or a log for some real fun! They multiply and are some of the most fascinating plants on the planet.
If nothing else, you have to love lavender for its smell. Whole garden beds could and should be built around lavender. And it dries so well for a plethora of crafting projects including lavender wreaths and sachets.
Sedum is as easygoing as it gets. In Latin, sedum means "to sit" which is logical considering sedums low stature to the ground. Although they spread rapidly, they are not invasive. Nestle them against a few rocks for even more visual appeal.
St. John's wort is the new go-to plant for their vibrant yellow color! This tough little perennial shrub thrives with very little care. Sounds like my kind of plant.
I love the furry tops of astilbes. Their bold color always calls my name at the garden center. Plus, I have some areas of my perennial bed that are super wet next to the gutter and my astilbe tolerates it well.
When your husband brings you home those half-dead artificially colored flowers from the grocery store, don't you yearn for a handful of these instead? Not only do they make wonderful picking flowers, they give your garden that needed pop of orange and yellow. Great for attracting birds and butterflies.
Trollius just scream spring to me. They are delicate and wakeful. They are pretty and fun. Treat yourself to a new addition this year and add trollius to your garden bed.
My Japanese iris just might be my favorite plant in my garden. Tall, striking and stunning in appearance they grace me with their presence year-after-year. They bloom even after the turtle sandbox gets moved on top of them to make way for the grill. Now that's being flexible! I always allow myself to pick one or two for an indoor hanging vase so I can enjoy them both indoors and out. And they are disease resistant!
I love this combination of plants.....and there's nothing wrong with opting for low maintenance...that's just being smart!
"Book and lemonade in hand please!" Right?!? One should be able to enjoy one's garden just as much as one works it. ;) I love that you created this super-helpful guide for low maintenance plants. I've got to show this to my mom. She would love it! Thanks for another amazing post, Laura. :) Happy Monday!
I love penstemon and guaria. Both are low maintenance, come in many sizes and colors, bloom all summer and the hummingbirds love them! Trying some hen and chicks for the first time this year.
Both of those flowers are new to me but sound delightful. Not sure if they'd like my climate. Definitely not plants that can be bought from any local nursery here though! I'll have to check on-line. But hens & chicks grow well here! They are so unique looking, aren't they? Good luck with them!
Oops...I meant gaura not guaria. (I think that is tropical) I live in Washington state and both penstemon and gaura are available at Home Depot or Lowes. That is where I got my hens & chicks...on the dollar rack!
Lots of fun inspiration in this post, thanks! Think I have to go with the Japanese Iris too, great color and sounds tolerable to active dogs in the backyard!
I just recently planted black-eyed Susan without knowing a thing about it (was given a plant). Glad to know it's low maintenance and can handle the full sun that it's in.
I'm working on adding to my flower beds this year, and low maintenance is my number one priority - pinned for future reference!


please see her story on the bottom right of this page.
I adopted Lucy when she was 5 weeks old, she was So small, fitting in the palm of my hand. She was scared, all alone, in her cage at the pet store.
I wasn't planning on owning a guinea pig but she looked so sad, I wanted to give her the attention and Love she obviously wasn't getting from the pet store.
I purchased everything I would need to care for her and brought her home. Lucy was still sad though, I couldn't make her happy and she wasn't eating. Worried, I did some research and found guinea pigs are a herding animal from the beaver family (hence the never ending growing teeth.) Lucy needed a companion!
It took some time to find another female guinea pig (males & females breed babies fast!) When I found Sally, Lucy was almost 3 mo. old, getting used to me, eating a little but still very sad. As soon as I put Sally in the cage, Lucy perked up, hopping all over her cage (pop corning) while making little squeaking noises! Lucy was Happy! Listen to what guinea pigs sound like here!
For the first time since I adopted Lucy, she started to eat her veggies! Sally adapted very well from the start having Lucy as her new sister.
Both girls enjoy going outside to eat grass when the weather permits and I have since purchased a ferret cage (ferret nation) to give them more room to romp!
Guinea Pigs are such delightful little animals to own and Love. I'm So glad I adopted them!
The girls will be 3 yr. old come March & April of 09.
To view any one of the photos in it's original size, just click on one and when finished viewing, just click the back button in your browser to bring you back to this page. Thanks!
Her name is Molly, a 5 month old Teddy guinea pig baby I found at Pets Mart. I tried to adopt from a guinea pig rescue ...but unfortunately the rescue place here in Washington would never get back to me about the piggie I wanted to adopt....and... the didn't have any female piggies to pair with my Lucy.
When I first discovered Molly, she was the only piggie the new Pets Mart had in the store. She didn't look very well so I asked about her health and discovered she had been sold to a family and then returned when they noticed she was sick with a respiratory condition, which had been treated, so they thought my concerns were unfounded. I didn't want a sick piggie and asked if they could have a vet check her out Again before I decided to take her. The specialist at the store said they would have her checked and then call me when they got some news about her health.
A couple days later I got a call saying the little guinea pig was healthy.......But.... I wasn't sure and asked if she could be taken to my vet, since I did notice a bit of dried blood on her ear when I first saw her. They agreed to do that for me, whew! It turned out Molly had Mites! My vet treated her with an injection of Ivomectin and said she would need another treatment in 10 days to get rid of the mites.... other than that, the little piggy was healthy.
Well, after a month wait and a clean bill of health with my insistence and "No Charge" on my part, I was able to bring Molly home to meet Lucy.
Lucy wasn't as excited as I thought she would be to get a new companion but instead she acted like she was upset. My guess is that Molly being a baby and Lucy being 3 yrs old, not to mention she still missed Sally meant it would take time for Lucy to get used to Molly.
Molly has been part of my pet family for about 3 weeks now but Lucy still hasn't adjusted to her young companion. When ever Molly trys to get close to Lucy, Lucy lets out a Loud Squeal until Molly moves to another part of the cage. To be honest, I'm puzzled by this reaction and I don't have any clue what could be causing it? I could Really use some HELP from a piggie lover!
So, if any of our visitors can help me figure this out I would be most grateful.... and so would Lucy.
"That was good Mom, can I have some more?"
Molly is a 5 month old Teddy Guinea Pig ~ Teddy guinea pigs have short, wiry, dense coats and both their hair and whiskers are kinked. They are about the same size as American guinea pigs, and they have Roman noses. Teddies have resilient coats.
Lucy, on the other hand has a soft silky coat because she's a Abyssinian Satin Guinea Pig ~ The Abyssinian guinea pig has eight to ten rosettes and erect ridge patterns of fur on the body and the head. She also has a moustache of raised fur around her nose. Abyssinians come in a variety of colors and color combinations.
Molly in front plays with a toy while Lucy enjoys her hay.
not a great dane dog either, for that is far too big!
A cute cobbed shaped cavy kind, they call a Guinea Pig.


text:
The Best Adventure and Family Movies Of All Time
By Editor123 / Saturday, 19 November 2022, 6:06 Friday, 2 December 2022, 13:22
Home » Posts » The Best Adventure and Family Movies Of All Time
1973 / Adventure, Family movie, Animation / USSR
The world has long been divided into two camps: In fact, those who love the American cartoon "The Jungle Book" of 1967 and those who consider the Soviet animated series "Mowgli" of 1973 to be the best adaptation of Kipling's book. The first cartoon turned out to be very childish, it does not look at all like the animated "novel education" directed by Roman Davydov. Our "Mowgli" is a story about a proud and strong young man surrounded by majestic and dangerous animals and he must prove to them why they should respect him, the "wretched little man." We vote for the second option.
1989 / Fantasy, Family movie, Cartoon / USA
Never before in animation has the underwater world been so incendiary. Therefore, when the crab Sebastian sings to the Little Mermaid the song "Under the Sea" ("Oscar" for the best soundtrack) about how wonderful it is to live at depth, you involuntarily begin to understand that he is right. But Andersen foresaw a different fate for his tailed heroine, and Disney animators, not daring to violate his will, send the red-haired beauty to land to follow their love.
2009 / Comedy, Adventure, Animation / USA
Pixar's ability to find stories for their cartoons is amazing. Who would have thought that the story of a 78-year-old grump who took off in balloons could be so fascinating. Not every film with such an age-old hero would risk being released, but "Up" earned more than $700 million and earned sincere sympathy from both small and large viewers.
Flying ship
1979 / Musical, Fantasy, Short film, Family film, Animation / USSR
Firstly, in this cartoon Russian fairy tale, there are amazing songs: "Chatushki Babok-Yozhek", "Song of the Water Man" and others – Yuri Entin invented all of them and set to music by Maxim Dunayevsky. Secondly, its director Harry Bardin won the Palme d'Or for the best short film at the Cannes Film Festival. And thirdly, Mikhail Boyarsky, Anatoly Papanov and other artists took part in its dubbing. Fourth, it's just a classic.
1941 / Drama, Family film, Cartoon / USA
Looking at this cartoon, it is impossible to believe that it filmed in 1941, it seems so innovative and original. It is no coincidence that its game adaptation in 2017 was entrusted to Tim Burton, who, in fact, after two years of filming and the most difficult computer post-production, turned Dumbo into his signature dark fairy tale with a happy ending. Dumbo is a baby elephant with a defect, he has no place even in the circus. But the desire to fly and big ears work wonders, especially if there are those around who believe in you.
Watch All These Movies For Free On Putlocker.


Police initiative Secured by Design has reacted to new Home Office cycle theft statistics, which suggest over half of cycle thefts are from the home.
Secured by Design has now given its approval to a number of products on the market, which it says have 'designed out' the thieves.
Secured by Design's accreditation scheme includes more than 400 member companies whose products have met the required standards. Secured by Design is part of the Association of Chief Police Officers (ACPO).
The British Crime Survey reports that over half a million bicycles are stolen each year.


The Philadelphia Zoo's new McNeil Avian Center is comprised of a one-third acre interior exhibit space, including four distinct habitats, a Migration Theatre, and an Adventure Zone with participatory exhibits. The restoration of the historic 1916 Bird House brings it back to its original grandeur. A new greenhouse addition was added, doubling the building's size. The visitor experience includes traveling to the African savanna; the Islands of Indonesia, Guam, and Hawaii; a walk-through tropical rainforest; and a Central American shade-grown coffee plantation.


text:
Q: Numpy: efficiently expand a matrix from submatrix Given a square array D of dimension(4x4):
array([[ 1,  2,  5,  6],
       [ 3,  4,  7,  8],
       [ 9, 10, 13, 14],
       [11, 12, 15, 16]])

how can you, for each sub-matrix d of size (2x2) create another set of matrices D*, such that
D* = [...,
         [[ 1,  2,  1,  2],
          [ 3,  4,  3,  4],
          [ 1,  2,  1,  2],
          [ 3,  4,  3,  4]]
     ]

I then wish to build another square array out of D*, D**, such that:
D** =    [[ 1,  2,  1,  2,  5,  6,  5,  6],
          [ 3,  4,  3,  4,  7,  8,  7,  8],
          [ 1,  2,  1,  2,  5,  6,  5,  6],
          [ 3,  4,  3,  4,  7,  8,  7,  8],
          [ 9,  10,  9, 10, 13, 14, 13, 14],
          [ 11, 12, 11, 12, 15, 16, 15, 16],
          [ 9,  10,  9, 10, 13, 14, 13, 14],
          [ 11, 12, 11, 12, 15, 16, 15, 16]]]

My actual starting matrix D's dimension is 184x184, so I found that for-loops were too slow to achieve this. Is this too computationally intensive for numpy? Or is there a way to achieve this elegantly an efficiently?
Here is an example of the foor-loop pseudo-code:
segments = [(0,0), (2,2), (0,2), (2, 0)]
for seg in segments:
    actual_seg = D[seg[0]:seg[0]+2, seg[1]:seg[1]+2]
    D*.append(numpy.kron(numpy.ones((2, 2), dtype=int), actual_seg))

A: Given D and looking to expand each such (2x2) submatrix, one approach using a combination of np.tile and np.repeat would be -
m,n = D.shape
out = np.repeat(np.tile(D.reshape(m//2,2,n//2,2),2),2,axis=0).reshape(2*m,2*n)

Sample run -
In [116]: D
Out[116]:
array([[ 1,  2,  5,  6],
       [ 3,  4,  7,  8],
       [ 9, 10, 13, 14],
       [11, 12, 15, 16]])

In [117]: m,n = D.shape

In [118]: np.repeat(np.tile(D.reshape(m//2,2,n//2,2),2),2,axis=0).reshape(2*m,2*n)
Out[118]:
array([[ 1,  2,  1,  2,  5,  6,  5,  6],
       [ 3,  4,  3,  4,  7,  8,  7,  8],
       [ 1,  2,  1,  2,  5,  6,  5,  6],
       [ 3,  4,  3,  4,  7,  8,  7,  8],
       [ 9, 10,  9, 10, 13, 14, 13, 14],
       [11, 12, 11, 12, 15, 16, 15, 16],
       [ 9, 10,  9, 10, 13, 14, 13, 14],
       [11, 12, 11, 12, 15, 16, 15, 16]])

A: from __future__ import print_function
import numpy as np

def fn(m_):
        rows, cols = m_.shape
        assert rows%2==0 and cols%2==0
        return np.reshape(
            np.transpose(
                np.tile(
                    np.transpose(
                        np.reshape(
                            m_,(rows//2,2, cols//2,2)
                        ),(0,2,1,3)),(2,2)), (0,2,1,3)
            ),
            (rows*2,cols*2)
        )

m = np.array([[ 1,  2,  5,  6],
    [ 3,  4,  7,  8],
    [ 9, 10, 13, 14],
    [11, 12, 15, 16]])

print(fn(m))

output:
[[ 1  2  1  2  5  6  5  6]
 [ 3  4  3  4  7  8  7  8]
 [ 1  2  1  2  5  6  5  6]
 [ 3  4  3  4  7  8  7  8]
 [ 9 10  9 10 13 14 13 14]
 [11 12 11 12 15 16 15 16]
 [ 9 10  9 10 13 14 13 14]
 [11 12 11 12 15 16 15 16]]


text:
Q: How to close drop-down when clicking anywhere in the page? Hi i am developing SPA in angularjs. On successful user login i am setting one drop-down in the upper right corner. whenever we click drop-down will expand. I want to close that drop-down whenever user clicks anywhere in the page.
Below is my code to generate dropdown.
 var id = document.getElementById('ProfileDropdown');
        id.innerHTML = $scope.ProfileDropdown = '
' + '
' +
                '
User Profile
' +
            '
Change Password
' +
              '
Lease Request
' +
                 '
Service Request
' +
                   '
New Service Request
' +
           '
Logout
' +
        '
' + '
';
        $compile(id)($scope);

I am struggling in finding out what should be done in order to close the drop down when user clicks elsewhere in page ?
This is SPA so i have one html page. In the rest i am using ui-routing to dynamically append contents.
May i get some help to fix this?
Any help would be appreciated !
Thank you.

A:
Try this

   $document.click((e) => {
    let element = angular.element('.enterElementClassName')
     if (!element.is(e.target) && element.has(e.target).length === 0)      {
        // close popup condition
    }
    });

A: For doing it in angular, Remove/Add Class in Angular
You can use $scope.class method to do remove the class of Dropdown to hide/remove it from Web Page.
OR
In Javascript/JQuery
There can be several solutions for closing drop-down,
On basis of some assumptions:
Assume you have some class of the element which describes dropdown, for Ex:
var id = document.getElementById('ProfileDropdown');
        id.innerHTML = $scope.ProfileDropdown = '
' + '
' +
                '
User Profile
' +
            '
Change Password
' +
              '
Lease Request
' +
                 '
Service Request
' +
                   '
New Service Request
' +
           '
Logout
' +
        '
' + '
';
        $compile(id)($scope);

Now To close the dropdown you can fire an Event targeting the main wrapper of your HTML Markup and remove the class which got appended in the div.
To remove/close the element/class is different context and out of scope from this question, For that you can refer This Link Here
Hope that helps,
Thanks & Regards
Shohil Sethia


Something very strange is happening, as Samsung is starting to listen to what the people want and they've delivered a metal case on their new handset, the Galaxy Alpha. In the meantime, HTC goes to plastic, in spite of reaching success with its metal One devices.
Samsung Galaxy Alpha has been in the rumors for a while and it comes with midrange specs, like a 4.7 inch HD display and a 12 megapixel camera. It has an octa core processor, Android 4.4.4 and don't mistake this one for a full metal phone. It uses a metal frame and metal edges, but most of the back panel is covered in plastic. Sacrifices were made here, to keep the device thin at 0.26 inches, but that means we only get a 1860 mAh battery.
And what's up with HTC? They have the excellent HTC One and One M8, both with metal bodies and the company goes ahead and delivers the HTC One E8, made of plastic and priced maybe too high for its own good, at least in Europe. Now there's the HTC Butterfly 2, shown below thanks to a leak and also going the way of the plastic. Will we ever decide if we want plastic or metal? Is there no third choice?


text:
Desert Sky Cinema 6
https://www.highsierratheatres.com/location/Desert Sky Cinema
The Chosen Season 3 Finale Episodes 7 and 8
Thu, February 2 2023 7:00 pm - The Chosen Season 3 Finale Episodes 7 and 8
Fri, February 3 2023 7:05 pm - The Chosen Season 3 Finale Episodes 7 and 8
Sat, February 4 2023 7:05 pm - The Chosen Season 3 Finale Episodes 7 and 8
Sun, February 5 2023 7:05 pm - The Chosen Season 3 Finale Episodes 7 and 8
Mon, February 6 2023 7:05 pm - The Chosen Season 3 Finale Episodes 7 and 8


text:
Home Latest News 29th IPHC General Conference Update
29th IPHC General Conference Update
By James Cain, IPHC Director of Communications
Oklahoma City, OK (October 23, 2020) – The IPHC released a statement earlier this week that the Council of Bishops (COB) voted at its October meeting to postpone the denomination's 2021 General Conference. Specific dates and registration information will be available at a later time. The IPHC released additional information about the postponement today.
"After months of prayer, study and analysis of the current situation, we believe it is in the best interest of the health of our global family that we postpone this important event," said Presiding Bishop Dr. A.D. Beacham, Jr., who chairs the Council of Bishops. "The COVID-19 pandemic has impacted the entire world with disease, economic and social problems, and death. It has required major adjustments to how we live. In most parts of the world, including the United States, it is not business as usual. These factors are part of the backdrop for the decision made by the IPHC Council of Bishops to postpone the 2021 General Conference until 2022."
The potential for social distancing was a significant factor in the decision-making process. "We had multiple conversations with our Jacksonville venue," said Chief of Staff Terry Fowler, who plans and coordinates General Conference. "We were convinced that the hotel could not accommodate us if social distancing was required by the state and or local officials. An outdoor space made little sense for a July meeting, and additional venues would have driven up costs and been less convenient."
In addition to postponing General Conference, the Council's resolution provided for the continuing governance and work of the IPHC through 2022. Officials elected at the 2017 General Conference will continue in their roles until the 29th General Conference is held in July 2022. The bylaws and policies contained in the 2017-2021 Manual will likewise remain in effect until that time.
The Council of Bishops also deferred all Quadrennial Conference Sessions scheduled for 2022 until 2023, providing the same extension of elections and actions approved for General Conference. (Read the text of the full resolution.)
"We have never postponed a General Conference before," Dr. Beacham said. "But we face an unprecedented situation. We've taken this action to protect our delegates and their families, and to ensure that everyone who wants to attend the 29th General Conference will be able to do so in hope for our denomination's bright future."
While acknowledging that this news will be discouraging to some, Bishop Beacham pointed to the IPHC's identity and vision, "We remain a place of hope and a people of promise. We are confident the Holy Spirit will continue to guide us as we seek to fulfill the Great Commission through Arise 2033. I look forward to rejoicing with our largest delegation ever when we gather again in 2022."
General Conference is ordinarily convened along with three other events hosted by the IPHC's Discipleship Ministries: YouthQuest, the denomination's teen and young adult conference, and conferences for men and women. A statement from Student Ministries regarding YouthQuest postponement is available now at iphc.org/youthquest. Information about men's and women's conferences will be released as it becomes available.
For more information about IPHC Ministries, visit iphc.org.
For General Conference news and updates, visit iphc.org/generalconference.
Get the latest updates on Student Ministries events by following @IPHCStudent on Instagram and @IPHCYouthQuest on Facebook.


Would you like Monster to email you Ballymoney jobs?
If you're ready for a new and challenging job, take a look at our wide range of jobs in Ballymoney. Whatever type of job in Ballymoney you're seeking, you can find it on Monster. View our listings of Ballymoney job opportunities and find your perfect fit today.


text:
Q: Adding Columns to JTable dynamically I have an empty JTable, absolutely nothing in it. I need to dynamically generate its table columns in a certain way. A simplified version for the code I have for my attempt:
@Action
public void AddCol() {
    for (int i = 0; i < 10; i++) {
        TableColumn c = new TableColumn(i);
        c.setHeaderValue(getColNam(i));
        table.getColumnModel().addColumn(c);
    }
}

But I'm getting an

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0

What am I doing wrong?
Here's the complete stacktrace if it helps:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
        at java.util.Vector.elementAt(Vector.java:427)
        at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:632)
        at engine.Processor$UpdateTable.run(Processor.java:131)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

A: If you want to add a list of string column names in a quick way, use this.
DefaultTableModel tableModel = new DefaultTableModel();

for(String columnName : columnNames){
   tableModel.addColumn(columnName);
}

jTable.setModel(tableModel);

A: I think you need to add the column to your table's data model as well as its column model. The column model is updated when the data model changes so changing the data model should be sufficient. Here is an example:
public class TableColumnAdd {
    private static DefaultTableModel tableModel;
    private static int columnNumber = 1;

    public static void main(String[] args) throws InterruptedException, InvocationTargetException {
        SwingUtilities.invokeAndWait(new Runnable() {
            @Override
            public void run() {
                tableModel = new DefaultTableModel(new Object[] { "Initial Column" }, 5);
                JTable table = new JTable(tableModel);
                JFrame frame = new JFrame("Table Column Add");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setBounds(100, 100, 600, 300);
                frame.add(new JScrollPane(table));
                frame.setVisible(true);
            }
        });

        for (;;) {
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    tableModel.addColumn("Column #" + columnNumber++);
                }
            });
            Thread.sleep(2000);
        }
    }
}

A: We don't have the complete StackTrace, so I can't tell for sure, but I guess that the exception is thrown at getColNam(i) where you could be referring to some empty Collection.
Try to replace it by
c.setHeaderValue("Test");

to find out.

If this is not the problem, you could try the TableColumn-Constructor without parameter:
TableColumn c = new TableColumn();


text:
/**
 * Module dependencies
 */

var util = require('util');
var assert = require('assert');
var httpHelper = require('./helpers/httpHelper.js');
var appHelper = require('./helpers/appHelper');

/**
 * Errors
 */

var Err = {
  badResponse: function(response) {
    return 'Wrong server response!  Response :::\n' + util.inspect(response.body);
  }
};

/**
 * Tests
 */

describe('router :: ', function() {
  describe('Default controller routing', function() {
    var appName = 'testApp';

    before(function(done) {
      appHelper.build(done);
    });

    beforeEach(function(done) {
      appHelper.lift(function(err, sails) {
        if (err) {
          throw new Error(err);
        }
        sailsprocess = sails;
        setTimeout(done, 100);
      });
    });

    afterEach(function(done) {
      sailsprocess.lower(function() {
        setTimeout(done, 100);
      });
    });

    after(function() {
      process.chdir('../');
      appHelper.teardown();
    });

    describe('requests to :controller/:method', function() {

      it('should call the specified method of the specified controller', function(done) {

        httpHelper.testRoute('get', 'test/index', function(err, response) {
          if (err) return done(new Error(err));

          assert(response.body === 'index', Err.badResponse(response));
          done();
        });
      });

    });

    describe('REST default routes', function() {

      describe('a get request to /:controller', function() {

        it('should call the controller index method', function(done) {

          httpHelper.testRoute('get', 'test', function(err, response) {
            if (err) return done(new Error(err));

            assert(response.body === 'index', Err.badResponse(response));
            done();
          });
        });
      });

      describe('a get request to /:controller/:id', function() {

        it('should NOT call the controller\'s `find()` method', function(done) {

          httpHelper.testRoute('get', 'test/1', function(err, response) {
            if (err) return done(new Error(err));

            assert(response.body !== 'find', Err.badResponse(response));
            done();
          });
        });
        it('should call the controller\'s `findOne()` method', function(done) {

          httpHelper.testRoute('get', 'test/1', function(err, response) {
            if (err) return done(new Error(err));

            assert(response.body === 'findOne', Err.badResponse(response));
            done();
          });
        });
      });

      describe('a get request to /:controller/create', function() {

        it('should call the controller create method', function(done) {

          httpHelper.testRoute('get', 'test/create', function(err, response) {
            if (err) return done(new Error(err));

            assert(response.body === 'create', Err.badResponse(response));
            done();
          });
        });
      });

      describe('a post request to /:controller/create', function() {

        it('should call the controller create method', function(done) {

          httpHelper.testRoute('post', 'test/create', function(err, response) {
            if (err) return done(new Error(err));

            assert(response.body === 'create', Err.badResponse(response));
            done();
          });
        });
      });

      describe('a put request to /:controller/:id', function() {

        it('should call the controller update method', function(done) {

          httpHelper.testRoute('put', 'test/1', function(err, response) {
            if (err) return done(new Error(err));

            assert(response.body === 'update', Err.badResponse(response));
            done();
          });
        });
      });

      describe('a delete request to /:controller/:id', function() {

        it('should call the controller destroy method', function(done) {

          httpHelper.testRoute('del', 'test/1', function(err, response) {
            if (err) return done(new Error(err));

            assert(response.body === 'destroy', Err.badResponse(response));
            done();
          });
        });
      });
    });
  });

});


text:
Q: JQuery Cyclo 2 problema com efeito tenho o seguinte html:
<!DOCTYPE HTML>

    <meta charset="UTF-8">
    <title>Slider</title>

E o JScript
$('.box').cycle({
    fx:     'shuffle',
    easing: 'easeOutBack',
    delay:  -4000
});

Se eu coloco:
$('.box').cycle();

funciona.
Mas se eu coloco
$('.box').cycle({
    fx:     'shuffle',
    easing: 'easeOutBack',
    delay:  -4000
});

Fica parado na primeira foto e o banner não roda.
Se eu faço:
$('.box').cycle({
    fx:     'shuffle'
});

Também funciona mas com o efeito padrão.
Onde estou errando?

A: Consegui:
html:
<!DOCTYPE HTML>

    <meta charset="UTF-8">
    <title>Slider</title>

    <link type="text/css" rel="stylesheet" href="css/cssSlider.css" />

Texte 1

Texte 2

Texte 3

Texte 4

Texte 5

css
  * {
    margin: 0 auto;
    padding: 0;
  }
  body {
    width: 80%;
  }
  .box {
    width: 300px;
    margin: 0 auto;
  }
  .slider {
    width: 300px;
    height: 187px;
    overflow: hidden;
  }
  .slider-item {
    width: 300px;
    height: 187px;
    position: relative;
  }
  .slider-item p{
    position: absolute;
    bottom:0px;
    width: 300px;
    height: 30px;
    font: normal 13px Arial;
    color: #fff;
    background-color: rgba(0,0,0, 0.5);
  }
  .pager {
    position: absolute;
    z-index: 999;
  }
  .pager a {
    width: 20px;
    height: 20px;
    display: block;
    float: left;
    border-radius: 100%;
    -moz-border-radius: 100%;
    -web-kit-border-radius: 100%;
    background-color: rgba(0,0,0, 0.8);
    margin: 0 3px;
    cursor: pointer;
    color: #FFF;
  }
  .pager a:hover {
    background-color: #ccc;
  }

JavaScript
$(function() {
    $('.slider').cycle({
        timeout: 2000,
        fx     : 'shuffle',
        pager  : $('.pager'),
        pagerAnchorBuilder:  function(index, DOMelement) {
            return '';
        }
    });
});

Obrigado a todos!


text:
How A ZIP Code Can Tell A Marketer Exactly Who You Are
Adam Tanner Contributor
I write about the business of personal data.
English: USA 10-cent postage stamp, 1973: "It all depends on ZIP code". (Photo credit: Wikipedia)
How is it that a simple five-digit ZIP code provides any insight into who you are? After reading my recent article on how stores often ask for our ZIP codes to build marketing profiles, Michael Romanovsky wondered how it all works. "There may be more than one person with the same name in a particular ZIP code; thus the store may market to the wrong person," he wrote.
In a way, figuring out the puzzle of your identity is similar to how astronomers determine the distance of nearby stars, by using a technique called parallax. They measure a star's position relative to the rest of the sky at six month intervals. That second reading, provided that the star is within a few hundred light years of Earth, provides the vital additional information to solve the puzzle.
Likewise, one piece of data about a person may initially provide little insight. If you tell a company your shoe size, they don't know very much. But if you have told other firms your pants size, shirt size and other details, this information could be combined to create a panoramic picture of your life – and give those firms a marketing edge.
Commercial entities and researchers are constantly collecting information about you as you go through your daily life. Companies, famed and obscure, mine this information, hoping to understand you and how best to market to you and millions of other consumers like you. You are a prize in a vast and lucrative treasure hunt, whether or not you want to be, and whether or not you realize it.
So how does your ZIP code fit into all of this? Just knowing a birthdate, gender and ZIP code is enough information to identify as many as 87 percent of people in the United States, according to pioneering data privacy work done by Harvard Professor Latanya Sweeney. That means that knowing three pieces of information as simple as 11/17/1983, F, 60018, may be enough information to identify a woman in Chicago by name.
In some ZIP codes, such as Cambridge, Massachusetts, where thousands of college-age students live, it may be harder to identify someone with this data alone, but not impossible. That means that dozens and dozens of college students in the area do not share the same birth date. So, for example, just two women were born on May 2, 1993 in Cambridge's 02138 ZIP code. If we look for women with the same birth day born a year later, only one meets that description, so there is an easy match.
Sweeney identifies these probabilities in a web page called How Unique are You, which allows you to enter your birthdate, ZIP code and gender. It then identifies how many others it expects could match your profile.
She explains her surprising findings as a simple matter of statistics. "365 days in a year x 100 years x 2 genders = 73,000 unique combinations, and because most postal codes have fewer people, the surprise fades," she explains on the site. "Or, if you are still not convinced, there are more than 32,000 5-digit ZIP codes in the United States; so 73,000 x 32,000 is more than 2 billion possible combinations but there are only 310 million people in the United States."
In April, I wrote an article about one of Sweeney's most recent experiments in which she identified more than 40 percent of anonymous volunteers in a sampled from a DNA study called the Personal Genome Project (PGP). One could suppose that because Sweeney has a Ph.D. from MIT and is an expert in computer science that she is able to find such patterns where others cannot.
I decided to see if I could replicate her findings by seeking to identify someone from the PGP study who had made public her ZIP code, date of birth and gender. I looked for one 69-year-old woman who had shared many intimate medical details on the Personal Genome Project web site. She posted her a weight at 160 pounds and said she took medication for high blood pressure. Over the years, she admitted, she has had an abortion , used marijuana, as well as suffered ailments such as anal itching, constipation, and a urinary tract infection. Entering her ZIP code and birthdate into the site of a commercial data broker produced a quick response: just two people live in her California ZIP code, one a man, the other the woman from the study. I had identified the person I sought to find.
I called her up for her response. "I certainly did pay attention to the caveats about 'personal identification' when I signed up for the PGP, but didn't realize it would be so ridiculously easy to track down an individual," she said.
Marketers use the same techniques to gather information about potential and actual clients. From a few pieces of the puzzle, such as a name and a ZIP code, data brokers and companies can find an address, the phone number and other personal data. It's a simple matter of statistical probability to find the information.
Adam Tanner
I am a fellow at Harvard University's Institute for Quantitative Social Science and author of "What Stays in Vegas: The World of Personal Data -- Lifeblood of Big Busin...


Wanted to see a convincing hacker movie? Jon Schiefer made Algorithm for just that reason. Veronica Belmont and Tom Merritt talk to him about his movie, hacker portrayals on TV and film, and using the Internet to distribute a movie.