OpenSync Interview – syncing on the free desktop

Filed in Uncategorized Leave a comment

Friday, May 19, 2006

This interview intends to provide some insight into OpenSync, an upcoming free unified data synchronization solution for free software desktops such as KDE, commonly used as part of the GNU/Linux operating system.

Hi Cornelius, Armin and Tobias. As you are now getting close to version 1.0 of OpenSync, which is expected to become the new synchronisation framework for KDE and other free desktops, we are quite interested in the merits it can provide for KDE users and for developers, as well as for the Open Source Community as a whole. So there’s one key-question before I move deeper into the details of OpenSync:

What does OpenSync accomplish, that no one did before?

Cornelius:

First of all it does its job of synchronizing data like addressbooks and calendars between desktop applications and mobile devices like PDAs and cell phones.
But the new thing about OpenSync is that it isn’t tied to a particular device or a specific platform. It provides an extensible and modular framework that is easy to adopt for application developers and people implementing support for syncing with mobile devices.
OpenSync is also independent of the desktop platform. It will be the common syncing backend for at least KDE and GNOME and other projects are likely to join. That means that the free desktop will have one common syncing solution. This is something really new.

How do the end-users profit from using synching solutions that interface with OpenSync as framework?

Cornelius:

First, the users will be able to actually synchronize all their data. By using one common framework there won’t be any “missing links”, where one application can sync one set of devices and another application a different one. With OpenSync all applications can sync all devices.
Second, the users will get a consistent and common user interface for syncing across all applications and devices. This will be much simpler to use than the current incoherent collection of syncing programs you need if you have more than the very basic needs.

How does OpenSync help developers with coding?

Cornelius:

It’s a very flexible and well-designed framework that makes it quite easy for developers to add support for new devices and new types of data. It’s also very easy to add support for OpenSync to applications.
The big achievement of OpenSync is that it hides all the gory details of syncing from the developers who work on applications and device support. That makes it possible for the developers to concentrate on their area of expertise without having to care what’s going on behind the scenes.
I have written quite a lot of synchronization code in the past. Trust me, it’s much better, if someone just takes care of it for you, and that’s what OpenSync does.

Tobias:

Another point to mention is the python wrapper for opensync, so you are not bound to C or C++, but can develop plugins in a high level scripting language.

Why should producers of portable devices get involved with your team?

Cornelius:

OpenSync will be the one common syncing solution for the free desktop. That means there is a single point of contact for device manufacturers who want to add support for their devices. That’s much more feasible than addressing all the different applications and solutions we had before. With OpenSync it hopefully will become interesting for manufacturers to officially support Linux for their devices.

Do you also plan to support applications of OpenSync in proprietary systems like OSX and Windows?

Cornelius:

OpenSync is designed to be cross-platform, so it is able to run on other systems like Windows. How well this works is always a question of people actually using and developing for this system. As far as I know there isn’t a real Windows community around OpenSync yet. But the technical foundation is there, so if there is somebody interested in working on a unified syncing solution on Windows, everybody is welcome to join the project.

What does your synchronisation framework do for KDE and for KitchenSync in particular?

Cornelius:

OpenSync replaces the KDE-specific synchronization frameworks we had before. Even in KDE we had several separate syncing implementations and with OpenSync we can get replace them with a common framework. We had a more generic syncing solution in KDE under development. This was quite similar from a design point of view to OpenSync, but it never got to the level of maturity we would have needed, because of lack of resources. As OpenSync fills this gap we are happy to be able to remove our old code and now concentrate on our core business.

What was your personal reason for getting involved with OpenSync?

Cornelius:

I wrote a lot of synchronization code in the past, which mainly came from the time where I was maintaining KOrganizer and working on KAddressBook. But this always was driven by necessity and not passion. I wanted to have all my calendar and contact data in one place, but my main objective was to work on the applications and user interfaces handling the data and not on the underlying code synchronizing the data.
So when the OpenSync project was created I was very interested. At GUADEC in Stuttgart I met with Armin, the maintainer of OpenSync, and we talked about integrating OpenSync with KDE. Everything seemed to fit together quite well, so at Linuxtag the same year we had another meeting with some more KDE people. In the end we agreed to go with OpenSync and a couple of weeks later we met again in Nuernberg for three days of hacking and created the KDE frontend for OpenSync. In retrospect it was a very pleasant and straightforward process to get where we are now.

Armin:

My reason to get involved (or better to start) OpenSync was my involvement with its predecessor Multisync. I am working as a system administrator for a small consulting company and so I saw some problems when trying to find a synchronization solution for Linux.
At that point I joined the Multisync project to implement some plugins that I thought would be nice to have. After some time I became the maintainer of the project. But I was unhappy with some technical aspects of the project, especially the tight coupling between the syncing logic and the GUI, its dependencies on GNOME libraries and its lack of flexibility.

Tobias:

Well, I have been a KDE PIM developer for several years now, so there was no way around getting in touch with synchronization and KitchenSync. Although I liked the idea of KitchenSync, I hated the code and the user interface […]. So when we discussed to switch to OpenSync and reimplementing the user interface, I volunteered immediately.

Can you tell us a bit about your further plans and ideas?

Cornelius:

The next thing will be the 1.0 release of OpenSync. We will release KitchenSync as frontend in parallel.

Armin:

There are of course a lot of things on my todo and my wishlist for opensync. For the near future the most important step is the 1.0 release, of course, where we still have some missing features in OpenSync as well as in the plugins.
One thing I would really like to see is a thunderbird plugin for OpenSync. I use thunderbird personally and would really like to keep my contacts up to date with my cellular, but I was not yet able to find the time to implement it.

Tobias:

One thing that would really rock in future versions of OpenSync is an automatic hardware detection mechanism, so when you plugin your Palm or switch on your bluetooth device, OpenSync will create a synchronization group automatically and ask the user to start syncing. To bring OpenSync to the level of _The Syncing Solution [tm]_ we must reduce the necessary configuration to a minimum.

What was the most dire problem you had to face when creating OpenSync and how did you face it?

Cornelius:

Fortunately the problems which I personally would consider to be dire are solved by the implementation of OpenSync which is well hidden from the outside world and [they are] an area I didn’t work on 😉

Armin:

I guess that I am the right person to answer this question then 🙂
The most complicated part of OpenSync is definitely the format conversion, which is responsible for converting the format of one device to the format that another device understands.
There are a lot of subsystems in this format conversion that make it so complex, like conversion path searching, comparing items, detection of mime types and last but not least the conversion itself. So this was a hard piece of work.

What was the greatest moment for you?

Cornelius:

I think the greatest moment was when, after three days of concentrated hacking, we had a first working version of the KDE frontend for OpenSync. This was at meeting at the SUSE offices in Nuernberg and we were able to successfully do a small presentation and demo to a group of interested SUSE people.

Armin:

I don’t remember a distinct “greatest moment”. But what is a really great feeling is to see that a project catches on, that other people get involved, use the code you have written and improve it in ways that you haven’t thought of initially.

Tobias:

Hmm, also hacking on OpenSync/KitcheSync is much fun in general, the greatest moment was when the new KitchenSync frontend synced two directories via OpenSync the first time. But it was also cool when we managed to get the IrMC plugin working again after porting it to OpenSync.

As we now know the worst problem you faced and your greatest moment, the only one missing is: What was your weirdest experience while working on OpenSync?

Cornelius:

Not directly related to OpenSync, but pretty weird was meeting a co-worker at the Amsterdam airport when returning from the last OpenSync meeting. I don’t know how high the chance is to meet somebody you know on a big random airport not related at all to the places where you or the other person live, but it was quite surprising.

Tobias:

Since my favorite language is C++, I was always confused how people can use plain C for such a project, half the time your are busy with writing code for allocating/freeing memory areas. Nevertheless Armin did a great job and he is always a help for solving strange C problems 🙂

Now I’d like to move on to some more specific questions about current and planned abilities of OpenSync. As first, I’ve got a personal one:

I have an old iPod sitting around here. Can I or will I be able to use a program utilizing OpenSync to synchronize my calendars, contacts and music to it?

Cornelius:

I’m not aware of any iPod support for OpenSync up to now, but if it doesn’t exist yet, why not write it? OpenSync makes this easy. This is a chance for everybody with the personal desire to sync one device or another to get involved.

Armin:

I dont think that there is iPod support yet for OpenSync. But it would definitely be possible to use OpenSync for this task. So if someone would like to implement an iPod plugin, I would be glad to help 🙂

Which other devices do you already support?

Cornelius:

At this time, OpenSync supports Palms, SyncML and IrMC capable devices.

Which programs already implement OpenSync and where can we check back to find new additions?

Cornelius:

On the application side there is support for Evolution [GNOME] and Kontact with KitchenSync [KDE] on the frontend side and the backend side and some more. I expect that further applications will adopt OpenSync once the 1.0 version is released.

Armin:

Besides kitchensync there already are a command line tool and a port of the multisync GUI. Aside from the GUIs, I would really like to see OpenSync being used in other applications as well. One possibility for example would to be integrate OpenSync into Evolution to give users the possibility to synchronize their devices directly from this application. News can generally be found on the OpenSync web site www.opensync.org.

It is time to give the developers something to devour, too. I’ll keep this as a short twice-fold technical dive before coming to the takeoff question, even though I’m sure there’s information for a double-volume book on technical subleties.

As first dive: How did you integrate OpenSync in KitchenSync, viewed from the coding side?

Cornelius:

OpenSync provides a C interface. We wrapped this with a small C++ library and put KitchenSync on top. Due to the object oriented nature of the OpenSync interfaces this was quite easy.
Recently I also started to write a D-Bus frontend for OpenSync. This also is a nice way to integrate OpenSync which provides a wide variety of options regarding programming languages and system configurations.

And for the second, deeper dive:

Can you give us a quick outline of those inner workings of OpenSync, from the developers view, which make OpenSync especially viable for application in several different desktop environments?

Cornelius:

That’s really a question for Armin. For those who are interested I would recommend to have a look at the OpenSync website. There is a nice white paper about the internal structure and functionality of OpenSync.

Armin:

OpenSync consists of several parts:
First there is the plugin API which defines what functions a plugin has to implement so that OpenSync can dlopen() it. There are 2 types of plugins:
A sync plugin which can synchronize a certain device or application and which provides functions for the initialization, handling the connection to a device and reading and writing items. Then there is a format plugin which defines a format and how to convert, compare and detect it.
The next part is a set of helper functions which are provided to ease to programming of synchronization plugins. These helper functions include things like handling plugin config files, HashTables which can be used to detect changes in sets of items, functions to detect when a resync of devices is necessary etc.
The syncing logic itself resides in the sync engine, which is a separate part. The sync engine is responsible for deciding when to call the connect function of a plugin, when to read or write from it. The engine also takes care of invoking the format conversion functions so that each plugin gets the items in its required format.
If you want more information and details about the inner workings of OpenSync, you should really visit the opensync.org website or ask its developers.

To add some more spice for those of our readers, whose interest you just managed to spawn (or to skyrocket), please tell us where they can get more information on the OpenSync Framework, how they can best meet and help you and how they can help improving sync-support for KDE by helping OpenSync.

Cornelius:

Again, the OpenSync web site is the right source for information. Regarding the KDE side, the kde-pim@kde.org mailing list is probably the right address. At the moment the most important help would be everything which gets the OpenSync 1.0 release done.
[And even though] I already said it, it can’t be repeated too often: OpenSync will be the one unified syncing solution for the free desktop. Cross-device, cross-platform, cross-desktop.
It’s the first time I feel well when thinking about syncing 😉.

Armin:

Regarding OpenSync, the best places to ask would be the opensync mailing lists at sourceforge or the #opensync irc channel on the freenode.net servers.
There are always a lot of things where we could need a helping hand and where we would be really glad to get some help. So everyone who is interested in OpenSync is welcome to join.

Many thanks for your time!

Cornelius:

Thanks for doing the interview. It’s always fun to talk about OpenSync, because it’s really the right thing.

Armin:

Thank you for taking your time and doing this interview. I really appreciate your help!

Tobias:

Thanks for your work. Publication and marketing is something that is really missing in the open source community. We have nice software but nobody knows 😉

Further Information on OpenSync can be found on the OpenSync Website: www.opensync.org


This Interview was done by Arne Babenhauserheide in April 2006 via e-mail and KOffice on behalf of himself, the OpenSource Community, SpreadKDE.org and the Dot (dot.kde.org).It was first published on the Dot and is licensed under the cc-attribution-sharealike-license.A pdf-version with pictures can be found at opensync-interview.pdf (OpenDocument version: opensync-interview.odt)

This article features first-hand journalism by Wikinews members. See the collaboration page for more details.
This article features first-hand journalism by Wikinews members. See the collaboration page for more details.

Scholastic sued for Harry Potter copyright infringement

Filed in Uncategorized Leave a comment

Thursday, July 15, 2010

A trustee of the estate of the late author Adrian Jacobs filed a lawsuit against the US publisher of the Harry Potter series, Scholastic Inc, on Tuesday. He claimed that J. K. Rowling, the author of the Harry Potter series, had copied scenes from Jacob’s novel, The Adventures of Willy the Wizard, to the fourth novel of the series, Harry Potter and the Goblet of Fire. The suit followed a similar case last year, in which the trustee sued the UK publisher of the series, Bloomsbury Publishing plc. Both of these cases are currently pending.

The complaint stated that in both books, the protagonists “are required to deduce the exact nature of the central task in the competition”, and had done so in a bathroom. Both books also involved “rescuing hostages imprisoned by a community of half-human, half-animal creatures.” The suit also claimed that Christopher Little, a literary agent of Rowling, was originally the literary agent of Jacobs. The claim was denied by Scholastic.

Scholastic called the claim “completely without merit”. They pointed out that Rowling had said in February that she had never read Jacobs’ book. The trustee said that the US was the world’s largest foreign market, so they brought their first overseas action there. He demanded that all copies of the Harry Potter novel be destroyed, and all the profit made by the book given to him.

Ontario Votes 2007: Interview with Family Coalition Party candidate Ray Scott, Algoma-Manitoulin

Filed in Uncategorized Leave a comment

Tuesday, October 2, 2007

Ray Scott is running for the Family Coalition Party in the Ontario provincial election, in the Algoma-Manitoulin riding. Wikinews’ Nick Moreau interviewed him regarding his values, his experience, and his campaign.

Stay tuned for further interviews; every candidate from every party is eligible, and will be contacted. Expect interviews from Liberals, Progressive Conservatives, New Democratic Party members, Ontario Greens, as well as members from the Family Coalition, Freedom, Communist, Libertarian, and Confederation of Regions parties, as well as independents.

Microsoft Taiwan will bring on high-definition AV-media Market in Taiwan after Xbox360 will support HDMI interface

Filed in Uncategorized Leave a comment

Friday, November 2, 2007

With some topics on high-definition audio-visual era world-wide, Microsoft Taiwan recently announced HDMI support of new Xbox 360 console. With a Xbox 360 HD-DVD Player, consumers can fulfill enjoyment on a wide-resolution scale of 1080p (Full HD). In fact, Microsoft Taiwan demonstrated the player for the pre-market preparation in the X06 Taiwan show last year.

Microsoft Taiwan invited DeltaMac Taiwan (Movie Agency Member of CMC Magnetics Corporation) demonstrating their published and represented movie discs at the Press Conference. According to DeltaMac, those movie discs supported not only 1080p HD scales but also all HD-DVD players including Xbox 360 HD-DVD Player without DVD region code limitation.

Many medias and younger players in Taiwan focused on the latest Xbox 360 RPG game Viva Piñata: Party Animals because of Halloween. Burger King Taiwan Branch announced some promotions with this game, and the animation film of Viva Piñata will be available next month in Taiwan.

With announcements of several newly Xbox360 games, launch of Xbox360 HD-DVD Player, and HDMI support, topics of high-definition audio-visual market in Taiwan will be brought on the announcements and the 28th Taipei Audio Fair next week.

Belgian bus company knows solution for car parking problems

Filed in Uncategorized Leave a comment

Monday, May 21, 2007

Do you have a hard time finding a parking space? Take the bus or tram if you go to the city. That’s the message Belgian bus company De Lijn (The Line) is sending to promote public transport as a solution for car parking problems. As a part of their media campaign, they have jokingly suggested that people use the top of the busses as parking space.

Another idea they are using in their media campaign: maybe you could park your car on the bottom of a canal? The bus company is using an invented diving company called Cardive, which has divers that offer to dump your car in the canal. The divers walk around in cities and hand out free bus tickets and maps of the bus network.

To reach car drivers who are not using public transport, the media campaign has several radio commercials that present other solutions to the car parking problem. You could use “asphalt-spray” to camouflage your car, making it invisible for policemen (although you then need to remember where you’ve parked). Or you could use the “flat tire kit”, which comes with a fake flat tire and an inflatable dummy, so it looks like you’re replacing your flat tire. The final idea the bus company has is to use a View-Master to fool parking guards into believing that your car has been stationed correctly.

A survey among 4000 customers of De Lijn shows that two out of three car owners who use public transport, do so to avoid parking space troubles, and in cities this percentage rises to 90%. The survey further shows that 39% use the bus to go shopping.

During the month of May, the auto-bus and the divers tour several cities in Flanders (Leuven, Hasselt, Ghent, Bruges and Antwerp).

Wikinews Shorts: April 6, 2007

Filed in Uncategorized Leave a comment

A compilation of brief news reports for Friday, April 6, 2007.

In Ramadi, Iraq, a truck loaded with explosives and chlorine gas exploded when an apparent suicide bomber drove the truck toward a checkpoint. The police opended fire and the truck veered toward a residential complex where it detonated. At least 20 people were killed and scores more injured.

It is the sixth chlorine bomb in the Anbar region in the last two months.

Sources


Afghan President Hamid Karzai acknowledged in a press conference that the Afghan government has been in talks with Taliban militants about a peaceful reconciliation for the war-striken country.

Karzai also ruled out any further deals with the Taliban to free Afghans or foreigners kidnapped by insurgents.

Related news

  • “Italy confirms swapping Taliban for Mastrogiacomo” — Wikinews, March 22, 2007

Sources


A European Union lawyer has sent a warning letter to the European Commission, warning that Ethiopian and Somalian government troops may have committed war crimes. The allegation is that under the AMISOM commander, civilians were attacked. The EU could be at risk of being seen as complicit, if it does not act to stop abuses, because it is providing funding to the Somali government.

Sources


Jeff Jones resigns as president of Uber

Filed in Uncategorized Leave a comment

Wednesday, March 22, 2017

Jeff Jones, president of ride-sharing company Uber Technologies, announced his resignation on Sunday. Jones was hired last October to helm the company that is known for their ride-sharing application, Uber, which has a reported 40 million monthly users.

Recently in Jones’s presidency of Uber, the ride-sharing company was involved in numerous controversies surrounding an alleged culture of sexism at the company, stemming from allegations blogged by Susan Fowler, a former Uber engineer, claiming sexual harassment against her and other women working for Uber.

In a statement to tech blog Recode, Jones claimed the situation he was working with at Uber was one inconsistent with “the beliefs and approach to leadership that have guided my career” and he could not remain the company’s president.

Jones, who was previously the Chief Marketing Officer at Target before joining Uber, came to the decision to resign after it was announced Uber would be hiring a Chief Operating Officer (COO) potentially outranking Jones.

Uber CEO Travis Kalanick confirmed the resignation in a statement to Uber staff, noting Jones “made an important impact on the company” in the six months he was in the role, noting his particular focus on Uber drivers and the delivery of Uber’s first brand reputation study.

Kalanick first announced his intentions to hire a COO earlier in March after footage surfaced of him arguing about rate cuts with an Uber driver.

Lowering The Cost Of Your Domestic Bills}

Filed in Electrical Services Leave a comment

Lowering the cost of your domestic bills

by

Malik Lucash

As the sun begins to stay around later than 4.30pm and such threats as snow or hail diminish, our thoughts invariably turn to the promise of endless, warm days stretching out into the distance. These moments of good weather aside, however, we all know that the next cold snap is just around the corner, and that we haven”t quite said goodbye to winter yet.

These temperature drops translate slightly worryingly into the world of household bills. Although energy efficiency is improving at a staggering rate, both in terms of electrical appliances and the very ways in which buildings are put together, it is still the case that, generally speaking, the average British home spends at least ?1,200 a year on basic gas and electricity bills.How can we cut back on this worrying amount? There is, unfortunately, no easy way to answer that question. But what is important for you as a customer to bear in mind is the fact that energy suppliers are constantly competing in prices ? as frustrating as it can be to realise this, you might be able to find a better deal on your household energy supplies than the one you”ve got at the moment.Although it may require some slight domestic upheaval, it could be worth looking into changing contracts, and despite the fact that not all companies are registered on them, market comparison sites are usually good places to start looking. After a good bit of shopping around, though, you may well find that for your individual needs, a new gas and electricity supplier may be a much better investment for the future, despite the admin headaches of changing companies.If you want more control over your bill rather than waiting worriedly to see how much you”ve burnt through each month, maybe you should consider a Pay As You Go method of payment. Harking back to the days when every household had an individual top-up electricity meter, these kinds of deals provide you with glorious independence from the regular standing payment.If ever you”re heading off on holiday, or if time of year demands less use of radiators or heaters, you have complete control over the amount that you spend on gas and electricity. Just make sure you don”t leave anything too perishable in the fridge before leaving home and forgetting to top up!There are, of course, smaller and more lifestyle-orientated ways of making your energy bill less worrying. Certain household appliances, such as electrical showers or portable heaters, get through energy tremendously fast, and making less use of these items could have a surprising effect on your expenditure.So if you”re less keen on completely changing your method of bill payment, small lifestyle alterations could accumulate to make the world of difference.

Malik Lucash is the author of this article about energy. Visit British Gas to find out the latest

gas and electricity prices

for UK residential and business customers.

Article Source:

Lowering the cost of your domestic bills}

Author Amy Scobee recounts abuse as Scientology executive

Filed in Uncategorized Leave a comment

Monday, October 11, 2010

Wikinews interviewed author Amy Scobee about her book Scientology – Abuse at the Top, and asked her about her experiences working as an executive within the organization. Scobee joined the organization at age 14, and worked at Scientology’s international management headquarters for several years before leaving in 2005. She served as a Scientology executive in multiple high-ranking positions, working out of the international headquarters of Scientology known as “Gold Base”, located in Gilman Hot Springs near Hemet, California.

Florida wins BCS National Championship Game over Oklahoma

Filed in Uncategorized Leave a comment

Friday, January 9, 2009

The Florida Gators defeated the Oklahoma Sooners by a score of 24 to 14 last night’s FedEx BCS National Championship Game to win the Division I title of the National Collegiate Athletic Association‘s American college football league. Florida, ranked Number 1 in the nation, were led by Heisman Trophy-winning quarterback Tim Tebow. “I promised the guys that I would go out and play with all my heart. I was so motivated tonight,” said Tebow. They were matched up against a Number 2 ranked Oklahoma team with a powerful offense, including this year’s Heisman Trophy winner, quarterback Sam Bradford. The game took place at a sold-out Dolphin Stadium in Miami, as a stadium record 78,468 fans attended the match.

Both team’s defensed dominated each others’ offenses in the first half, forcing a 7 to 7 score when halftime came against a Florida offense that averaged 54 points a game and an Oklahoma offense that averaged 40 points. In total, both team’s defenses had 4 interceptions, 2 for Florida and 2 for Oklahoma. Florida’s defense stopped Oklahoma twice during a goal line stand, stopping them on a fourth-down rush once, and a forced interception out of the hands of Oklahoma wide receiver Juaquin Iglesias by Florida’s Ahmad Black.

On the offensive side of the ball, Florida was led by Tebow. Although throwing 2 interceptions, Tebow completed 18 put of 30 passes for 2 touchdowns, as well as rushed 22 times for over 100 yards. Oklahoma quarterback Sam Bradford helped the Sooners offense through the air, completing 26 out of 41 passes for 256 yards and 2 passing touchdowns, but also throwing two interceptions. In the fourth quarter, Tebow completed a key 4-yard touchdown pass to wide receiver David Nelson, making the score 24 to 14 and putting the game out of reach for Oklahoma.

Some college fans believe that Florida did not rightly win the national championship, though. Fans of the Utah Utes believed that their undefeated team should have at least earned a spot in the game against Oklahoma or Florida’s one-loss teams. Fans of the USC Trojans and the Texas Longhorns also believed that the teams could have earned a spot in the game, due to their similar records. On the matter, Florida head coach Urban Meyer said “This is one of the best teams in college football history. Let someone else worry about all that. The Gators are No.1.”

On the game, Oklahoma head coach Bob Stoops commented “In the end, I’ll be glad to try again next year. If that’s the biggest burden I have to bear in my life, I’m a pretty lucky guy.” Tim Tebow, in a post-game interview, said “I was already motivated for a national championship game. But you know, there was some trash talking going on, and it just gets me going during the game.” In a losing effort, Sam Bradford commented “In the first half, we had opportunities that we didn’t take advantage of. In the second half, when we needed to make the plays, we just couldn’t do it.”

TOP