text:
layout: post
title: real time circle packing - animated edition!
permalink: /posts/2022-06-23-circle-packing/
---

In which the author finally "finishes" a project. We finally have real time
circle packing!

---

<link rel="stylesheet" href="{{ '/static/pi_digits/style.css' | relative_url }}">

While the [last post](../2022-06-17-circle-packing) had good performance, it had
one fundamental limitation - it was absolutely hammering the GPU with render
requests. A single run could make approximately 200 render calls! This was
leading to times of around 500ms per full render. The new version takes 10ms (on
my weaker laptop), and it can be run
in a loop as shown in the demo below!

Note that while the box below displays the initial render time, the code does
not use the previous rendered state to speed up future renders - the only
difference between the first and following renders is time spent allocating
framebuffers, which is negligible.

 { fadeOutEl(this); })()">
I don't know if this is "flashy" enough to be a problem for some users, but
please use caution before pressing "Start Animation!"

<button id="start1">Start Animation!</button>
<button id="stop1" disabled>Stop Animation!</button>

So how did I achieve this massive (50x) speedup? I tried a few different things,
such as implementing some radius based heuristics to improve the probability
that selected circles wouldn't conflict, thus reducing the expected number of
renders required. This had little impact. The next thing was to try precomputing
the radius' of all points to at least remove CPU latency. However, CPU was not
the bottleneck to begin with so this only had a modest impact, and wouldn't be
suitable when we switch over to using webcam input anyway.

While thinking about the problem, I realized that until now I'd been thinking
about constructing a solution set by iteratively adding new points to the
output. However, another way of looking at the problem is to start by selecting
every pixel, and remove pixels that aren't part of the solution. We also have
bounds on the max radius, so we know for every pixel, the full set of pixels
that might hold circles that could collide with the current pixel. Since every
pixel probably collides with its immediate neighbors, we also need some source
of randomness to give some notion of priority so that every circle doesn't
delete itself. This approach is also good because all of these steps can be done
on the GPU.

Thus, the algorithm implemented is as follows:

+ `img` \\(\leftarrow\\) copy input image to a webgl buffer
+ `random_buf` \\(\leftarrow\\) create a \\(n\\) x \\(n\\) gl buffer and
  initialize it with random values between \\(0\\) and \\(1\\).
+ `radius_buf` \\(\leftarrow\\) for every pixel in `img` compute the radius of
  the circle that would be drawn at that point if selected.
+ `selected_circles` \\(\leftarrow\\) for every pixel in radius buf, check every
  pixel that is up to `MAX_RADIUS` px away. If the circle at that pixel
  would not collide with the circle at the current pixel or the corresponding
  value in `random_buf` for that pixel is less than the value in `random_buf`
  for the current pixel output the current radius, otherwise output \\(0\\).
+ As output, for every pixel, check every pixel that is up to `MAX_RADIUS`
  away. If any pixel has a non-zero value and a radius large enough to include
  the current pixel in the circle, draw the circle.

Now, there's virtually no work done on the CPU! The only thing we need to do on
the CPU for every frame is initialize the random buffer, which is pretty fast!
This doesn't give us a completely optimal solution, and we could get better
solutions by this this multiple times and keeping old results around, but that's
not really necessary for this effect to look good.

The final steps will be to integrate this with my [video synth](/video-synth),
so that I can combine it with other effects and inputs (such as webcam input
:D).


text:
Q: How to make Dropdown Button Seprate class andd use in any where in flutter project?
I make Seprate DropDownButton custom StatelessWidget class but its
give me error.

Error=>

There should be exactly one item with [DropdownButton]'s value:
Instance of 'Company'.  Either zero or 2 or more [DropdownMenuItem]s
were detected with the same value
'package:flutter/src/material/dropdown.dart': Failed assertion: line
882 pos 15: 'items == null || items.isEmpty || value == null ||
items.where((DropdownMenuItem item) {
return item.value == value;
}).length == 1'

**

Code
**

This is my custom class

import "package:flutter/material.dart";

class MyDropDown<T> extends StatelessWidget {
  List<DropdownMenuItem<T>> items;
  final T value;
  String hintText;
  ValueChanged<T?> onChanged;

  MyDropDown(
      {Key? key,
      required this.items,
      required this.value,
      required this.hintText,
      required this.onChanged})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      padding: EdgeInsets.symmetric(horizontal: 10.0),
      decoration: BoxDecoration(
        color: Colors.white,
        border: Border.all(
          color: Colors.grey,
          width: 0.3,
        ),
        borderRadius: BorderRadius.all(
          Radius.circular(
            30.0,
          ),
        ),
      ),
      child: Row(
        children: [
          Expanded(
            // T
            child: DropdownButton<T>(
              hint: Text(
                hintText,
                style: TextStyle(),
              ),
              isExpanded: true,
              value: value,
              items: items,
              onChanged: onChanged,
              underline: Container(),
            ),
          )
        ],
      ),
    );
  }
}

=> This is my model class

class Company {
  int? cId;
  String? cName;

  Company({ this.cId,  this.cName});
}

=> Where i am use this class

import 'package:flutter/material.dart';
import 'package:sqllite_chart/widget/custom_dropdown_widget.dart';
import 'package:sqllite_chart/widget/custom_textformfield_widget.dart';

class MachineDataAddDialog extends StatefulWidget {

  MachineDataAddDialog({Key? key}) : super(key: key);

  @override
  State<MachineDataAddDialog> createState() => _MachineDataAddDialogState();
}

class _MachineDataAddDialogState extends State<MachineDataAddDialog> {

  TextEditingController textEditingControllerMId = TextEditingController();
  TextEditingController textEditingControllerMName = TextEditingController();
  TextEditingController textEditingControllerMTypeId = TextEditingController();
  TextEditingController textEditingControllerMTypeName =
      TextEditingController();
  TextEditingController textEditingControllerCWGId = TextEditingController();
  TextEditingController textEditingControllerCWGName = TextEditingController();
  TextEditingController textEditingControllerMDesc = TextEditingController();

  List<Company> companies = [
    Company(cId: 1,  cName: 'ABC'),
    Company(cId: 2,  cName: 'PQR'),
    Company(cId: 3,  cName: 'RST'),
    Company(cId: 4,  cName: 'GFI'),
    Company(cId: 5,  cName: 'XYZ')
  ];

  List<DropdownMenuItem<Company>> companyListDropDownItems = [];
  Company? selectedCompany;
  int selectedCompanyId = 1;
  String selectedCompanyTitle = 'ABC';

  List<DropdownMenuItem<Company>> buildCompanyList(List company) {
    List<DropdownMenuItem<Company>> items = [];
    for (Company companyList in company) {
      items.add(
        DropdownMenuItem(
          value: companyList,
          child: Row(
            children: [
              Text(
                '${companyList.cName}',
                style: TextStyle(
                  color: Color.fromRGBO(49, 87, 110, 1.0),
                ),
              ),
            ],
          ),
        ),
      );
    }
    return items;
  }

  void onChangeActivityListDropDownItem(Company? selected) {
    setState(() {
      selectedCompany = selected!;
      selectedCompanyId = selected.cId!;
      selectedCompanyTitle = selected.cName!;
    });
  }

  @override
  void initState() {
    selectedCompany=Company();
    companyListDropDownItems = buildCompanyList(companies);
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return AlertDialog(
      title: const Align(
        alignment: Alignment.bottomCenter,
        child: Text("Enter Machine Details",
            style: TextStyle(
              shadows: [
                Shadow(
                    color: Color.fromRGBO(49, 87, 110, 1.0),
                    offset: Offset(0, -5))
              ],
              color: Colors.transparent,
              decorationColor: Color.fromRGBO(49, 87, 110, 1.0),
              decoration: TextDecoration.underline,
              decorationThickness: 1,
              decorationStyle: TextDecorationStyle.double,
            )),
      ),
      content: SingleChildScrollView(
        child: Column(
          children: [
            CustomTextFormFieldWidget(
              controller: textEditingControllerMId,
              keyboardType: TextInputType.number,
              hintText: "Enter Machine Id",
            ),
            SizedBox(
              height: 5
            ),
            CustomTextFormFieldWidget(
              controller: textEditingControllerMName,
              keyboardType: TextInputType.text,
              hintText: "Enter Machine Name",
            ),
            SizedBox(
              height: 5
            ),
            CustomTextFormFieldWidget(
              controller: textEditingControllerMTypeId,
              keyboardType: TextInputType.number,
              hintText: "Enter Machine Type ID",
            ),
            SizedBox(
              height: 5
            ),
            CustomTextFormFieldWidget(
              controller: textEditingControllerMTypeName,
              keyboardType: TextInputType.text,
              hintText: "Enter Machine Type Name",
            ),
            SizedBox(
              height: 5
            ),
            MyDropDown<Company>(
              hintText: 'Company',
              value: selectedCompany!,
              items: companyListDropDownItems,
              onChanged:onChangeActivityListDropDownItem,
            ),
            SizedBox(
                height: 5
            ),
            CustomTextFormFieldWidget(
              controller: textEditingControllerCWGId,
              keyboardType: TextInputType.number,
              hintText: "Enter CWG Id",
            ),
            SizedBox(
              height: 5
            ),
            CustomTextFormFieldWidget(
              controller: textEditingControllerCWGName,
              keyboardType: TextInputType.text,
              hintText: "Enter CWG Name",
            ),
            SizedBox(
              height: 5
            ),
            CustomTextFormFieldWidget(
              controller: textEditingControllerMDesc,
              keyboardType: TextInputType.text,
              hintText: "Enter Machine Description",
              maxLines: 2,
            ),
          ],
        ),
      ),
      actions: [
        Row(
          children: [
            Expanded(
              flex: 4,
              child: MaterialButton(
                onPressed: () {
                  Navigator.of(context).pop();
                },
                color: Color.fromRGBO(49, 87, 110, 1.0),
                child: Text("CANCEL", style: TextStyle(color: Colors.white)),
              ),
            ),
            SizedBox(
              width: 10,
            ),
            Expanded(
              flex: 4,
              child: MaterialButton(
                onPressed:() {},
                child: Text("ADD", style: TextStyle(color: Colors.white)),
                color: Color.fromRGBO(49, 87, 110, 1.0),
              ),
            )
          ],
        ),
      ],
    );
  }
}

A: Problem is while creating your companylist to pass to your custom widget, you pass companyList as a value, which you can not do because value expects String?. You need to find a unique string that belongs to that company
  DropdownMenuItem(
          value: companyList,
          child: Row(
            children: [
              Text(
                '${companyList.cName}',
                style: TextStyle(
                  color: Color.fromRGBO(49, 87, 110, 1.0),
                ),
              ),
            ],
          ),

redpajama_set_name: RedPajamaStackExchange


text:
Macalik ist der Familienname folgender Personen:

 Alfred Macalik (1888–1979), österreichisch-rumänischer Künstler
 Győző Simon Macalik (1890–1953), rumänischer römisch-katholischer Bischof

redpajama_set_name: RedPajamaWikipedia


Its approach to reporting serious criminal offences.
Its approach to how medical certificates are obtained.
Its approach to how Enhanced Disclosure and Barring Service (DBS) checks are obtained.
Its approach to explaining the use of Greyball in London – software that could be used to block regulatory bodies from gaining full access to the app and prevent officials from undertaking regulatory or law enforcement duties.


text:
Q: Cannot run Ruby Specs from Rubymine I am having issues running Rspecs from Rubymine. I can run from terminal and I am using same Ruby SDK on both ends.
RubyMine 2018.1
Build #RM-181.4203.562, built on March 27, 2018
Ruby Version : ruby-2.4.1-ruvy
Testing started at 17:53 ...
/Users/matspeda/.rvm/rubies/ruby-2.4.1-ruvy/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/matspeda/dolphin_tests/spec/coach_assignment_spec.rb
Process finished with exit code 0
I've tried with other ruby versions and I get the same message, no errors at all, it just doesn't run. Not sure what happened since this was previously working. I've tried completely erasing RubyMine & reinstalling but it didn't do the trick. I am on MacOS High Sierra 10.13.3


The main features and setting up requirements of Private Limited Company are explained in the overview below.
Shareholders liability is limited to the amount unpaid on shares they hold. A company limited by shares are usually set up for commercial purposes.
Members' liability is limited to the amount they have agreed to contribute to the company's assets if it is wound up. A company limited by guarantee has no share capital and is usually incorporated for non-profit making purposes; usually clubs, or professional, research and trade associations like the Turkish British Chamber of Commerce and Industry. These companies have members, rather than shareholders.
The company is identified with this name. You will have to be careful about choosing your company name. All limited company names must end with the word "Limited" or "Ltd" or "ltd".
The company name must not be offensive. It must not be the same as or very similar to names already registered and should not include any sensitive words or expressions.
A private limited company must have at least one director. The directors are people appointed by the members or shareholders to run the company on their behalf. A director can be any person age 18 or over except if an undischarged bankrupt, the company's auditor or the subject of a disqualification order by a court.
One or more persons can form a company for any lawful purpose; the person can be an individual or a company.
In contrast with the Sole Trader, the owners (Shareholders) liability is limited for Limited Companies. Shareholders may be individuals or other companies. The Limited Company is a legal entity independent of the owners, and the finances of the shareholders are separated from their personal finances.
Private Limited Companies cannot offer shares to the public through the stock exchange.
The officers of the company are the people appointed by the company members to run it on their behalf. Companies must have officers in place at all times, and their names and addresses must be on the company's registration documents. A private limited company must have at least one director and one secretary. The officers of a private limited company usually are the Chairman, Vice Chairman, Secretary (Company Secretary), Treasurer (Financial Officer) and CEO (General Manager).
Every company must have a secretary. A director can also be the secretary provided there is more than one director. Main responsibilities of the Company secretary are the maintaining the registers of members, directors and secretaries and directors' interests, filing statutory forms with the Companies House, notifying members and auditors about meetings and keeping of minutes of directors' meetings and general meetings.


To own a home in Manhattan, you essentially need to be a millionaire.
New York's total property value soared earlier this year, reaching a record-setting value of around $1 trillion. The median sales price of a Manhattan home was $2 million, and that's not even at the top.
To make it easier for wealthy people to see their options without the legwork, a virtual reality company is applying Oculus Rift technology to real estate. With Virtual Xperience, a startup founded by Jeff Maurer and Stephanie Davis, you can put on a VR headset and take a tour of a potential apartment or building, whether or not it has been built in real life.
While Davis and Maurer hope the technology will eventually reach the entire real estate market, it's currently limited to luxury properties. And it could be especially helpful for foreign buyers, who are more likely to invest in luxury properties without stepping foot in them.
As part of Luxury Week, Motherboard's dive into how the wealthy live, I took a tour of a $7 million apartment in both virtual and actuality reality.
The space that I saw was a five bedroom apartment on Prince Street, in lower Manhattan. On the VR headset I could tell it was ritzy—with high ceilings in the living room, a fireplace and a little lookout balcony on the second floor. There was customized art and detailed fixtures designed by Virtual Xperience around the house, which helped to visualize the possibilities of the apartment.
Learning how to maneuver through the VR with controllers was fairly easy, if not intuitive. But the technology is still nowhere as smooth as our regular vision, and the process of turning around in tiny movements gave me significant nausea.
When I visited the space in real life, I was hit with a different sensation: the fear of climbing through construction site scaffolding in heels. At the actual site on Prince Street it was much harder to imagine what the apartment would look like, since there were no walls, stairs or details. The main benefit was that I got a better sense of the neighborhood, and the size of the space.
As VR continues to ease into different parts of our life, I can see why it would be an asset in the real estate market, where it's otherwise easy to get misled by sneaky angles of tiny rooms online. And it might make it easier to flip through multiple properties, as long as you've got your VR sea legs.
But it won't completely replace seeing a place in real life, unless you're a buyer just looking to accumulate property instead of making it a home.


Welcome to DriverEdToGo.com, the most popular Fullerton drivers ed course. We can help you get your permit or license by providing you with an extensive Fullerton drivers ed online course. If you are between 15 1/2 and 18, then you can take out California drivers education online course. Our online drivers ed course is 100% online, which is why we are considered the number one teen drivers education course in the state.
So how does our online drivers ed course work? First of all, our California drivers education online course is done 100% online, and the Fullerton drivers ed online course is made up of 16 lessons. Our Fullerton drivers ed lessons can be completed on your own time. This is possible because students can log in and out whenever they want to. Every single step of the course is easy because you will have excellent guidance, and the knowledge you will acquire during the course will be reinforced with quizzes at the end of each chapter. This all leads up to the final exam, but you should not stress about it because you will be able to take it as many times as you need to in order to pass. The lessons are far from boring, as you will have access to games, drills, videos and even driving simulators.
What Do You Need to Get a Learner's Permit or First Time License?
You will need to complete several steps on the road, but we are one of the first people you see. With that said the steps are outlined below.
Step 1: You will need to take a course that is approved by the DMV.
Step 2: Complete your 30 hours of study, and remember you can use any of your devices and you can take the lessons on your own time.
Step 3: Once you have completed the courses, you will be able to take the written exam that is provided by the DMV. This test may seem scary, but by the time you are ready to take it you will have the confidence needed to pass it, as we will prepare you for everything you need to answer every question correctly. You can also increase your chances of passing the exam by using our DMV Prep Wizard, as this stimulate the conditions you will be met with during the exam.
Step 4: After you have passed the exam, you will be able to get behind the wheel of a car and train with a driving instructor. You will also be ready to log in your practice hours.
Step 5: after you have held your permit for six months, the next thing you need to take is the road test. If you pass the road test, then you will receive your license.
If you have any questions about who we are or what are lessons consist of, then head to our FAQ page, as we have many answers there.
If you are ready to get your license or permit, then visit the register section of our site, and get started today. You will be glad that you chose us to prepare you for a license or permit.


text:
And until they do go after Democrats with the same viciousness that they are going after statues and pancake syrup, it will be difficult to take this movement seriously.
The next day, Ricochet member Bucknelldad asked "What Will the Mob Do with Woodrow Wilson?"
This particular historical figure re-segregated the military. He infamously chose "Birth of a Nation" as the first motion picture (silent) to feature at the White House. Never seen it? It glamorized the Ku Klux Klan, the militarized wing of the Democratic Party from the end of the Civil War to the Great Depression. Look up the 1924 Democratic Convention, infamously known as the "Klanbake."
Wilson was famously reelected in 1916 under the motto, "He kept us out of war." How did that work out? Like much of the Progressive movement of the day that infected both major political parties, he was a big fan of Eugenics.
It did not take long for the first answer, as Princeton finally did, in the Trump era, what they refused to do in the Obama era. Consider these two posts on the issue back in 2015:
Then They Came for Woodrow Wilson
Does Woodrow Wilson Belong at Princeton?
Now, when it serves the electoral interests of the radical leftists controlling the Democrat Party, President Eisgruber has suddenly seen the light. Mind you, his contrary view in 2015 did not earn him condemnation by the first black president of the United States, even though it was safely after his reelection.
When I wrote to you on Monday morning, June 22, I noted that the Princeton University Board of Trustees was discussing how the University could oppose racism and would soon convene a special meeting on that topic. The meeting took place yesterday, June 26. On my recommendation, the board voted to change the names of both the School of Public and International Affairs and Wilson College. As you will see from the board's statement, the trustees concluded that Woodrow Wilson's racist thinking and policies make him an inappropriate namesake for a school or college whose scholars, students, and alumni must stand firmly against racism in all its forms.
As most of you know, the board previously considered whether to remove Wilson's name after a group of student activists occupied my office in November 2015. The Wilson Legacy Review Committee conducted a thorough, deliberative process. In April 2016, it recommended a number of reforms to make this University more inclusive and more honest about its history. The committee and the board, however, left Wilson's name on the School and the College.
The board reconsidered these conclusions this month as the tragic killings of George Floyd, Breonna Taylor, Ahmaud Arbery, and Rayshard Brooks drew renewed attention to the long and damaging history of racism in America. Board Chair Weezie Sams '79 and I spoke individually to members of the board, and it then met on June 26.
The board continues to respect, as do I, the Wilson Legacy Review Committee's process and report, including its description of Wilson's historical record and its "presumption that names adopted by the trustees after full and thoughtful deliberation … will remain in place, especially when the original reasons for adopting the names remain valid." The board nevertheless concluded that the presumption should yield in this case because of considerations specific to Wilson's racist policies and to how his name shapes the identities of the School and the College.
Wilson's racism was significant and consequential even by the standards of his own time. He segregated the federal civil service after it had been racially integrated for decades, thereby taking America backward in its pursuit of justice. He not only acquiesced in but added to the persistent practice of racism in this country, a practice that continues to do harm today.
Wilson's segregationist policies make him an especially inappropriate namesake for a public policy school. When a university names a school of public policy for a political leader, it inevitably suggests that the honoree is a model for students who study at the school. This searing moment in American history has made clear that Wilson's racism disqualifies him from that role. In a nation that continues to struggle with racism, this University and its school of public and international affairs must stand clearly and firmly for equality and justice. The School will now be known as "The Princeton School of Public and International Affairs."
The University had already planned to close Wilson College and retire its name after opening two new residential colleges currently under construction. Rather than ask students in the College to identify with the name of a racist president for the next two years, the University will accelerate retirement of the name. The College will instead be known as "First College" in recognition of its status as the first of the residential colleges that now play an essential role in the residential life of all Princeton undergraduates.
These conclusions may seem harsh to some. Wilson remade Princeton, converting it from a sleepy college into a great research university. Many of the virtues that distinguish Princeton today—including its research excellence and its preceptorial system—were in significant part the result of Wilson's leadership. He went on to the American presidency and received a Nobel Prize. People will differ about how to weigh Wilson's achievements and failures. Part of our responsibility as a University is to preserve Wilson's record in all of its considerable complexity.
The Black Justice League isn't buying what Princeton President Eisgruber is selling, nor should they:
In your statement, you mention that you lionized Woodrow Wilson in part due to "ignorance" regarding his beliefs. This is hard to believe given how strongly the University holds to every other aspect of Wilson's legacy at Princeton, and how much BJL, students who came before us, as well as historians and alumni from all over the world worked to reveal the egregious viewpoints and actions of Wilson to roll back racial progress at Princeton and beyond. In 1904, years after most other Ivy League schools had admitted Black students, Wilson stated: "The whole temper and tradition of the place are such that no Negro has ever applied for admission and it seems extremely unlikely that the question will ever assume a practical form." As another example of Woodrow Wilson's hostility toward Black people, he also claimed: "It was a menace to society itself that the negroes should thus of a sudden be set free and left without tutelage or restraint," clearly indicating that he not only disapproved of Black progress, but he also disapproved of Black people's freedom beyond "restraint."
[I]n 2015, you strongly defended Wilson and the idolatry of his legacy at Princeton. In communication with the BJL, you wrote: "[I] agree that [Woodrow] Wilson was racist." However, you further qualified your statement by quoting A. Scott Berg, a Wilson biographer in saying: "[at] the beginning of the 20th century…Wilson's racial views were fairly centrist in America." This stands in stark contrast to the June 27, 2020 announcement which states: "Wilson's racism was significant and consequential even by the standards of his own time…Wilson's segregationist policies make him an especially inappropriate namesake for a public policy school." It is hard to believe that you so specifically quoted from Wilson's biographical texts, yet continued to be ignorant to the extent of his racist and vitriolic behavior until recently, a moment in which anti-Black racism has come into stark relief.
As Paul Mirengoff observes, "Princeton's president isn't fooling the Black Justice League:"
How could one event, unrelated to Woodrow Wilson, have transformed Eigruber's thinking about Wilson and caused him suddenly to perceive an "urgent responsibility to stand firmly against racism and for the integrity and value of black lives"? Hasn't he long perceived this responsibility?
Suppose Chauvin had called in sick the day he confronted Floyd. Would Woodrow Wilson be less of a racist? Would Eisgruber have found it less urgent "to stand firmly against racism."
Of course not. But if Chauvin had called in sick, angry Blacks might not have vociferously demanded the the purging of Wilson's name from Princeton. Surely, that's what made the difference for Eisgruber.
I called this particular subject of leftist lying out back in March of 2019, urging that we must all "make them own it." I mean it all the more now. Republicans must fight the fight before us and win by making the left own their lying propaganda, their convenient claims and chants.
[A] Washington Post story on 10 March 2019 inadvertently raised quite another issue in our current racial politics [emphasis added]:
Wilson, a Southern Democrat and two-term president who moved to the White House in 1913, was a staunch supporter of segregation, setting back African Americans in their quest for civil rights.
So far we are clearly dealing with just the symbolic act of renaming a school. But then the story takes another turn.
When Wilson took office, the District had a large black population and the federal government provided these residents well-paying jobs and careers. But Wilson impeded the progress of the District's black population by further segregating the federal workforce and making it harder for black residents to land public-service jobs.
Wilson's policies contributed to the decimation of vibrant African American neighborhoods in Northwest Washington, according to Alcione Amos, curator at Smithsonian's Anacostia Community Museum.
But starting in the 1920s, the federal government began using eminent domain to acquire much of this prime real estate from residents, Amos said. At the time, D.C. did not have local governance, so the federal government controlled real estate.
This process continued for decades until the black communities were gone. Wilson, which opened in 1935 as an all-white school, was built on land adjacent to these neighborhoods. Lafayette and Alice Deal, which feed into Wilson High, also opened as all-white schools.
"Woodrow Wilson created the ideal environment to destroy African American communities," Amos said.
Think that through. Here we have a clearly defined, compact, geographic area in which federal policy was exercised to destroy, to ethnically cleanse, a black community. Surely it is only proper to now exercise that same federal power on this same defined area of the District of Columbia to make things right. Housing is incredibly expensive. Well-made, affordable housing is needed.
My point is that the Wilson High situation lets us turn the left's rhetoric on itself. Responding that you and I don't owe X diverts the focus back where the left wants, so resist that urge and consider the greater effectiveness of making them own it. If the left believes its own talk, it is time to pay up, and here is the perfect case. Exercise eminent domain *again* and turn the parlor pink leftists' fancy digs into affordable housing units.
Maybe we could even take a page from Mao—send the displaced apparatchiks and nomenklatura to offices in a farm state.
There is no Marxist arc of history. There is no fate but what we make. We have a country to save. Make. Them. Own. It.
Tags: Ku Klux Klan, Princeton, racist, Segregation, Woodrow Wilson
This post was promoted to the Main Feed by a Ricochet Editor at the recommendation of Ricochet members. Like this post? Want to comment? Join Ricochet's community of conservatives and be part of the conversation. Join Ricochet for Free.
RightAngles
@RightAngles
9:55 PM EDT ⋅ Jun 29, 2020
Wilson's racism was significant and consequential even by the standards of his own time
When will BLM and all black Americans wake up and realize that the same is true of all Democrats and always has been? And that their true natural home is the Republican Party. How have we allowed this gaslighting to continue until we've reached this stage of pre-dystopia? How do they not see how unbelievably racist it is to think:
-that black Americans need to be "saved" and "helped" by white liberals and their paternalistic social policies?
-that black people don't have normal I.D. in their wallets like any competent adult?
And when will they see:
-that the free market doesn't know or care what color you are or who your parents were?
-that it's the Democrats who are so excruciatingly aware of race and color, and that we see only Americans?
Sisyphus (hears Xi laughing)
@Sisyphus
10:04 PM EDT ⋅ Jun 29, 2020
Clifford A. Brown:
Chauvin's actions were the occasion for an insurgency that has been planned for generations. It was a pretext that struck a match and tossed it into a gasoline soaked building whose preparers go back to Lenin and Mao. A response no more spontaneous than Kristallnacht.
The Communists have been fighting Christianity forever. They find sin, decry it, and promise to eliminate it. The wayward forget that he who says he is without sin is a liar, and the truth is not in them. Each cancellation is a sin. Rather than confront the contradictions in a figure like Washington or Jefferson, they must be cancelled to fulfill a false vision of a sinless life that can never be in this world.
There will always be a Chauvin, because we are all Chauvins. The Cancelers are Chauvins whenever they cancel. Facebook and Twitter are Chauvin's every time they censor or ban the other, placing their knees on the throats of free men and suborning their First Amendment freedoms of speech and religion. As they seek to cancel God's voice in the public square because it convicts them as surely and clearly as it convicts Chauvin.
Jon1979
@Jon1979
Wilson's been out of office now for 99 1/2 years (more than that, really, if you throw in his incapacitation) and today's hyper-woke angry types aren't really deep into progressive politics. They know Woody was a progressive, but he also falls into the category of dead, white males, so there's less reluctance to cancel him among the millenial and Gen Z crowd, who have their own mythological president emeritus now in Barack Obama to swoon over into the foreseeable future.
Dumping FDR is probably still a bridge too far for the Democrats, Japanese internment policy or not, because of how linked he is to the New Deal and the rise of big government (Roosevelt can also be hit over his pre-World War II attitude on Jews trying to escape Germany, but today's angry SJW crowd likely would view that as a mark in FDR's favor). Same deal with Margaret Sanger — it's not like the left doesn't know about her feelings about blacks, and using abortions to lower their birth rate. But abortion is such a huge issue to the left, they're not throwing Sanger and Planned Parenthood under the bus, out of fear about what that would say about modern abortion and which race has the highest percentage of abortion clinic customers.
(Double post deleted)
Arahant
@Arahant
Clifford A. Brown: There is no Marxist arc of history. There is no fate but what we make. We have a country to save. Make. Them. Own. It.
Preach it!
Hoyacon
@Hoyacon
7:46 AM EDT ⋅ Jun 30, 2020
Many of the (mostly white and liberal) citizens of D.C. who reside in the Northwest quadrant send their kids here provided, of course, that they can't afford a tony private school.
Jim McConnell
@JimMcConnell
RightAngles (View Comment):
Amen. Preach it, sister!
Unsk
@Unsk
Ya know I don't think Wilson has ever been given his proper going over. He was a really bad guy. Not only was an out and out racist he was also a Fascist who inspired Mussolini who put many thousands in jail for opposing his War policies. But his policies in many ways laid the foundation for today's Progressive Movement so he is an untouchable. His Presidency should be an horrible embarrassment to the Progressive Movement but of course our Education establishment has erased that embarrassing history from the history books so our sensitive woke ears will never hear of it.
Goldwaterwoman
@goldwaterwoman
Clifford A. Brown: President Trump should not be opposing this too much. Rather, he should be pointing out leftist hypocrisy, especially their support for real butchers and mass murderers. He should also hammer on the fact that Wilson was a PROGRESSIVE DEMOCRAT, just like the current "progressives."
The ill-educated mobs have even gone for Grant's statue, the Union hero of the Civil War. Our streets are populated by wild animals.
Miffed White Male
@MiffedWhiteMale
Goldwaterwoman (View Comment):
They even defaced a statue of Stevie Ray Vaughn.
Miffed White Male (View Comment):
This means war!
@CliffordBrown
Unsk (View Comment):
Animals do not engage in wanton destruction. Humans do. Of course, we have had iconoclasts before, any time old gods or old images of faith and authority were seen as a threat to the new order.
Does anyone else find it creepy that the only sin that seems to matter anymore is racism? Racist racism!! Woodrow Wilson was an awful man, and I am enjoying the watch-them-eat-their-own schadenfreude as much as the next guy, but racism (real, perceived, or otherwise) is literally the only bad thing that these people can conceive of.
Charlotte (View Comment):
It's the new religion. You could write a book.
Hoyacon (View Comment):
Ugh. Do I have to? You first.
@Columbo
12:32 PM EDT ⋅ Jul 1, 2020
I thought Dinesh D'Souza portrayed Woodrow perfectly …

redpajama_set_name: RedPajamaCommonCrawl


Sikandra : The city of Sikandra houses the tomb of Akbar. Legend has it that the construction and design of the tomb was started by Akbar himself, and subsequently completed by Jahangir. The tomb is made of five stories, the first four built of red sandstone and the fifth with marble. The tomb also has several well-maintained gardens.


12347 Windsor East Drive has a Walk Score of 28 out of 100. This location is a Car-Dependent neighborhood so most errands require a car.
This location is in Fishers. Nearby parks include Roy G Holland Memorial Park, Cottingham Park and Harrison Park.
Explore how far you can travel by car, bus, bike and foot from 12347 Windsor East Drive.


text:
Q: Adding GTK child widget to main window on a function call I am trying to add GtkNotebook widget in my GtkWindow widget. The window widget is created in the ui file along with the GtkBox.
myclass:: myclass()
{
GtkBuilder *builder = gtk_builder_new();
gtk_builder_add_from_file (builder, "uifile.ui", NULL);
gtk_builder_connect_signals (builder, NULL);
mainWindow = GTK_WIDGET (gtk_builder_get_object(builder, "mainWindow"));
box = GTK_BOX (gtk_builder_get_object(builder, "box1"));
gtk_widget_show_all (mainWindow);
}

I have this function void newTab in myclass. And view is defined as GtkWidget *view.
void myclass:: newTab()
{
view = gtk_notebook_new();
gtk_notebook_set_tab_pos (GTK_NOTEBOOK (view), GTK_POS_TOP);
gtk_box_pack_start(GTK_BOX (box),view, TRUE, TRUE, 0);
gtk_box_reorder_child (GTK_BOX (box), view, 1);
gtk_widget_show (view);
}

But I am getting a segmentation fault when I call this function.
Is this not the correct way to add the widget to my mainWindow?
How do I correct this?
For complete code of myclass.h and myclass.cpp file refer here http://pastebin.com/tWTUKtZG

A: here I do it in python3, gtk3, which basically the same
class myclass ():
   def __init__ (self):
      mainWindow = # construct from builder
      tab = self.newTab ()
      mainWindow.add (tab)

      mainWindow.show_all ()

   def newTab (self):
      view = Gtk.Notebook ()
      view.show ()
      return view

   # in C
   # GtkWidget* newTab ()
   # {
   #    view = Gtk.Notebook ()
   #    view.show ()
   #    return view
   # }

perhaps you added GtkWidget *view into mainWindow before you call void onTab () ?, if you did, do the opposite


Lightweight Bermuda shorts made of highly stretchy textured ripstop fabric, allowing for greater freedom of movement. This fabric is also breathable, with the ability to wick away moisture quickly and easily.
-Chino-style front pockets and zip safety pockets on the front and back.


Fraser Island is one of those places that everyone will say you need to go. And after spending just one day on the island, I'm one of them too.
Together with the Lone Pine Koala Sanctuary in Brisbane, Fraser Island was the other place I made a point of stopping on our short two-week jaunt to Australia.
Lots of visitors to the island seem to stay overnight, which I would've loved to do, but being short on time meant we ended up taking a day trip there instead. I'm yet to have the opportunity to do any long-term travelling, so often book guided tours as they're a good way of seeing everything without fear of getting lost and wasting time. Wherever possible, I'll always go with the smallest tour group I can afford, and after a lot of research, I ended up booking this one with Unique Fraser, a local company offering trips around the island in 4×4 land cruisers, as opposed to big buses crammed full of tourists.
We'd planned our visit as part of a road trip from Brisbane to Airlie Beach, and had arrived in Hervey Bay the night before. As well as being a gateway to Fraser Island, Hervey Bay is also a hub for whale watching during the months of July to November – but beyond that, there wasn't a whole lot to do there, so I wouldn't allocate too much time here if you're on a schedule.
We were picked up outside Fraser Lodge, where we'd camped for the night, by our guide and driver for the day. His name was Fritz, a warm smiling man originally from Austria, who we quickly found out loved to laugh and joke. We got into his car and met Jonas in the front seat, a solo traveller from Germany who'd also signed up to the tour, and then drove a short distance to pick up the two other guests – a woman named Christine and her 8-year-old son, Harry, who lived right here in Hervey Bay. You know you've made a good decision choosing a tour company when even the locals book with them!
We made the short drive over to the ferry while introducing ourselves to each other in the car, and all crossed our fingers that the gloomy clouds in the distance would pass by the time we got to the other side.
I like to experience as much as I can when travelling, and read before our visit that you can actually rent a 4×4 to explore the island by yourself. But within 2 minutes of arriving on the island, I was SO glad we didn't do that.
Fritz sped off the ferry like we were competing in a drag race, leaving a dust trail behind us and the other cars.
"It's the best way to escape the corrugations in the sand", he said as if to justify the speedy driving. We'd barely gotten past the 'entrance' sign to the island but it was already abundantly clear that Fritz knew this place like the back of his hand.
Google the words 'Fraser Island' and one of the first images you'll see will be Lake McKenzie, which was our first stop of the day.
Thankfully, the clouds parted a little by the time we got there, and illuminated the sapphire water against the white sand. I have no idea what makes sand that soft or water that blue, but all I knew was I needed to take it all in.
After some early morning sunbathing on what is the nicest, most beach-like lake I've ever been to, we stopped for some light breakfast in the designated picnic area nearby. It's not advised to eat outside of these gated areas, as the island is home to wild dingoes that are always on the hunt for scraps. There's signs all around informing visitors about 'dingo safety' – primarily, Fritz tells us, you should stand up tall facing them, and always look them in the eyes.
As the world's largest sand island, the 'roads' on Fraser Island are nothing more than sand paths that dip and rise at every turn, which Fritz navigates like a pro. Tall green trees tower over us on both sides, and Fritz, who's been a tour guide since 2003, tells us all about them. He slows down the car to point out the interesting species of tree, fern and plant, and can tell the difference between a scribbly gum tree to a blue gum tree as if it was night and day.
We take a drive through Eurong next, one of the three villages on the island en route to our next stop. Only around 180 residents live on Fraser Island, but 1,400 people are actually here at any given time visiting.
Much like the rest of Australia, Fraser Island is enormous. The island spans a massive 126km in length, and along one side of its coast is the famous 75 Mile Beach. There's no prize for guessing where it got its name, but the sheer scale of the place is hard to grasp when you get here. To put it into perspective (if you also live in the UK), 75 miles is equivalent to the distance from London to Portsmouth. Imagine that, in nothing but beach.
Waves crashed dramatically on our right, with miles of beach as far as the eye can see – it's such a huge stretch of sand that the highway code applies here, and has markings for planes to land.
Along the 75 Mile Beach, we stop to see another one of the main attractions on the island, a huge shipwreck washed ashore in 1935. It's not the only ship that's been claimed by Fraser Island, but it's the most famous – efforts to refloat her have been unsuccessful, all the major parts have since been stripped and sold, and all that remains now is a severely rusted structure, slowly sinking into the sand.
Before our lunch break, we go for a dip on the island's natural pools. Fritz and Christine joke about them being unremarkable, as they're both ex-Sydneysiders who have seen much better natural pools elsewhere, and I'm somewhat inclined to agree with them – the scenery here is beautiful, but it's not quite as impressive as the fairy pools at Noosa National Park or in Sydney.
The crowds are packed here though. It's so busy it looked like people were sharing a hot tub in parts! I dipped my toes in a few puddles and soaked up the sun in between the clouds, before heading back to the car where we had lunch on the beach.
We go for a bit of exercise next and climb to the top of Indian Head, a rocky vantage point at the easterly end of the 75 Mile Beach. It's a steep walk to the top, but leads to incredible views of the island from its rocky cliff.
The name of the site hints to the island's violent past, as a number of aboriginal people were first seen assembled here, and then later, some were thrown over the edge by those looking to colonise the island. It's a sad reminder of how cruel the human race can be, but also important to remember that the places we visit carry significance beyond just views.
Last on our stop is the beautiful Eli Creek, which flows out from the island and trickles across the beach and into the ocean. Because the creek is mostly shaded by overgrown trees, the water maintains a cool 17C temperature all year round. There's a walkway which leads you into the creek, where you can then walk back in the water. I dipped my toes in and was shocked to find how cold it felt, and so headed back via the platform from which we came!
Outside Eli Creek, busloads of gap year-aged travellers lay sunbathing, listening to music, and playing beach volleyball together. I have absolutely nothing against this, of course, but having long passed that stage of my life, I was extra glad to have chosen a small group tour with Unique Fraser instead. Our day felt like we were out with good friends, and it was amazing to see all the variety this sandy paradise has to offer.
Whatever style of trip you want to take, just make sure you add Fraser Island onto your east coast itinerary, even if it is just for one day.
You can bring your car or rent one to take across to the island if you'd prefer to see it independently, but fees and licenses apply (it also needs to be a 4×4 to navigate the difficult terrain).
Your trip looks beautiful! I haven't been to Australia yet, but Fraser Island needs to be on my itinerary!
I can wholeheartedly recommend it!
Ah enjoy Brisbane! If you have time make sure you check out Lone Pine Koala Sanctuary too which I wrote about recently. You can do day trips to Fraser Island from Noosa as well I think which is much closer to Brisbane than Hervey Bay 🙂 Have a great time!
As an Australian who has lived in America for the past 25 years, this post gives me another reason to return home and see my birthland.
This place looks incredible! I would love to visit Australia someday. If I do, I will make sure to go here. Your photos are beautiful. Thank you for sharing!
It looks amazing. Of course Australia is on my bucket list.
This looks incredible. I just met a girl in New Zealand last month, she recommended Fraser Island to me and said it's an amazing place to watch the stars at night. If I ever make it to Australia, I'll definitely have to visit.
Wow, Fraser Island looks incredible. I've never been to Australia but I'll keep this in mind if I ever make it over there. The water is so blue!! And for 75 miles… wow. Thanks for sharing your experience there!
We definitely squeezed in a lot! I bet it was nice to stay overnight and spend more time at each place though 🙂 I'd loved to have done the same – next time!
Gracias por toda la buena información!


text:
Adios, Muchachos: Review for Z Nation 213 By A. Zombie
Post written by RC Murphy at January 6, 2016 10:08 am
Categories: Reviews, Z Nation, Zombiepocalypse, Zombies
Tags: A Zombie, reviews, SyFy, television, Z Nation, zmurph, zombie, zombies
With only two episodes after this left in season two, a lot of things needed to happen in order to kick-start the finale hype. Doing this by having a two-part episode in the same location with a highly predictable outcome may not be the wisest move. I mean, it's still fun, but the lull is a little late in the season. Luckily once the crew is back on the road, they're not far from the California border. It really is the only way to justify the eye candy episodes in the Zeroes compound.
Roberta saves Vasquez's bacon big time. She stops Kurian from injecting the Zmurph serum into her newest crewmember and suggests Kurian take the inaugural dose. Trapped with no way to avoid outing the scheme, Kurian doses himself. He's not quite dead yet. Matter of fact he's feeling good enough to go for a walk. A short walk. To a box containing a severed zombie head, which La Reina orders him to stick his hand into as a test for the cure. Amazingly, Kurian doesn't turn. It's enough to convince La Reina to dose her entire crew—except Escorpion, a.k.a. Hector, who takes Vasquez off for another round of torture. He's the lucky one. The serum works as intended, with a slight delay before Murphy is able to make them do a soft shoe to Brittney Spears songs—which he doesn't do in this episode, but should. Taking control of Kurian, Murphy sets him to work making more serum.
Off in Hector's torture chamber, Vasquez finally confesses to the attempted murder. As reward for his honesty, Hector has Vasquez strapped into what's essentially an iron maiden, only with a zombie instead of sharpened spikes on the door, so a zombie maiden. There Vasquez is forced to listen to Hector's woefully typical, "This bad stuff happened to me as a kid and that's why I'm a murderer," speech. I would have preferred to hear just about anything else from the character. He's called away to a meeting. Thank goodness.
To say Roberta isn't onboard with the Zmurph plan is a vast understatement. She washes her hands of Murphy's plan for Kurian and the Zeroes the second she realizes it's a thing which is really happening as they stand there trapped in what will probably become a nest of ravenous Zmurphs. Leaving Murphy to deal with Kurian, Roberta heads to warn the others that they need to get out ASAP. Before they fully formulate a plan, she's called to the meeting with Hector and La Reina. Before she goes, the others are tasked with finding Vasquez.
At the meeting, Hector lies so much his pants spontaneously combust. Roberta calls him on the bull, admitting that Vasquez has no interest in killing La Reina, just the man who murdered the former DEA agent's family. Murphy strolls into the meeting just in time to control La Reina, making the meeting go favorably for their group. Not so much for Hector. Murphy gets a little too eager to flex his power, ordering Roberta to kill Hector. They're only saving grace is the meeting is amongst other Zmurphs.
Zmurphs Murphy loses control over moments after Roberta leaves with Hector leading the way to the torture room. The time to leave is, like, fifteen minutes ago. Kurian in hand—because he wants more serum even if the doctor is lusting for Murphy blood—Murphy runs to the lab. One can only assume he means to grab whatever supplies they'll need to make a cure on the road. Roberta ends that plan by decapitating ravenous Kurian.
With Vasquez free and Hector locked in the zombie maiden, there's nothing stopping them from walking out the same door they came in through. Right? Ha. Ha ha ha. La Reina and the other Zmurphs are on the hunt for their master. She recovers Kurian's head before leading the Zmurphs through the power plant tunnels. Doc gets an idea to use the zombies trapped in the power plant to fight the Zmurphs, except the doors won't open. That's okay, Murphy here to save the day. He uses his powers to agitate the zombies, their weight breaking the doors.
Did anyone else kinda want this fight to suddenly stop and turn into a dance routine from Westside Story? Just me? Okay . . . .
The crew runs for it. Murphy lags behind. Guilt weighs heavy on the poor guy. He's not okay with zombie on Zmurph violence, but what can they do? The mission is more important. Something he nearly forgot in the rush of having his own people to control. Despite misgivings, he leaves the underground power plant, joining the others on the now-deserted street.
Deserted except for Hector. It looks like the nutjob chewed his way through the zombie maiden. Hector and Vasquez have an honor fight. Roberta makes everyone stand down so the two can pummel each other. The fight ends with Vasquez tossing Hector to the zombies clambering to climb the ladder. That's it for the Zeroes. Right? Maybe. We know Kurian's head lives to see another day, but who is the one saving him at the episode's end?
The gang borrows the Zeroes' fleet of El Caminos and hits the road in style. They're not far from the border. If they don't muck things up, they could reach the lab in a day.
They're going to muck things up. I just know it.
El Jefe: Ash vs Evil Dead 101 Review by A. Zombie »
« Start to Finish: Review for The Walking Dead 608
The Murphy: Review of Z Nation 201 By A. Zombie
A. Zombie Reviews…Deadheads
Judgement Day: Review for Ash vs Evil Dead 309
A. Zombie Reviews . . . Colin


text:
Q: Show $2^{10x/7}(1-x) \le \frac12$ for sufficiently small $x>0$
Show  $2^{10x/7}(1-x) \le \frac12$ for sufficiently small $x$, where $x$ is positive.

I've thought about trying to find the limit to this as $x$ tended to $0$, but have had a lot of difficulties. Help would be greatly appreciated.

A: As Barry Cipra commented, there is something wrong in the problem.
Considering the function $$f(x)=2^{10 x/7} (1-x)$$ $$f'(x)=-\frac{1}{7} 2^{10 x/7} (10 (x-1) \log (2)+7)$$ the first derivative cancels for $x_*=1-\frac{7}{\log (1024)}\approx -0.00988653$ for which $f(x_*)=\frac{7\ 2^{3/7}}{e \log (32)}\approx 1.00005$ and the second derivative test shows that this is a maximum.
Close to $x=0$, a Taylor expansion gives $$f(x)=1+ \left(\frac{10 \log (2)}{7}-1\right)x+ \left(\frac{50 \log ^2(2)}{49}-\frac{10
   \log (2)}{7}\right)x^2+O\left(x^3\right)$$ Close to $x=1$, a Taylor expansion gives $$f(x)= 2^{10/7} (1-x)-\frac{20}{7}  \left(2^{3/7} \log
   (2)\right)(1-x)^2+O\left((x-1)^3\right)$$
In order to have $f(x)\lt \frac 12$, it would be required that $$x>1+\frac{7 }{\log (1024)}W\left(-\frac{5 \log (2)}{14\ 2^{3/7}}\right)\approx 0.76576$$ So, I suppose that the problem is for values of $x$ close to $1$ instead.

A: to make it clear, the value of $y=2^{(10x/7)}(1-x)$ between $[0,1]$ looks like:

obviously it's not less than 1/2 for small positive x
by the way, x=0 is where $2^{(10x/7)}(1-x)$ get max value
two roots for $2^{(10x/7)}(1-x)=1/2$ is approximately -1.7049 and 0.76576


Are there any good open source automated testing tools? – Desktopize – Give you web applications desktop power!
Home » Web Application Testing » Are there any good open source automated testing tools?
Are there any good open source automated testing tools?
Question by sk l: Are there any good open source automated testing tools?
I'm looking for a good open source automated testing tool, something like what WinRunner or QuickTest Professional does. Not needed for testing web applications. Thanks!
I'm looking for a good open source automated testing tool, something like what WinRunner or QuickTest Professional does. I found Marathon but that's for Java. Not needed for testing web applications, just .net developed Windows based applications. Thanks!
No, sadly there isn't anything worth it's salt out there. On a positive note there is rumors that MS will be releasing an automated testing api in about three years.


There is something for all ages at this annual country fair, from entertainment and amusement rides to livestock exhibits, so come and join us in August for the best time in the U.P.! It is our mission to showcase local residents representing the agricultural, industrial, educational, and recreational industries of the Luce-West Mackinac County area. For more information email lucewestmackfair@gmail.com or call (906) 293-8785.


Click here to go to our Summer Information page.
The Dance Program at DTNJ is one of the leading dance training programs available in our area. Students receive unsurpassed instruction in both the recreational, pre-professional and competitive programs. We provide a fun, high energy and positive environment for all of our dancers. No distinction is made between student types, as recreational students, who choose to dance for pure enjoyment or physical activity, are given no less consideration then their competitive or pre-professional counterparts who have chosen to make dance their primary extracurricular pursuit. Regardless of program concentration, all students are given the tools needed to exceed expectations and excel to their individual fullest potential.
DTNJ's Company is split into two divisions: Performance and Competitive. Our DTNJ Performance Company (ages 4+) is a non-competitive performing group. They have performed at local community events such as parades, farmer markets, town fairs, nursing homes, etc. Their mission is to share their love for dance with the community and be able to gain performing experience alongside it. Our Competitive Company provides opportunities for students to perform and compete locally and along the East Coast. Auditions, or invitation to join is required to be considered for the Company.


It's just as aca-awesome as it seems.
It's a stifling July day in Baton Rouge, Louisiana, on the set of Pitch Perfect 2, and Hailee Steinfeld bursts into song. She's shooting her audition scene in the house that serves as the Bellas's college pad. And she kills it.
There's no denying the 18-year-old is talented: She's an Oscar nominee (you need to Netflix True Grit ASAP) and a film-festival fixture (hello, Sundance, Toronto, and Tribeca), and she is undeniably chic. In the follow-up to the beloved smash Pitch Perfect, the Los Angeles native shows off her powerhouse pipes.
"Cut!" director Elizabeth Banks yells from across the cozy living room. "You sound so good, Hailee. Yay!" Hailee retreats to a light-blue customized director's chair to explain how excited she is to be a part of the movie. "I've always wanted to be a Bella—and my character shares that dream, too!" Hailee plays Emily, a college freshman who's "sweet, quirky, naive, and maybe a little weird," she says, adding that she did not take vocal lessons for this project.
The teen embraces being the newbie among costars Anna Kendrick, Rebel Wilson, and Brittany Snow and the other returning Bellas. "I did have to be initiated," she says with a laugh (though she's tight-lipped about the deets). "It wouldn't have been the real deal if I wasn't."


Has your home started to look worn from the elements or are you just tired of the same old color? Give your home a facelift with services from McMillen Painting & Wallpapering.
Whether you need interior or exterior painting services, get beautiful results for your home or business.
Remove, repair, or update the wallpaper in your home or office with a new design. Contact us today.
Specialty and faux finishes add a unique touch to your home. You're limited only by your imagination.
Have your damaged drywall repaired, and get smooth and flawless walls. Call us today to learn more.


text:
GCSE, A Levels and BTECs... Councillor Liz Brighouse congratulates students
Children hands
Oxfordshire County Council Cabinet Member for Children, Education and Youth Services, Councillor Liz Brighouse, said: "Congratulations to all students receiving their GCSE, A level, BTEC and other academic results this week. I know how challenging the last year has been for students and teaching staff and it is testament to everyone's commitment that exams and course work have been completed.
"A levels are due to be published on Tuesday 10 August and GCSEs on Thursday 12 August. I would like to thank all parents and carers for the support they have given to their children during this exam period. Thank you too to all the school staff who have taught, coached and mentored the class of 2021.
"As always there will be some remarkable achievements, some disappointments, and lots of triumphs over adversity. For those students who have not received the results they were hoping for, there is excellent support available both through the schools, and a number of services that offer help for young people. Once again, I would like to wish all our students success in the next chapter of their lives, whatever that may be."
For anyone unsure of their next steps after exam results, further help can be found at www.oxme.info and through the National Careers Service which has a helpline number: 0800 100 900. For anyone interested in apprenticeships: www.oxfordshireapprenticeships.co.uk
Throughout the results period and beyond, county council staff will be available via the webchat service on the Oxme website to talk to young people and parents about the wide range of learning and employment opportunities available in Oxfordshire for 16 – 19 year olds. Details of drop in sessions and other local support can be found at www.oxme.info/resultsday
Click Sign up to hear from us and receive the latest news and updates in our fortnightly newsletter, Your Oxfordshire.


VOLUNTEERS experienced in repairing household goods are opening up a repair cafe in Mornington.
Members of the Peninsula branch of Solve Disability Solutions and the Mornington Men's Shed will hold their first "repair day'" on Sunday.
A similar volunteer repair workshop is already up and running at Rye Community Centre, following on from the first Repair Cafe which opened in Holland in 2009.
The list of items to be fixed ranges from small furniture pieces to bikes, toys, crockery and computers.
"Anything that is broken is welcome but, at this stage, for safety reasons, we can't touch mains electrical components and wiring," "fixer" Bill Hallett said.
"By repairing goods, we want to help reduce the mountains of waste going into landfill.
Members of the group will also serve tea and coffee.
These Repair Cafe experts will be available to help fix broken household goods free of charge, although donations will be accepted.
The fixers will encourage the owners of the broken items to be involved in the repairing.
The fixers will also be supplying their own tools.
The Repair Café is open 2-5pm, Sunday 18 November, at the Men's Shed in Wilsons Road, Mornington. Details: 0409 197 307.
Check out the Mornington and Rye Facebook pages for up-to-date information and next open days for each cafe.
Be a place for nurturing mate-ship and creating feelings of belonging. Have a structured program for advancing Men's health and well being.
To develop a positive and participatory culture among its members.
Meet the needs of its members and their families.
Be supported by members' families.
Generate sufficient income to be financially independent.
Be a valuable, respected and supported asset in our local Community.
Have appropriate activities supported by a health, safety and welfare program.
Have effective partnerships within the Community.
Be a place for learning, inclusive of all Men and for all ages.
Sincerity and devotion to the improvement of Men's health. honesty and integrity in all of our activities and projects.
Responsiveness to the needs of Men, their families and their local communities.
Wisdom in applying technology and innovation to assist Men in their everyday lives.
Respect for the value added by teamwork and participation to life-long learning.
Appreciation of the value of contributions by Friends, Partners and Sponsors.
Responsibility and generosity in giving back to our Local Community.
In early 2015, our Shed became involved in an inter-generational mentor program between year 7 & 8 students, from Mt Eliza Secondary College, and men from our Shed.
This program involved the students teaching some of our members how to properly use Apple devices.
Both of the students and the men from our shed have learned a lot from each-other, and gained a mutual respect for each-others abilities. An extremely worthwhile exercise!!!
We have to thank Bunnings for their incredible donation of timber and paint, with a special thanks to their fantastic Activities Coordinator, Jenny, who also got her hands dirty helping with the assembly.
The Mornington Men's Shed highly recommends all listed web-sites and their content.
Click on the images to visit their excellent sites to obtain more information.
NOTE:- Visitors to the Shed are welcome to visit us at or Tuesday meeting at Wilsons Road 9.30 to 11am.
All other visitors to the Shed should contact us first to see if either of our sheds are open.
9am till 4pm from Monday to Friday, excepting holidays.
9am to 4pm on Monday and from Wed to Friday, excepting holidays.
9:30 am till 11 am, excepting holidays.
If you would like to checkout our club facilities, please ring first to arrange a mutually suitable time and day.
Visitors to our Work Shed in Mitchell St must park in the gravel car park and sign-in at the Advance/MPYE Office before proceeding to the Work Shed.
The Mornington Men's Shed would like to thank the following companies and community groups,for their ongoing commitment and support!
Click on the pictures to visit their excellent sites and get their contact details.
Sincerity and devotion to the improvement of Men's Health.
Act with honesty and integrity in all of our activities and projects.
Respond to to the needs of Men, their families and their local communities.
Use our wisdom in applying technology.
Innovation to assist Men in their everyday lives.


OT Grip has been designed as the perfect fit between a grab rail and the human body, minimising physical effort and discomfort. Australian innovation.
OT Grip is a world first, creating a point of difference in your living or working environments. Although the hand is pliable for grip, the natural shape between the thumb and index finger is an oval shape. OT Grip allows the hand to fall naturally around the rail, minimising strain for the hand, enabling grip on the grab rail without forced closure of the hand. OT Grip is low maintenance with no obstruction on the rail to harbour bacteria. This product range will assist in having a positive affect on the health and well-being of the user in all environments.
Available in two finishes, Satin or Mirror Polished.
Stainless Steel Grab Rail including Easy Slide and Hand Shower Kit.
Stainless Steel Back Rest designed for use in W/C applications.
Stainless Steel Back Rest Combo Grab Rail Set designed for use in W/C applications.
Stainless Steel Grab Rail designed for use in W/C applications.
Size: 1110x950x700 x 40 Deg Rise.
Size: 1110x1040x600 x 90 Deg Rise.
Size: 840x700 x 40 Deg Rise.
Size: 965x600 x 90 Deg Rise.


text:
Monday to Sunday: 10am - 6pm
8811 Beverly Boulevard, West Hollywood, CA 90048 | [email protected] | +1 (424) 303-7664
Opened in 2018, Maddox Gallery Los Angeles is situated in West Hollywood's fashionable Design District.
The vibrant art scene in Los Angeles' Design District was the perfect setting for our first gallery stateside, which has quickly become a leading destination for modern and contemporary art lovers and collectors.
With more than 3,000 sq ft of space and striking vaulted ceilings, the gallery's generous size is the perfect showcase for large-scale artworks by trailblazing new voices alongside some of the most respected names in the world of art.
Since the gallery opened, Maddox Gallery Los Angeles has hosted exhibitions by both established and emerging artists, alongside collective bodies of work by internationally renowned contemporary artists, including Damien Hirst, Banksy, David Yarrow and RETNA.
Maddox Gallery LA Exhibitions
Spring Contemporary
30 November 2020 - 30 April 2021
'Postcards From L.A.' by John Tierney
'Pamela Anderson' by David Yarrow
6 - 26 June 2019
10 September - 9 November 2018


Alika has become a powerful presence in the world of music. Her word testaments, accompanied by groovy reggae roots beats which keep audiences entranced in consistent heart-felt rhythms, are an exhilarating source of welcome inspiration. She reflects calm and her relaxed and friendly demeanor sets an enjoyable tone to her live performances. Her music keeps your body, and mind, in motion. Her words make you think about your role in the world, in that moment. Are you feeling love? Share it. Are you feeling negative? Let it go.
Alika performs mostly reggae roots and hip hop, always with a twist, but she also has a love for cumbia as showcased on several of her recordings. It's an infectious combination of all kinds of hip-swaying rhythms, along with the necessary guiro/cowbell sazón with quirky electronic elements. It's great that you immediately want to dance. This is Alika at her best, enjoying that she's got you moving, while keeping you conscious through her carefully worded lyrics. Watch.
Going back to her lyrics, again and again, we appreciate the power of her truth. She sings about our own power and how important it is to encourage and love each other. Dignity and equality are constants in her music. She sings about common struggles and our ability to overcome anything. Love is a foundation… so is education and seeking out the truth in every situation. The following audio mix (Unidad y Respecto Mixtape) reflects the history of Alika's music along with soundbites about her music's message.
The singer-songwriter also uses her talent and knowledge for endeavors outside of music. She created a successful fashion line, Alika Tresde, as well as a line of eyewear for Vulk. And despite the success she continues to garner as her music spreads globally, she maintains her feet firmly on the ground. Through her music many young women have found peace of mind, a new sense of self-awareness, and an overall feeling of courage to face the world with pride.
Alika will be performing at this year's SXSW Music Festival in Austin, TX.


text:
Q: Unable to scan number I want to scan a number from user and want to use that number in switch statement, but I am getting the error that I have mentioned below.
a<-scan()
1: switch(a,print(df1),print(df2))
1: 1

Error in scan() :
    scan() expected 'a real', got 'switch(a,print(df1),print(df2))'


WEAVER BROTHERS, LTD. can design and manufacture an oil pump to fit most any racing engine and application from 1 to 8 stages. Our inventory includes oil pumps from Porsche engines all the way to 700 cu. inch Ford engines. What we don't stock we can build. Our oil pumps are easily serviced in the field and every pump comes with and easy to read repair manual.


text:
Lyft parlayed a disastrous year at Uber into big gains and a good-guy reputation. But are the two San Francisco companies reshaping transportation nationwide really so different?
By Victor Luckerson Feb 22, 2018, 6:30am EST
Share All sharing options for: Taking the High Road
Jordan DeWitt was in his Manhattan apartment one night last winter when he decided to delete an app on his phone. The act barely qualifies as an inconvenience, but the implications felt like they resonated far beyond the boundaries of his iPhone.
"There was something triumphant about it," the 24-year-old actor says. "It makes me want to roll my eyes to say, 'It's a small act of resistance.' But I don't know, it kind of made me feel good for a minute."
DeWitt canceled his Uber account on January 28, 2017, when the #deleteUber hashtag began to trend, kicking off one of the worst years of corporate mishaps in Silicon Valley history. On that day, Uber stood accused of disrupting a one-hour boycott of John F. Kennedy International Airport by taxi drivers who were protesting President Donald Trump's travel ban of people from seven majority-Muslim countries. Uber's transgression—eliminating surge pricing at JFK—had actually occurred after the taxi protest, but the sudden anger at the company really stemmed from years of devious practices. The same ruthlessness that had propelled Uber to a $70 billion valuation also allowed customers to assume the worst about the company's intentions in a moment of confusion. But unlike previous Uber controversies, this one came with consequences. Hundreds of thousands of customers absconded for the nearly identical ride-hailing app Lyft. "It does the same job pretty well," DeWitt says, "and it doesn't make me feel like I'm supporting supervillains."
The backlash came as a surprise to Lyft president John Zimmer, who had watched from Uber's shadow as the ride-hailing giant engaged in ethically questionable tactics for years (often against Lyft itself) and was rewarded with more users and venture capital. "For the first three and a half years before [#deleteUber], we believed values mattered, we believed taking care of the people in our business mattered, and we were hoping it would show up in consumer sentiment and in the behavior of consumers," Zimmer tells me at Lyft's San Francisco headquarters. "But we didn't know if and when that would happen."
The 33-year-old Zimmer seemed eager to talk to me, and for good reason. Thanks to the internet's outrage at Uber and a well-timed Lyft donation of $1 million to help the ACLU fight Trump's travel ban, Lyft surpassed Uber in app downloads for the first time that weekend. (Zimmer says that #deleteUber did not influence the donation decision.) The achievement was just the start of a banner year for the company, which included expanding its coverage area to 95 percent of the United States, more than doubling its number of rides year-over-year to 375.5 million, and gaining more than $2 billion in fresh venture funding.
Lyft is still far from unseating the company whose name has become the go-to verb for ride-hailing. Uber is a global business, while Lyft operates only in the United States and Toronto. As of early 2018, Lyft still has only around 27 percent market share in the U.S., according to credit card analytics firm Second Measure—but that's way up from the 15 percent share the company commanded before #deleteUber happened (Lyft says it has reached one-third market share). In major cities where Lyft has operated for years, like San Francisco and Los Angeles, the margin is much closer. What once appeared to be a rout is slowly evolving into a legitimate rivalry.
Zimmer, though, insists that his company's true competition isn't the Uber app on your phone, but rather the car in your driveway that sits unused 95 percent of the time. For more than a decade he and Lyft cofounder Logan Green have been devising ways to use the internet to cram more people into fewer cars. They dream of a world where carpooling in driverless Lyfts is the norm, personal car ownership is obsolete, and cities have been radically redesigned to best accommodate human beings rather than automobiles. "The implications of this business will have the largest impact on our built environment that we will witness in our lifetime," he says. "The stakes are really high."
Roundtable: How Far Will the Gig Economy Go?
Roundtable: What Will the Future With Driverless Cars Look Like?
How Technology Is Creating a Generation of Adult Babies
But technology has a habit of yielding unintended consequences—the plain old human-driven car brought us suburban sprawl, global warming, and the leading cause of death among teengaers, after all. Already there are pitfalls in Lyft's idealistic vision, with recent research showing that ride-hailing apps are reducing public transit use in some cities and clogging congested roads with even more cars. Lyft's brand is built on an image of friendly, well-cared-for drivers, but like Uber drivers, they remain under the heel of the gig economy as independent contractors. And big questions remain about what will happen to these workers if and when the driverless future ever does arrive.
These are not just Lyft problems—they're societal ones. But Zimmer believes his company is uniquely equipped to deal with the issues of labor, infrastructure, and transportation technology that will reshape cities this century. Lyft has the good-guy image that Silicon Valley needs in a moment of increasing tech cynicism, but it's still an IPO-bound corporation that is structurally similar to one regularly described as "evil." The question Zimmer will have to answer, as his company transitions from plucky underdog to legitimate ride-hailing rival, is whether he can build a business that's actually a force for good, and not just the lesser of two evils.
Lyft's rapidly expanding offices, in San Francisco's Mission Bay business district, mix typical Silicon Valley quirk with the company's well-curated progressive image. In the lobby, hundreds of translucent yo-yos hang from the ceiling in front of the company's bubbly, lowercase logo. In various corners of the gray, industrial workspace, AstroTurf benches surrounded by living plants present a splash of green, symbolizing the dream of parks one day replacing parking lots in cities (an idea that came to Zimmer on a trip to New York's High Line, a former railroad line reclaimed as green space). Propped up next to one employee's computer sits a small picket sign that reads "#MLKEVERYDAY." Uber's headquarters, just 2 miles away, feels a universe apart, all sleek minimalism and actual black mirrors.
John Zimmer. at a Lyft event in 2015
Photo by John Sciulli/Getty Images for Lyft
Lyft and Uber began as wildly different companies, a fact that Zimmer believes explains why such increasingly similar services can have such starkly different brands. "Logan and I started this company with a social purpose," he says. "The other company was looking to create private drivers in limos for their best friends. That's the origin stories."
It really did take a while for Uber's and Lyft's stories to intertwine. Uber was started by serial entrepreneurs, Lyft by recent college graduates with passions for public transit (Green) and hospitality management (Zimmer). The initial version of Uber was an upscale black-car service to let Travis Kalanick (recently ousted as CEO) and his friends "roll around San Francisco like ballers." Lyft began as a way to help college kids without vehicles carpool home for the holidays.
Back then, though, it wasn't called Lyft. In 2006, Green launched Zimride, a carpooling platform that used Facebook to connect people planning rides along similar long-distance routes. Zimmer came on as a cofounder in 2007, and their service slowly gained popularity on college campuses (the company was named for Zimbabwe, where Green had observed the popularity of carpooling on a postgraduation trip, not for Zimmer). Zimride was a modestly successful business, but there were concerns in Silicon Valley that its founders lacked the killer instinct that defines nearly every tech giant's origin story.
"When we were fundraising, I got questions from the VCs saying, 'Are they too nice?'" recalls Ann Miura-Ko, an early investor in Zimride and current member of Lyft's board. "And I used to say, 'There's a difference between being competitive and being nice.' You don't have to give up one to be the other."
As the number of smartphones in the country surged, Zimmer and Green realized they needed to figure out a way to transfer Zimride's business to mobile devices. At a hackathon in early 2012, their team came up with a concept that mixed Zimride's carpooling idea with Uber's ride-hailing model—an app that would let customers get a ride at a moment's notice, driven by someone in their personal vehicle rather than a fancy black car. "We [needed] to take it from a product you use two times a year to two times a day," Zimmer says. They considered calling the new service Zimride Instant but instead christened it Lyft.
Lyft launched in May 2012, catching the tail end of the gee-whiz optimism about technology's ability to solve the world's problems via human connection. Early marketing worked extra hard to sell Lyft as a feel-good company: Sit in the front seat! Give your driver a fist bump! Laugh at this goofy pink mustache! But beneath the branding there were features showing that Lyft really did care about more than its own bottom line, such as the ability to tip drivers and a mentor program that paired each new driver with an experienced one before they hit the road. Zimmer himself drives on Lyft every New Year's Eve to better understand the driver experience, and his time behind the wheel is going up as the company expands, not down. "They've always had the driver-centric approach, and it wasn't just marketing," says Harry Campbell, owner of the popular blog The Rideshare Guy. "Nowadays, a lot of drivers feel like they're the more driver-friendly company."
Uber quickly launched its own version of Lyft's more casual ride-hailing service, called UberX, and easily gained supremacy in the market. Uber had more money and less shame, bending cities to its will and trying to break its enemies outright. It became the most valuable startup in the world and set its sights on besting Google in the realm of driverless cars and Amazon in the world of product delivery. Lyft emerged as the most viable alternative to Uber out of a scrum of similar startups (RIP, Sidecar) but couldn't escape also-ran status. In 2016, Lyft was reportedly in acquisition talks with a variety of larger companies but couldn't earn a high enough bid (a spokesperson says Lyft was "never for sale").
Even as Uber took off, Lyft retained one advantage: It had a much better public reputation. An early 2017 survey of more than 1,000 drivers by Campbell found that less than half of them were satisfied with their experience driving for Uber. About three-fourths of drivers said they were satisfied driving for Lyft. These drivers, as they sang Lyft's praises or griped about Uber's poor treatment during rides, helped frame the way passengers viewed the two companies. Their biggest complaint about Lyft was often simply that there weren't enough passengers to make driving exclusively on the platform lucrative. More passengers could attract more drivers, who would in turn lower wait times and attract more passengers. To enter this virtuous cycle of network effects, though, Lyft needed a spark.
Enter #deleteUber. By the time of that calamitous weekend last January, Uber and Lyft had become interchangeable experiences for passengers. That made it easy for people to judge the two companies through a moral lens rather than comparing price or service quality. "It's especially [true] when there's similarity on those dimensions—price and quality—that reputation matters even more," says Brayden King, a professor of management and organizations at the Kellogg School of Management at Northwestern University. "I think people are extremely politically sensitive right now and therefore consumers seem to be more mobilized around lifestyle choices that resonate with their own personal politics."
Gwen Baer, a 26-year-old social media manager, deleted her Uber account in response to the JFK Airport incident, along with six of her friends, who now all use Lyft. She saw it as part of the broader protest movement erupting around the country at the time. "It was just another thing that we were doing, standing up and letting people know we do care about people of color, we do care about immigrants," she says. "Modern-day America is more than just Trump's America and capitalism and consumerism. We also care about people for being actual human beings."
Lyft has leaned aggressively into its anti-Uber positioning, though Zimmer still refers to his rival as "the other company" most of the time. He has an earnestness that seems extremely well rehearsed. Given his background, his salesmanship makes sense—he attended Cornell University to study hospitality management and likes to compare personally owned cars to wildly underutilized hotel rooms. Unlike Kalanick, who checks off a long list of insufferable Silicon Valley stereotypes, Zimmer wants to be seen as a humble guy driven by passion over profits. At a keynote dinner at CES in January, he affably explained Lyft's ambitious road map, making looming problems (driverless cars displacing human workers) seem like opportunities (more Lyft rides increasing the need for human drivers as driverless cars are gradually implemented). The presentation earned rapturous applause—more than is typical, I was told by one longtime CES attendee—and both people seated next to me said they wanted to start using Lyft over Uber after hearing Zimmer speak.
Sometimes, though, he sells too hard. In a strange interview with Time last March, Zimmer repeatedly described Lyft as "woke" and called his company a "better boyfriend" than Uber. By the time I talked to him in January, he'd recalibrated his PR messaging: "I think [woke] is not the right word for me to be using. … What I want to articulate with that in how we operate is that we are going to be a responsible company that takes care of everyone that's involved."
Lyft's progressive acts have certainly extended past the ACLU donation. In May, the company introduced a feature that lets passengers round up their fare to the nearest dollar and donate the change to charity. The feature has raised more than $4 million. After the white supremacist rally and fatal attack in Charlottesville in August, the company organized a staffwide meeting to let employees vent and decompress, an act of compassion that tech companies often botch. Out of that meeting emerged a plan to include the Southern Poverty Law Center in the round-up donation program and to implement company-wide unconscious bias training. "I got to take my diversity inclusion hat off for a moment and sit in the room as a black man, and see my cofounder across from me talk about the fact that he cares about these issues," says Tariq Meyers, Lyft's head of inclusion and diversity. "There were some real conversations that we had, but we had outcomes. … [Zimmer is] very action-oriented as a leader."
Ultimately, though, Lyft believes its biggest impact on the world won't be through charity, but through its business model. And the company—whose marketing tagline is "It matters how you get there"—is working hard to convince customers that hailing Lyfts fits into the framework of progressivism that has become part political viewpoint, part personal aesthetic in the social media era. "What we're finding in our communities is that folks want to be a part of something. They want to stand for something, or in our case, they want to sit for something," Meyers says. "Just by touching a button I can be a part of something greater than myself."
Boston is currently home to both the promise and peril of Lyft's future. In December the company launched its first self-driving pilot and partnered with the autonomous car software company nuTonomy to let customers in the city's Seaport District hop into driverless vehicles. Having ridden in a Lyft driverless car at a demo in Las Vegas, I can tell you that the trip is disarmingly smooth, and the exact opposite of the white-knuckle experience in an aggressive taxi driver's car.
In 2016, Lyft said that more than half of its rides would be driverless by 2021, and the company is sticking by that timeline a year and a half later. With its boost in funding and surging user base, Lyft was able to ink several important deals for its driverless future last year. In addition to the nuTonomy tie-up, Lyft announced partnerships with Jaguar Land Rover and Ford (the company also signed earlier deals with General Motors and the Google spinoff Waymo). The company poached a key engineer from Google's Maps division in February and announced in July that it would launch a driverless car research center, where it would develop its own software and hardware for fully autonomous vehicles. In Lyft's vision, all these companies with competing interests will one day deploy their cars on Lyft's transportation network, and customers will have access to any in their vicinity. "We assign an autonomous vehicle, you get a match, and then we give you the option to decide whether or not you want a self-driving vehicle or if you want a traditional Lyft," says Taggart Matthiesen, Lyft's director of product. "Those are competitors, but … I see them just as service providers."
Photo by Isaac Brekken/Getty Images for Lyft
Whether or not this plan is really implemented by 2021, we don't have to peer into the future to see how Lyft is changing cities like Boston. Earlier this month the city's Metropolitan Area Planning Council issued a report on the transportation habits of ride-hailing customers. The survey found that 59 percent of the roughly 1,000 respondents were using apps like Uber and Lyft on trips when they otherwise would have walked, biked, or used public transit. Fifteen percent of the ride-hailing trips were adding congestion to roads during rush hour. And the average ride-hailing trip represented 35 cents in lost fare to Boston's public transit system, even though the state charges only a 20-cent surcharge to recoup such losses. "The findings above indicate that ride-hailing trips are replacing more sustainable modes of transportation (transit, walking, and biking) at an alarming rate," the study states. (Lyft says that 47 percent of its customers in Boston use their cars less because of ride-hailing and 24 percent use Lyft to access public transit.)
Other independent research has mirrored Boston's findings. An October study [PDF] by the University of California, Davis that surveyed adults in seven major U.S. cities found that people who used ride-hailing apps used public transit 6 percent less. Overall between 49 percent and 61 percent of ride-hailing trips would have occurred by more sustainable means (walking, biking, or public transit) or not at all if Uber and Lyft were not available. And all of these trips include a period of "deadheading," when a driver is alone en route to a new passenger, that would not occur if a person were driving themselves around. Estimates for the time drivers spend deadheading range from 20 to 50 percent, according to the study.
These newest data throw cold water on the idea that Lyft and Uber will inevitably improve traffic conditions as they grow. "Net for net, they're taking more people off of transit than they're putting on. … They're definitely adding more cars to the road," says Regina Clewlow, the lead author of the study. "If I'm swapping a trip I would have driven myself for a trip in an Uber, at the end of the day, that's still basically the same, if not more, miles on the road."
Driverless cars may only exacerbate these problems. From a business standpoint, the main appeal of driverless cars is that they should allow Lyft and Uber to drive down both costs and prices by getting rid of a major expense, human drivers. But lower costs will also increase demand, which means even more cars on the road, and potentially less use of public transit. I explored the heaven-hell dichotomy of driverless cars in a feature about Seattle's traffic problems in 2016—the more individual people place their own comfort and privacy over the communal benefits of carpooling or public transportation, the faster the dream of a driverless-car utopia turns into a nightmare.
"What happens in automated vehicles, as you drive the cost down—which is the entire goal—the incentive to share rides actually goes away," says Mark Hallenbeck, director of the Washington State Transportation Center at the University of Washington. "I am extremely skeptical that ridesharing will actually improve dramatically because the behavioral side of it says probably not."
Lyft says it is an ardent supporter of public transit—cofounder Green was the youngest member of the Santa Barbara County transit board when he was in college, and the company has many partnerships with local governments to ferry people to transit hubs or replace rarely used bus routes with subsidized Lyft rides. As for carpooling, Lyft certainly has more power to push people toward the habit than any public service announcement ever could. In 2017, about 40 percent of Lyft rides occurred in the carpooling service Lyft Line in cities where the feature was available, up from 30 percent the previous year. Zimmer says this number will continue to rise thanks to a mixture of price incentive and government policy—he supports a congestion pricing scheme that would charge people in cars with only one or two people. "Policy can find that price point to change your behavior," he says.
A world of fully occupied Lines and Uber Pools would reduce taxi traffic by 75 percent in New York, according to an MIT study, paving the way for the smart city of the future. But recent history is littered with idealistic tech visions—Facebook's global town square, YouTube's democratized take on television, Airbnb's "live like a local" ethos—undermined by human cruelty, self-interest, and greed. A company doesn't need to be as villainous as Uber to upend some aspect of society.
The road congestion conundrum underscores an important point: For all the talk of differing values, Uber and Lyft are becoming more similar over time. Both companies are deep in the red, using venture capital to subsidize their transportation upheaval. Both companies oppose allowing their drivers to unionize or be hired as employees with work benefits. In 2016, when Austin, Texas, passed new background-check laws that they found onerous, both companies left the city on the same day.
Uber has a new CEO, a contrite attitude, and a bevy of driver-friendly features that should have been implemented long ago, like tipping. Lyft has shed some of its distinguishing attributes, like the pink mustaches and the driver mentor program, as its business has scaled. And even some of Uber's controversies may not be unique—in January, a current or former Lyft employee anonymously claimed that workers at the company had improperly looked up passengers' location data, similar to Uber's notorious "God View" mode. The company has said such actions violate its policies and it is investigating the matter.
Is Lyft really just Uber with woke window dressing, a mirage of clever (and increasingly on-the-nose) marketing that's almost too easy to feel good about using? Many of the company's proponents who I interviewed struggled with the question. "I'm not going to sit here and say that Lyft is the end-all-be-all answer, but I think they do a better job of attempting to not just simply make profit and do a better job of considering the driver's needs," says Jason Evans, a 31-year-old resident of Austin who has mostly stopped using Uber since the travel ban. "I think people around my age feel like this is one action they can do and can have a difference."
Lyft certainly seems to be making an effort to do good, as all responsible corporations should. When I asked Zimmer if there was a CEO he modeled his leadership after, he mentioned Howard Schultz, the former Starbucks chief who built a brand out of corporate benevolence by paying for his employees' college tuition and vowing to hire 10,000 refugees. But Starbucks is also the company that was using ruthless scheduling software to wring every ounce of efficiency out of its workers, throwing their lives into chaos. Algorithms can guide human beings to behave like machines without the need to actually build a robot barista or a driverless car. And even well-meaning companies often find themselves using technology to advance their own ends rather than society's. Lyft wants to be the company that manages the balancing act between those two aims. It may be better equipped than its larger ridesharing rival, but it's still facing the same potential bumps in the road ahead.
"It's not just about one ride or the next couple of years or building a business. It's about what our cities can look like," Zimmer says. "And so values really matter."
The Biggest Inventions of the 2020s: Cancer Vaccines, Flying Cars, Space Travel, and More
What to Do When Playing the Word Game Wordle Isn't Enough? Solve It.
How the Rise of the Celebrity Instructor Transformed Our Relationship With Fitness
View all stories in Tech