|
Read this newsletter from your browser
[the cutting edge ]
G'day Developers!
Sign up to a free Xamarin HackDay in your local area
Last month, SSW held the first of many Xamarin HackDays. This one was at the Sydney
office, and it was a great day. Xamarin is very important to all Microsoft developers as
it allows us to write a C# app in Visual Studio and publish it to iOS, Android and Win
phone8 in one fell swoop - woohoo!
The day started with three awesome presentations by local experts, Filip Ekberg, Rod Howarth, and Michael Ridland.
Figure: Filip Ekburg getting the crowd excited about Xamarin
After a nice steak lunch across the road at The Oaks Hotel, everyone piled back into the
room for the hands-on afternoon session.
The crowd formed into teams of 6 and they started hacking away.
I was impressed with how quickly the teams got stuck into their projects and battled to
get native mobile applications up and running.
Of course it helped that they were armed with the great knowledge learned that morning
and that there were Xamarin experts lurking around the room,
ready to remove any road blocks the teams encountered.
Figure: our HackDay attendees hard at work
The goal was that by the end of the afternoon each team would be ready to present to the
room what they had achieved, but with minutes to go before
the presentation, there were still many heads buried in laptops and screens being
shared.
At 4pm each team used their 10 minutes to show hot tips that they had learned and what
they had achieved. One of the most impressive projects presented
was from self-diagnosed professional geek, Nick Hodge (Microsoft).
Keep reading to find out what Nick made and how successful the
teams were.
After such a successful event, I’m happy to announce that Xamarin HackDays are now coming
to Brisbane, Melbourne, and more. Be sure to sign up for
the next Xamarin HackDay near you:
If you want to attend but don’t see an event in your area, sign up
here to let us know.
I look forward to seeing you there. #XamarinHackDay
-Adam Cogan, SSW
Got a comment for Adam?
Comment on Adam Cogan's blog
Tweet @adamcogan
Email Adam Cogan
|
New SSW TV video!
Xamarin HackDay
Xamarin HackDays aren’t just for Xamarin developers – they’re for anyone who wants to
learn Xamarin to design, develop, integrate, test apps, and more.
At our first Xamarin HackDay, our three presenters gave the audience a great introduction
to the topic and then everyone got stuck into trying it out for themselves.
The day was such a huge success that we’ve decided to do it again, and bring Xamarin
HackDays to cities around the world.
There will be something for everyone, experienced Xamarin developers can share ideas with
other experienced developers.
If you’re a beginner then there’s plenty to learn on the day.
|
Webinar: Dev Superpowers - SignalR
Using SignalR for real time communications - presented by David
Burela
SignalR: Using SignalR for real time communications
|
Thursday 24th July
11.00am - 12.00pm AEST
Cost: No Charge
|
SignalR enables real time communications between a client & server. Rather
than a client polling for updates, the server can now push updates to the
client (weather updates, footy scores, etc.)
|
About the presenter:
|
|
David Burela is a Microsoft Azure MVP and works as Solution Architect & State
Manager for SSW Melbourne.
He specialises in cloud development & smart client applications. He regularly
speaks at user groups and conferences like TechEd Australia.
Technology learning is a passion, and he just wants to spread knowledge to
everyone in the developer community.
David blogs about his latest adventures in coding at http://davidburela.wordpress.com/
|
More webinars coming soon:
|
Become a World Class Developer in just 9 weeks with FireBootCamp!
Special Intensive Course
Redmond, Sydney, Melbourne, Brisbane, San Francisco
-
*SOON*
Sydney: Sydney bootcamp starts July 21st - avoid disappointment and register
now!
Cost: $6,000 + GST
The FireBootCamp program is an intensive, full-time, 9-week program. Participants learn,
work and code together for 10-12 hours per day, 5 days
a week. There are exercise and food breaks, but for the main the program is continual
hands-on learning.
The program focuses on real world skills including Agile software development practices,
enterprise architecture, application life cycle,
end-to-end testing and user interface design. The technology stack covers .NET MVC,
TypeScript, JavaScript & jQuery and uses Microsoft Visual Studio 2013.
Scheduled Boot Camps:
*SOON* Sydney BootCamp
21st JUL 2014 – 19nd SEP 2014
|
Redmond BootCamp
2nd SEP 2014 – 7th NOV 2014
|
Find out more and register
|
Get Agile with 3 Day Scrum Training!
Intensive Professional Scrum Developer Course
|
|
Brisbane, Melbourne, Sydney, Perth, Canberra, Adelaide
Cost: $2,995 + GST
|
Professional Scrum Developer courses teach students how to work in a team - using modern
software engineering practices - to develop
an increment of potentially releasable functionality using a specific technology
platform.
Classes are exercise-driven, with students working in self-organizing teams to develop
"done" increments from Product Backlog items.
Course at a Glance:
This 3-day Professional Scrum Developer .NET course is a mix of lecture, demonstration,
group discussion, simulation, and hands-on
software development. The bulk of the course will be spent working as a team on a case
study application delivering increments of new
functionality in mini-sprints. Here is the course at a glance:
Note: Scrum fundamentals are not covered in this 3-day course. If you are not
experienced with Scrum fundamentals, the
5 day course is still available on site by appointment.
Melbourne
5 AUG 2014
|
|
Sydney
25 AUG 2014
|
|
Brisbane
13 OCT 2014
|
|
Perth
10 NOV 2014
|
|
Canberra
17 NOV 2014
|
|
Find out more and Register
|
Sydney .NET User Group
The best place to learn .NET for free in Sydney
|
|
Sydney .NET User Group
Wednesday 16th July 2014
6:00pm - 8:00pm
SSW Office
Gateway Court, Suite 13
81-91 Military Road, Neutral Bay NSW 2089
|
"Diving into Team Foundation Server Extensibility"- Damian Brady
Have you ever wanted Team Foundation Server to do X? You probably can!
In this demo-heavy, interactive session, we'll look at the many different options you
have for extending TFS to get even more out of the product,
including the brand new REST API and Web Hooks features just released at Tech Ed North
America.
We'll briefly talk about some of the more well-known extensibility points then move onto
some of those that are less well-known. We'll take a look
at the Server and Client Object Models and we'll take a peek at some other quick and
easy ways to subscribe to events and get information out of Team
Foundation Server. Finally, we'll drill into the new REST API and Web Hooks for the
newest and best way to interact with Team Foundation Server 2013.
About the presenter:
Damian Brady is a Microsoft MVP in Application Lifecycle Management and a co-author of
the "Professional Team Foundation Server 2013" book from Wiley.
He's a Solution Architect and State Manager for SSW Brisbane, and also runs the Brisbane
.Net User Group and the annual DDD Brisbane conference. Damian
specializes in Team Foundation Server and ASP.NET development and he's a regular speaker
at User Groups and conferences in Australia and overseas.
His Twitter handle is @damovisa and you can read his blog at http://www.damianbrady.com.au/
To see more details and RSVP, please visit
our Facebook
.NET Group,
our LinkedIn .NET Group
or our Meetup Group.
|
Can't make it to the Sydney .NET User Group?
Watch the Live stream!
|
|
Tune in from anywhere!
Sydney .NET User Group Live
6PM AEST (UTC+11)
The team at SSW TV are now streaming our User Group sessions live. Each
session will also be published on the SSW TV site after the event so you can
review what was said in the sessions.
|
|
Then join us at the NerdDinner
Where nerds meet and eat
SSW and Telerik invite you to join us for pizza at The Oaks. A fantastic opportunity for
networking with peers and sharing thoughts after the Sydney .NET User Group
presentation.
Sydney .NET User Group and NerdDinner proudly sponsored by:
|
Canberra .NET User Group
The best place to learn .NET for free in Canberra
|
|
Canberra .NET User Group
Monday 14th July 2014
6:00pm - 8:00pm
Microsoft Canberra Branch
Level 4, 6 National Circuit
Barton, Australia
|
"Diving into Team Foundation Server Extensibility"- Damian Brady
Have you ever wanted Team Foundation Server to do X? You probably can!
In this demo-heavy, interactive session, we'll look at the many different options you
have for extending TFS to get even more out of the product,
including the brand new REST API and Web Hooks features just released at Tech Ed North
America.
We'll briefly talk about some of the more well-known extensibility points then move onto
some of those that are less well-known. We'll take a look
at the Server and Client Object Models and we'll take a peek at some other quick and
easy ways to subscribe to events and get information out of Team
Foundation Server. Finally, we'll drill into the new REST API and Web Hooks for the
newest and best way to interact with Team Foundation Server 2013.
About the presenter:
Damian Brady is a Microsoft MVP in Application Lifecycle Management and a co-author of
the "Professional Team Foundation Server 2013" book from Wiley.
He's a Solution Architect and State Manager for SSW Brisbane, and also runs the Brisbane
.Net User Group and the annual DDD Brisbane conference. Damian
specializes in Team Foundation Server and ASP.NET development and he's a regular speaker
at User Groups and conferences in Australia and overseas.
His Twitter handle is @damovisa and you can read his blog at http://www.damianbrady.com.au/
To see more details and RSVP, please visit
our Facebook
.NET Group,
our LinkedIn .NET Group or
our Meetup Group.
Canberra .NET User Group proudly sponsored by:
>
|
Advertise with SSW
If you would like to advertise your product or service with SSW or would like to
find out more about various advertising opportunities, please email your enquiry
to<EMAIL_ADDRESS>or call: +61
2 9953 3000.
|
|
July 2014
|
Employment
Senior SharePoint 2013 Developers
Brisbane or Sydney
SSW is looking for an experienced and talented SharePoint developer who is passionate
about implementing awesome SharePoint solutions.
This role requires great communication skills and solid experience delivering
production-ready SharePoint solutions.
SSW has been the leading Microsoft technology company in Sydney for 21 years. We require
an enthusiastic Senior SharePoint developer to start at our Brisbane or Sydney branch
ASAP.
Read more and APPLY NOW...
|
|


Geolocater
Yet Another IP Geolocation Gem for Fun and Profit!
Installation
gem install geolocater
Usage
Pass any properly formatted IPv4 address string to a new instance of Geolocater like so.
Geolocater.geolocate_ip(IP_ADDRESS_STRING)
and get back a JSON Hash of the results
=> {"city"=>"CITY", "region_code"=>"ST", "region_name"=>"Region Name",
"metrocode"=>"999", "zipcode"=>"98765", "longitude"=>"-92.23",
"country_name"=>"United States", "country_code"=>"US",
"ip"=>"IP_ADDRESS", "latitude"=>"27.54"}
Details
- This library uses the free (and very good) freegeoip.net REST API.
- Results are returned in JSON format. For friendlier Ruby object-like results (and better nil handling), pipe the result hash into a new Hashie::Mash like so:
Hashie::Mash.new(Geolocater.ip_lookup(IP_ADDRESS_STRING))
Future Features
- Add multiple geolocation services in the event the freegeoip service goes down
How You Can Help
- Suggest additional tests/refactoring
- Submit a pull request


***LIVE UPDATES*** Gordon Sondland Testifies in Impeachment Hearing
Gordon Sondland, the U.S. ambassador to the European Union, will testify before the House Intelligence Committee Wednesday as part of the House Democrats’ impeachment inquiry against President Donald Trump.
by Joshua CaplanSondland delivered a private deposition before the House Intelligence, Foreign Affairs, and Oversight Committees on October 17, testifying that the told Bill Taylor, the U.S. Charge d’affaires for Ukraine, that President Trump sought “nothing” from Ukraine and that there was “no quid pro quo” during the president’s July 25 telephone call with Ukrainian President Volodymyr Zelensky.
According to U.S. diplomat David Holmes, he overheard a July 26 call in which President Trump mentioned “the investigations” to Sondland — an alleged reference to the president’s request for Ukraine to probe into allegations of corruption against former Vice President and 2020 White House contender Joe Biden and his son, Hunter Biden. Holmes testified that Sondland conveyed to him that President Trump cared “more about the investigations” than Ukraine.
A partisan CIA analyst mischaracterized the Trump-Zelensky call in a “whistleblower” complaint to the intelligence community inspector general, prompting the House Democrats to launch an impeachment probe on September 24.
Click here to read Breitbart News’ “Cheat Sheet” on Sondland’s public testimony.
**Follow live updates on this event from Breitbart News. All times in eastern.**
4:40 P.M. — Fox News’ Dana Perino, citing a new poll published Wednesday, says impeachment is boosting President Trump’s re-election chances in 2020: “Gallup put out its poll [showing] the president’s approval rating is up two percentage points and in Wisconsin, he beats every possible opponent in that poll for match-ups in 2020 and being against impeachment is up 8 percent in Wisconsin, alone.”
4:20 P.M. —
4:12 P.M. — Preview of Pence’s response to Sondland’s testimony:
4:00 P.M. — Interesting point by Mark Levin:
3:52 P.M. —
3:49 P.M. — Biggs slams Schiff’s closing statements, calls them “theatrical” and urges the impeachment inquiry to be shut down.
3:48 P.M. — Schiff has adjourned Sondland’s hearing.
3:42 P.M. —
3:36 P.M. —
3:35 P.M. — Schiff, in his closing statement, says “this is a seminal moment in our investigation” and brands Sondland’s testimony “deeply significant and troubling.”
3:34 P.M. —
3:33 P.M. — Nunes, in his closing statement, asks: “who was the whistleblower who gave birth to this hoax?”
3:31 P.M. — A third quip from Sondland as the hearing nears an end:
3:30 P.M. —
3:28 P.M. —
3:25 P.M. — State Department Spokeswoman Morgan Ortagus: “Gordon Sondland never told Secretary Pompeo that he believed the President was linking aid to investigations of political opponents. Any suggestion to the contrary is flat out false.”
3:24 P.M. —
3:21 P.M. —
Rep. Val Demings (D-FL): “In the May 23rd meeting you talked about how the President categorized Ukraine. Did you ever hear President Zelensky relay concern about being used as a tool for political reasons.”
Sondland: “We tried to relay the glass half full.”
3:16 P.M. — Rep. Sean Maloney (D-NY): “Who would benefit from an investigation of the Bidens?” Sondland: “I assume President Trump would benefit.”
3:11 P.M. — Sondland: “I would have preferred that, and I’m sure everyone would have preferred, that the president simply met with Mr. Zelensky right away. Our assessment of Mr. Zelensky was that he and the president would get on famously.”
3:09 P.M. — Pompeo has departed Brussels ahead of Sondland’s trip back.
3:08 P.M. — Jordan says “the facts are so darn clear” on why President Trump shouldn’t be impeached.
3:06 P.M. — Jordan to Sondland: “You said there were three quid pro quos but there weren’t.”
3:05 P.M. —
2:56 P.M. — Ratcliffe pushes back on Sondland’s belief that President Trump doesn’t care about Ukraine, saying: “nothing says you care about Ukraine like sending javelin anti tanks.”
2:54 P.M. — David Axelrod, former President Barack Obama’s chief campaign strategist, worries House Republicans show no signs of supporting impeachment.
2:51 P.M. — Sondland says he recalls only meeting with Acting White House Chief of Staff Mick Mulvaney just once.
2:49 P.M. —
2:48 P.M. — John Cornyn (R-TX) on today’s hearing:
2:47 P.M. —
2:44 P.M. —
Swalwell: “Did the president ever say to you, ‘stop talking to Rudy’?”
Sondland: “No.”
Swalwell: “Did he ever say, ‘don’t any longer talk to Rudy’?”
Sondland: “No.”
2:41 P.M. — Sondland agrees that Hunter Biden serving on Burisma’s board of directors gives the appearance of a conflict of interest. Past impeachment witnesses have testified the same.
2:39 P.M. —
2:38 P.M. —
2:30 P.M. —
2:26 P.M. — Rep. Jackie Speier (D-CA) asks Sondland if President Trump was talking in “code” about an investigation in the Bidens. Sondland replies their conversations have been “fairly direct.”
2:25 P.M. — Sondland says he’s had roughly 20 telephone calls with President Trump.
2:22 P.M. — Meadows points to Turner’s questioning as “game over” for the House Democrats’ impeachment inquiry:
2:21 P.M. —
2:20 P.M. — Sondland says he and his family are getting threats due to the impeachment probe, notes his hotels are being boycotted.
2:19 P.M. — Rep. Brad Wenstrup (R-OH): “2 presumptions plus 2 presumptions does not equal even one fact.”
2:16 P.M. —
2:11 P.M. — Big moment from Turner, who gets Sondland to concede nobody told him that President Trump linked the Ukraine aide to a Biden probe, rendering Schiff’s statements and CNN’s lead story inaccurate, says the lawmaker.
2:08 P.M. — Rep. Mike Turner (R-OH) grills Sondland over his testimony, calls his answers “somewhat circular.”
2:05 P.M. — Sondland on Volker about allegations of quid pro quo: “I strongly disagree with that portion of his testimony. It was absolutely a requirement.”
1:57 P.M. — A lawyer for the so-called “whistleblower” tweets about House Republicans seeking his client’s testimony:
1:57 P.M. — President Trump tweets that Sondland’s testimony is the final nail in the coffin regarding impeachment:
1:50 P.M. — Rep. Jim Jordan (R-OH) grills Sondland on the fact that U.S. aide was delivered to Ukraine and a probe into the Bidens did not occur.
1:49 P.M. — Rep. Jim Himes (D-CT) says he expects lawmakers will see the transcript of Sondland’s call with President Trump.
1:44 P.M. — Giuliani fires off tweets about Castor:
1:40 P.M. — The Hearing has resumed. Schiff notes Mark Sandy, an OMB official who testified Saturday, is having his transcript reviewed and will be released soon.
1:32 P.M. — Rep. Eric Swalwell (D-CA) to MSNBC: “We heard very powerful evidence today in the exchange between Chairman Schiff and Ambassador Sondland of evidence of high crimes and misdemeanors, to include abuse of power, obstruction of Congress, also extortion and also evidence of bribery.”
1:25 P.M. — Giuliani re-posts earlier tweet about his “very little contact” with Sondland.
1:10 P.M. — Pompeo on Sondland’s testimony:
1:09 P.M. — Schiff gavels the hearing into a 30-minute recess:
12:58 P.M. — Sen. Mike Braun (R-IN) downplays Sondland’s testimony:
12:57 P.M. — The Department of Energy releases a statement saying Sondland “misrepresented” Sec. Rick Perry’s interaction with President Trump and Guiliani:
12:56 P.M. — Castor grilling Sondland for not including a piece of “exculpatory” information in his opening statement:
12:56 P.M. —
12:50 P.M. —
12:49 P.M. —
12:47 P.M. — The White House issues a statement on Sondland’s testimony:
12:43 P.M. — Giuliani deletes tweet stating he had “very little contact” with Sondland.
12:41 P.M. — Nunes begins his line of questioning, says Democrats “fantasize” about Watergate.
12:38 P.M. — Sondland says Ukraine President Zelensky’s CNN interview was previously planned and Ukraine claimed he would announce the investigations into the Bidens on it.
12:36 P.M. —
12:31 P.M. — Rudy Giuliani fires back at Sondland’s testimony:
12:30 P.M. — Meadows bats down the Associated Press:
12:29 P.M. —
12:18 P.M. — Fox News anchor Chris Wallace says Sondland “took out the bus and ran it over” President Trump and his aides.
12:17 P.M. —
12:16 P.M. — NBC News reports that the FBI is looking to interview the so-called “whistleblower.” The individual has not agreed to an interview. “An FBI agent in the Washington field office in October reached out to one of the lawyers representing the whistleblower and asked to question the CIA analyst who triggered the congressional inquiry into the president’s conduct,” reports Yahoo News.
12:09 P.M. — Schiff asks Sondland how he did not link Burisma with the Biden family. Sondland replies that he did not pay attention to Guiliani’s television appearances as he spoke to him directly.
12:06 P.M. — Republican general counsel Steve Castor to Sondland: “You don’t have records, you don’t have notes because you don’t take notes, you don’t have recollections. This is a trifecta of unreliability.”
Sondland: “I think I’ve filled in a lot of blanks.”
12:01 P.M. —
11:56 A.M. —
11:55 A.M. — Sondland says he didn’t realize probing Burisma meant looking into the Bidens regarding discussions of investigations.
11:53 A.M. —
11:48 A.M. — House Minority Leader Kevin McCarthy (R-CA) tweets of today’s hearing: The “Democrats’ smear campaign is falling apart.”
11:47 A.M. — President Trump weighs in on Sondland’s testimony:
11:43 A.M. —
11:40 A.M. —
11:39 A.M. — Sondland re-ups his assumption on President Trump linking U.S. aide to Ukraine to investigations into the Bidens:
11:36 A.M. — Rep. Lee Zeldin (R-NY) and other Republicans are driving this point home: Sondland assumed President Trump made U.S. aide to Ukraine contingent on probes into the Bidens.
11:35 A.M. —
11:28 A.M. — Vice President Mike Pence’s office denies discussing investigations into the Bidens with Sondland:
“The Vice President never had a conversation with Gordon Sondland about investigating the Bidens, Burisma, or the conditional release of financial aid to Ukraine based upon potential investigations. Ambassador Gordon Sondland was never alone with Vice President Pence on the September 1 trip to Poland. This alleged discussion recalled by Ambassador Sondland never happened. Multiple witnesses have testified under oath that Vice President Pence never raised Hunter Biden, former Vice President Joe Biden, Crowdstrike, Burisma, or investigations in any conversation with Ukrainians or President Zelensky before, during, or after the September 1 meeting in Poland.”
11:25 A.M. —
Sondland: “I don’t know about any drug deal.”
Nunes: “And did you know you’re part of the three amigos?”
Sondland: “I am. I am a proud part of the three amigos.”
11:21 A.M. — Nunes begins his questioning by asking Sondland whether he was aware of the efforts of DNC contractor Alexandra Chalupa and Ukraine’s efforts to meddle in the 2016 election. Sondland responds that he’s unaware.
11:2o A.M. — The hearing has resumed.
11:13 A.M. — Schiff says at a press conference during the recess: “Today’s testimony is among the most significant evidence to date and what we have just heard from Sondland is. This scheme was a basic quid pro quo. It was the conditioning of official acts for something of great value, right to the heart of the issue of bribery.”
11:07 A.M. —
11:04 A.M. — The hearing is now in a brief recess.
11:03 A.M. — Sondland says he assumed that U.S. aid to Ukraine was contingent on probes into the Bidens. Again, Sondland previously stated President Trump never told him such a thing.
10:54 A.M. — Sondland: “President Trump never told me directly that the aid was conditioned on” an announcement of a probe into the Bidens.
10:52 A.M. — Important flashback: Ukrainian foreign minister Vadym Prystaiko said Sondland “never” linked U.S. aid to investigations.
10:51 A.M. — Sondland: “I never heard anyone advocating for holding the aid.”
10:49 A.M. —
10:44 A.M. — Sondland on his relationship with President Trump: “I had occasional access when he chose to take my calls. Sometimes he would, sometimes he wouldn’t.”
10:43 A.M. —
10:39 A.M. —
10:34 A.M. — Sondland says a change in his impeachment testimony was triggered by reference to rapper A$AP Rocky.
10:33 A.M. —
10:26 A.M. —
10:25 A.M. —
10:24 A.M. — Sen. Marsha Blackburn (R-TN) calls for “proven liar” Schiff to testify as part of the impeachment probe.
10:23 A.M. —
10:22 A.M. — Sondland on President Trump: “He was not particularly fond of Ukraine.”
10:20 A.M. — Sondland tells Schiff he doesn’t remember saying “Biden.” Holmes told lawmakers that Sondland told him President Trump solely cares about “big stuff that matters to him, like this Biden investigation that Giuliani is pushing.”
10:18 A.M. — Sondland: “I’ve never doubted the strategic value of strengthening our alliance with Ukraine. And at all times, our efforts were in good faith and fully transparent to those tasked with overseeing them. Our efforts were reported and approved.”
10:15 A.M. — Sondland wraps up his opening statement, saying he acted in “good faith.”
“At all times, our efforts were in good faith and fully transparent to those tasked with overseeing them. Our efforts were reported and approved. Not once do I recall encountering objection,” he adds.
10:13 A.M. — Sondland: “State Department was fully supportive of our engagement in Ukraine affairs, and was aware that a commitment to investigations was among the issues we were pursuing.”
10:11 A.M. — Sondland: “By the end of August, my belief was that if Ukraine did something to demonstrate a serious intention to fight corruption, specifically addressing Burisma and 2016 server, then the hold on military aid would be lifted.”
10:08 A.M. — Sondland: “In preparation for the September 1 Warsaw meeting, I asked Secretary Pompeo whether a face-to-face conversation between President Trump with Zelensky could help break the logjam.”
“Secretary Pompeo replied, ‘Yes,'” he adds.
10:05 A.M. — Sondland on the freeze on U.S. military aid to Ukraine: “I was never able to obtain a clear answer regarding the specific reason for the hold.”
10:03 A.M. — Sondland: “Was there a ‘quid pro quo?’ As I testified previously, with regard to the requested White House call and White House meeting, the answer is yes.” Sondland’s testimony contradicts previous impeachment witnesses, including former U.S. envoy for Ukraine Kurt Volker and former NSC official Tim Morrison, who agreed that no quid pro quo, bribery, or treason occurred.
10:01 A.M. — Sondland confirms the July 26 call between Trump-Zelensky, which David Holmes testified that he overheard: “The White House, which has finally shared certain call dates and times with my attorneys, confirms this. The call lasted five minutes.”
“Again, given Mr. Giuliani’s demand that President Zelensky make a public statement about investigations, I knew that the topic of investigations was important to President Trump. We did not discuss any classified information,” he adds.
9:59 A.M. — Sondland: “Mr. Giuliani was communicating with the reportedly corrupt Ukrainian prosecutor Lutsenko and discussing whether a Zelensky-Trump meeting was going to happen, again without our knowledge.”
9:57 A.M. — Another important point from Biggs:
9:56 A.M. —
9:55 A.M. —
9:52 A.M. — Sondland on Secretary of State Mike Pompeo and former National Security Advisor John Bolton: “They knew what we were doing and why.”
9:50 A.M. — Sondland: “Let me say again: We weren’t happy with the President’s directive to talk with Rudy. We did not want to involve Mr. Giuliani.”
9:48 A.M. — Rep. Matt Gaetz (R-FL) rips Sondland’s opening statement:
9:47 A.M. — Rep. Andy Biggs (R-AZ) makes an important point about Sondland’s testimony:
9:46 A.M. — Sondland: “Indeed, my personal view, which I shared repeatedly with others, was that the White House meeting and security assistance should have proceeded without pre-conditions of any kind.”
9:45 A.M. —
9:44 A.M. — Sondland: “In the absence of any credible explanation for the suspension of aid, I later came to believe that the resumption of security aid would not occur until there was a public statement from Ukraine committing to the investigations of the 2016 election and Burisma.”
9:43 A.M. — Sondland: “Mr. Giuliani’s requests were a quid pro quo for arranging a White House visit for President Zelensky. Mr. Giuliani was expressing the desires of the President of the United States, and we knew that these investigations were important to the President.”
9:42 A.M. — Sondland: “Precisely because we did not think that we were engaging in improper behavior, we made every effort to ensure that the relevant decisionmakers at the National Security Council and State Department knew the important details of our efforts.”
9:41 A.M. — Sondland: “We did not want to work with Mr. Giuliani. We simply played the hand we were dealt.”
9:38 A.M. — Sondland says the State Department would not provide documents that could refresh his testimony: “Having access to the State Department materials would have been very helpful to me in trying to reconstruct with whom I spoke and met, when, and what was said. I am not a note-taker. I am not a memo writer. Never have been.”
He adds: “These documents are not classified and, in fairness, should have been made available. In the absence of these materials, my memory, admittedly has not been perfect.”
9:36 A.M. — Sondland: “I expect that few Americans have heard my name before these events. My parents fled Europe during the Holocaust.”
9:34 A.M. — Sondland is being sworn in.
9:30 A.M. — Nunes: “We need to subpoena Hunter Biden, as well as the whistleblower.”
9:29 A.M. — Nunes: “Our first president, George Washington, directed his own diplomatic channels to secure a treaty with Great Britain. If my Democratic colleagues were around in 1794, they’d want to impeach him too.”
9:27 A.M. — Nunes: “Ambassador Sondland, you are here today to be smeared.”
9:23 A.M. — House Intelligence Committee Ranking Member Devin Nunes (R-CA) begins his opening statement: “Ambassador Sondland, welcome. Glad you’re here. Really not glad you’re here, but welcome to the fifth day of this circus.”
9:19 A.M. —
9:18 A.M. — More from Schiff’s opening statement:
9:15 A.M. — Schiff: “As Ambassador Sondland would later tell career foreign service officer David Holmes immediately after speaking to the president, Trump ‘did not give an *expletive* about Ukraine.'”
9:14 A.M. — Schiff calls Sondland a “skilled dealmaker” who found himself “embroiled” in activities regarding President Trump and Ukraine.
9:11 A.M. — House Intelligence Committee Chairman Adam Schiff (D-CA) has gaveled the hearing to begin and delivers his opening statement.
9:07 A.M. — Sondland has taken his seat.
9:00 A.M. — WASHINGTON (AP) — Sondland confirmed for House impeachment investigators Wednesday he spoke with President Donald Trump on a cellphone from a busy Kyiv restaurant the day after the president prodded Ukraine’s leader to investigate political rival Joe Biden.
Sondland, the most anticipated witness in the inquiry, also said he kept Secretary of State Mike Pompeo and other top administration officials aware of what was going on.
He said he specifically told Vice President Mike Pence he “had concerns” the military aid to Ukraine “had become tied” to the investigations.
“Everyone was in the loop,” Sondland testified in opening remarks. “It was no secret.”
8:46 A.M. — Sondland is arriving on Capitol Hill for his testimony.
The Associated Press contributed to this report.


Class GraphicsWindow
Represents an OverlayWindow which is used to draw at any given frame rate.
Implements
Inherited Members
Namespace: GameOverlay.Windows
Assembly: GameOverlay.dll
Syntax
public class GraphicsWindow : OverlayWindow, IDisposable
Constructors
| Improve this Doc View SourceGraphicsWindow(Graphics)
Initializes a new GraphicsWindow.
Declaration
public GraphicsWindow(Graphics device = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Graphics | device | Optionally specify a Graphics device to use. |
GraphicsWindow(Int32, Int32, Int32, Int32, Graphics)
Initializes a new GraphicsWindow with the specified window position and size.
Declaration
public GraphicsWindow(int x, int y, int width, int height, Graphics device = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | x | The window position on the X-Axis. |
| Int32 | y | The window position on the Y-Axis. |
| Int32 | width | The width of the window. |
| Int32 | height | The height of the window. |
| Graphics | device | Optionally specify a Graphics device to use. |
Properties
| Improve this Doc View SourceFPS
Gets or sets the frames per second (frame rate) at which this instance invokes its DrawGraphics event.
Declaration
public int FPS { get; set; }
Property Value
| Type | Description |
|---|---|
| Int32 |
Graphics
Gets or sets the used Graphics surface.
Declaration
public Graphics Graphics { get; }
Property Value
| Type | Description |
|---|---|
| Graphics |
IsPaused
Gets or sets a Boolean which determines whether this instance is paused.
Declaration
public bool IsPaused { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
IsRunning
Gets or sets a Boolean which determines whether this instance is running.
Declaration
public bool IsRunning { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Methods
| Improve this Doc View SourceCreate()
Setup and initializes the window.
Declaration
public override void Create()
Overrides
| Improve this Doc View SourceDispose(Boolean)
Releases all resources used by this GraphicsWindow.
Declaration
protected override void Dispose(bool disposing)
Parameters
| Type | Name | Description |
|---|---|---|
| Boolean | disposing | A Boolean value indicating whether this is called from the destructor. |
Overrides
| Improve this Doc View SourceFinalize()
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
Declaration
protected void Finalize()
Join()
Waits until the Thread used by this instance has exited.
Declaration
public override void Join()
Overrides
| Improve this Doc View SourceOnDestroyGraphics(Graphics)
Gets called when the graphics thread destorys the Graphics surface.
Declaration
protected virtual void OnDestroyGraphics(Graphics graphics)
Parameters
| Type | Name | Description |
|---|---|---|
| Graphics | graphics | A Graphics surface. |
OnDrawGraphics(Int32, Int64, Int64)
Gets called when the graphics thread needs to render a new Scene / frame.
Declaration
protected virtual void OnDrawGraphics(int frameCount, long frameTime, long deltaTime)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | frameCount | The number of the currently rendered frame. Starting at 1. |
| Int64 | frameTime | The current time in milliseconds. |
| Int64 | deltaTime | The elapsed time in milliseconds since the last frame. |
OnSetupGraphics(Graphics)
Gets called when the graphics thread setups the Graphics surface.
Declaration
protected virtual void OnSetupGraphics(Graphics graphics)
Parameters
| Type | Name | Description |
|---|---|---|
| Graphics | graphics | A Graphics surface. |
OnSizeChanged(Int32, Int32)
Gets called whenever the size of the window changes.
Declaration
protected override void OnSizeChanged(int width, int height)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | width | The new width of the window. |
| Int32 | height | The new height of the window. |
Overrides
| Improve this Doc View SourceOnVisibilityChanged(Boolean)
Gets called whenever the visibility of the window changes.
Declaration
protected override void OnVisibilityChanged(bool isVisible)
Parameters
| Type | Name | Description |
|---|---|---|
| Boolean | isVisible | A Boolean indicating the new visibility of the window. |
Overrides
| Improve this Doc View SourcePause()
Pauses the graphics thread.
Declaration
public void Pause()
Unpause()
Resumes the graphics thread.
Declaration
public void Unpause()
Events
| Improve this Doc View SourceDestroyGraphics
Fires when you should free any resources used for drawing with this instance.
Declaration
public event EventHandler<DestroyGraphicsEventArgs> DestroyGraphics
Event Type
| Type | Description |
|---|---|
| EventHandler<DestroyGraphicsEventArgs> |
DrawGraphics
Fires when a new Scene / frame needs to be rendered.
Declaration
public event EventHandler<DrawGraphicsEventArgs> DrawGraphics
Event Type
| Type | Description |
|---|---|
| EventHandler<DrawGraphicsEventArgs> |
SetupGraphics
Fires when you should allocate any resources you use to draw using this instance.
Declaration
public event EventHandler<SetupGraphicsEventArgs> SetupGraphics
Event Type
| Type | Description |
|---|---|
| EventHandler<SetupGraphicsEventArgs> |


Having attended a talk (as part of the MariaDB Developer Meeting in Amsterdam) about recent developments of MaxScale in executing automated failovers, here are some (late) observations of mine.
I will begin by noting that the project is stated to be pre-production, and so of course none of the below are complaints, but rather food for thought, points for action and otherwise recommendations.
Some functionality of the MaxScale failover is also implemented by orchestrator, which I author. Orchestrator was built in production environments by and for operational people. In this respect it has gained many insights and had to cope with many real-world cases, special cases & Murphy's law cases. This post compares logic, feature set and capabilities of the two where relevant. To some extent the below will read as "hey, I've already implemented this; shame to re-implement the same", and indeed I think that way; but it wouldn't be the first time a code of mine would just be re-implemented by someone else and I've done the same, myself.
I'm describing the solution the way I understood it from the talk. If I'm wrong on any account I'm happy to be corrected via comments below. Edit: please see comment by Dipti Joshi
General overview
The idea is that MaxScale operates as a proxy to your topology. You do not connect to your master directly, but rather through MaxScale. Thus, MaxScale acts as a proxy to your master.
The next phase is that MaxScale would also auto-detect master failure, fix the topology for you, promote a new master, and will have your application unaware of all the complexity and without the app having to change setup/DNS/whatever. Of course some write downtime is implied.
Now for some breakdown.
Detection
The detection of a dead master, the check by which a failover is initiated, is based on MaxScale not being able to query the master. This calls for some points for consideration:
- Typically, I would see "I can't connect to the master therefore failover" as too hysterical, and the basis for a lot of false positives.
- However, since in the discussed configuration MaxScale is the only access point to the master, the fact MaxScale cannot connect to the master means the master is inaccessible de-facto.
- In light of the above, the decision makes sense - but I still hold that it would make false positives.
- I'm unsure (I think not; can anyone comment?) if MaxScale would make multiple attempts over time and only reach the conclusion after X successive failures. This would reduce the false positives.
- I'm having a growing dislike to a "check for 4 successive times then alert/failover" Nagios-style behavior. Orchestrator takes a different approach where it recognizes a master's death by not being able to connect to the master as well as being able to connect to 1st tier slaves, check their status and observe that they're unable to connect to the master as well. See What makes a MySQL server failure/recovery case?. This approach still calls for further refinement (what if the master is temporarily deadlocked? Is this a failover or not?).
Assumed topology
MaxScale assumes the topology is all MariaDB, and all slaves are using (MariaDB) GTID replication. Well, MaxScale does not actually assumes that. It is assumed so by the MariaDB Replication Manager which MaxScale invokes. But I'm getting ahead of myself here.
Topology detection
MaxScale does not recognize the master by configuration but rather by state. It observes the servers it should observe, and concludes which is the master.
I'm using similar approach in orchestrator. I maintain that this approach works well and opens the Chakras for complex recovery options.
Upon failure detection
When MaxScale detects failure, it invokes external scripts to fix the problem. There are some similar and different particulars here as compared to orchestrator, and I will explain what's wrong with the MaxScale approach:
- Although MaxScale observes the topology and understands who is the master and who isn't, the executed scripts do not. They need to re-discover everything by themselves.
- This implies the scripts start without memory of "what was last observed". This is one of the greatest strengths of orchestrator: it knows what the state was just before the failure, and, having the bigger picture, can make informed decisions.
- As a nasty example, what do you do when some the first tier slaves also happen to be inaccessible at that time? What if one of those happens to further have slaves of its own?
- The MariaDB Replication Manager script (to be referenced as repmgr) assumes all instances to be MariaDB with GTID.
- It is also implied that all my slaves are configured with binary logs & log-slave-updates
- That's way too restrictive.
- Orchestrator handles all following topologies: Oracle MySQL with/out GTID, MariaDB with/out GTID, MariaDB hybrid GTID & non-GTID replication, Pseudo-GTID (MySQL and/or MariaDB), hybrid normal & binlog servers topologies, slaves with/out log-slave-updates, hybrid Oracle & MariaDB & Binlog Servers & Pseudo-GTID.
- repmgr is unaware of data centers & physical environments. You want failover to be as local to your datacenters as possible. Avoid too many cross-DC replication streams.
Failover invocation
MaxScale invokes the failover scripts asynchronously. This is a major flaw imho, as the decoupling between the monitoring and acting processes leads to further problems, see further.
After failover
MaxScale continuously scans the topology and observes that some other server has been promoted. This behavior is similar to orchestrator's. But the following differences are noteworthy:
- Because of both the decoupling as well as the asynchronous invocation by MaxScale, it doesn't really have any idea if and how the promotion resolved.
- I don't know that there's any anti-flapping mechanism, nor that there could be. If MaxScale doesn't care what happened to the failover script, it shouldn't be able to keep up with flapping scenarios.
- Nor is there a minimal suspend period between any two failure recoveries, that I know of. MaxScale can actually have easier life than orchestrator in this regard as it is (I suspect) strictly associated with a topology. Not like there's a single MaxScale handling multiple topologies. So it should be very easy to keep track of failures.
- Or, if there is a minimal period and I'm just uninformed -- what makes sure it is not smaller than the time it takes for the failover?
Further on failover
I wish to point out that one component of the system analyses a failure scenario, and another one fixes it. I suggest this is an undesired design. The "fixer" must have its own ability to diagnose problems as it makes progress (or else it is naive and would fail in many production cases). And the "analyzer" part must have some wisdom of its own so as to suggest course of action; or understand the consequences of the recovery done by the "fixer".
Use of shell scripts
Generally speaking, the use of shell scripts as external hooks is evil:
- Shell scripts tend to be poorly audited
- With poor clarity as for what went wrong
- Killing them has operational difficulty (detect the shell script, find possible children, detached children)
- The approach of "if you want something else, just write a shell script for it" is nice for some things, but as the problem turns complex, you turn out to just write big parts of the solution in shell. This decouples your code to unwanted degree.
At this time, orchestrator also uses external hooks. However:
- Fixing the topology happens within orchestrator, not by external scripts. There is an elaborate, auditable, visible decision making.
- Decision making includes data center considerations, different configuration of servers involved, servers hinted as candidates, servers configured to be ignored, servers known to be downtimed.
- Leaving the external scripts with the task of managing DNS changes or what have you.
- Today, at Booking.com, we have a special operational tool (called the dba tool) which does that, manages rosters, issues puppet etc. This tool is itself well audited. Granted, there is still decoupling, but information does not just get lost.
- Sometime in the future I suspect I will extend orchestrator-agent to participate in failovers, which means the entire flow is within orchestrator's scope.
High availability
All the above is only available via a single MaxScale server. What happens if it dies?
There is a MaxScale/pacemaker setup I'm aware of. If one MaxScale dies, pacemaker takes charge and starts another on another box.
- But this means real downtime
- There are no multiple-MaxScale servers to load-balance on
- The MaxScale started by pacemaker is newly born, and does not have the big picture of the topology. It needs to go through a "peaceful time" to understand what's going on.
More High Availability
At a time where MaxScale will be able to load-balance and run on multiple nodes, MariaDB will have to further tackle:
- Leader election
- Avoiding concurrent initiation of failovers
- Either via group communication
- Or via shared datastore
- Taking off from a failed/crashed MaxScale server's work
- Or rolling it back
- Or just cleaning it up
- And generally share all those little pieces of information, such as "Hey, now this server is the master" (are all MaxScales in complete agreement on the topology?) or "I have failed over this topology, we should avoid failing it over again for the next 10 minutes" and more.
The above are supported by orchestrator. It provides leader election, automated leader promotion, fair recognition of various failure scenarios, picking up a failed recovery from a failed orchestrator. Data is shared by a backend MySQL datastore, and before you shout SPOF, make it Galera/NDB.
Further little things that can ruin your day
How about having a delayed replica?
Here's an operational use case we had to tackle.
- You have a slave configured to lag by 24 hours. You know the drill: hackers / accidental DROP TABLE...
- How much time will an automated tool spend on reconnecting this slave to the topology?
- This could take long minutes
- Will your recovery hang till this is resolved?
- Since orchestrator heals the topology in-house, it knows how to push certain operations till after specific other operations took place. For example, orchestrator wants to heal the entire topology, but pushes the delayed replicas aside, under the assumption that it will be able to fix them later (fair assumption, because they are known to be behind our promoted master); it will proceed to fix everything else, execute external hooks (change DNS etc.) and only then come back to the delayed replica. All the while, the process is audited.
Flapping ruins your day
- Not only do you want some stall period between two failovers, you also want your team to respond to a failover and acknowledge it. Or clear up the stall period having verified the source of the problem. Or force the next failover even if it comes sooner than the stall period termination.
Binlog formats
It is still not uncommon to have Statement Based Replication running. And then it is also not uncommon to have one or two slaves translating to Row Based Replication because of:
- Some app that has to read ROW based format
- Experimenting with RBR for purposes of upgrade
You just can't promote such a RBR slave on top of SBR slaves; it wouldn't work. Orchestrator is aware of such rules. I still need to integrate this particular consideration into the promotion algorithm.
Versions
Likewise, not all your slaves are of same version. You should not promote a newer version slave on top of an older version slave. Again, orchestrator will not allow putting such a topology, and again, I still need to integrate this consideration into the promotion algorithm.
In summary
There is a long way for MaxScale failover to go. When you consider the simplest, all-MariaDB-GTID-equal-slaves small topology case, things are kept simple and probably sustainable. But issues like complex topologies, flapping, special slaves, different configuration, high availability, leadership, acknowledgements, and more, call for a more advanced solution.
comments powered by Disqus


Contact me using your favorite method below.
If you want me to call back, please include your phone number
Instant access if I am online! No account needed, just type and send.


Construction, demolition and excavation (CD&E) generated over half of total UK waste in 2014.
Our team has been tasked with finding ways to reduce the consumption of energy in the lifetime of buildings. The UK government reports that around 90% of construction waste is successfully recycled [1], however the energy consumption for recycling construction waste is high. Instead of focusing on treating waste, our team will focus on minimizing waste and energy consumption, during the construction processes. Around 15% of the volume of materials used is wasted during the construction process. If optimized, less waste would be generated, which would increase the recycling rate, but decrease the energy for logistics and production[2].
The solution is prefabricated construction. For the traditional method, there are 6 steps in which the main structure of the house is built onsite. While for prefab, there are only 4, because the components are manufactured offsite, then will be sent to the site and installed. The skeletons of prefab houses are usually made of solid steel. This gives a variety of potential materials for the panels including concrete, wood, straw bale or even bamboo. The concrete panels, for example, are connected using a mechanism called “anchor” members and “ring” members, both are cylindrical steel plates that are embedded into the panels, they fit into each other and welded together.
The state of prefabrication in the UK.
The UK construction industry underperforms in 4 areas: productivity, certainty in delivery, skills shortages, data transparency Therefore, to improve in all of these aspects, we really believe PreFab buildings can transform the UK’s construction delivery performance. A study by the UK Commision for Employment and Skills stated that offsite construction was 7% of the total construction sector in 2009 However, KPMG findings show that net financial project savings of 7% are possible with offsite construction due to the shortened construction length and thus shows the certified advantages with this approach. However, with little encouragement and incentives to maximise PreFab in the UK, the industry is failing to make these bigger leaps and therefore we would like to further implement this.
Better production and evergy efficiency, lower construction time.
Using prefabricated building as a solution to reduce construction waste would offer several benefits.
It is estimated that, using off-site and modular building, would improve efficiency in construction up to 50% thanks to a more rigorous and controlled production line that would eliminate the issues related to on-site manufacturing.
Furthermore, a rigorous offsite production line would lead to up to 30% improvement in energy efficiency of this type of buildings due to a more airtight manufacturing.
Construction time would also be reduced as the production on-site phase would be eliminated and performed in much more efficient off-site factories.
Finally the overall cost of construction would be reduced by 10 to 12%.
Like every project, this one carries risks and constraints. The biggest one being public perception. When people hear prefabricated they think the ugly soviet style construction of the post world war two years. But now people have all the time in the world to work with designers to get the home they like.
A breakdown time analysis of the adoption of our solution.
You may be wondering, what is the timeline of prefabrication? Well, first you must register the building. Following this, you need to get a factory - there are lots in the north and Scotland which can be rented or bought and fitted with the equipment. You also need to meet all regulations in regards to planning permits, material safety and worker safety. After all this, you can start to build the first home. From design, to construction in factory, to the final build on the land, this will only take 9 months - almost half the time current builds of a similar scale take. This is why prefabrication is the way forward!


--- layout: post title: Youtube Dump date: 2010-12-13 21:39:19.000000000 -06:00 categories: - General tags: - lol - meh - youtube status: publish type: post published: true meta: _edit_last: '1' author: login: Blake email<EMAIL_ADDRESS>display_name: Blake first_name: Blake last_name: Harley ---
Rather then continue to study for my finals, I'm going to do something productive like... dumping random YouTube videos.
And suddenly my attention is somewhere else.


Base64 Conversion Tool
To get the Base64 value of a file, click "Choose File".
Once it is selected, you may then click "Export" to export the value into a text file.
Export


Using SB3 + Jax = SBX: https://github.com/araffin/sbx
Raffin et al. "Learning to Exploit Elastic Actuators for Quadruped Locomotion" In preparation RA-L, 2023.
Coupled oscillator
Variables
Desired foot position
Variables
BBO
Fitness function
Result
desired position = open-loop foot position + closed-loop control with RL
Raffin, Antonin, Jens Kober, and Freek Stulp. "Smooth exploration for robotic reinforcement learning." CoRL. PMLR, 2022.


Click and drag to move camera.
Press Spacebar to revert all cameras to their original camera positions.
Credits
Developed by Chris Lenk, under direction from Dr. Yu Cao at the University of Tennessee in Chattanooga during the summer of 2012.
This app uses the following frameworks and libraries:
- WebGL - low-level 3D graphics API
- Three.js - 3D library that makes working with WebGL a lot easier
- jQuery - very useful JavaScript library
- RainbowVis - library for color gradients, used in EEG visualization
- jQuery File Tree - jQuery plugin for file selection
- FD-Slider - HTML5 range element polyfill, used for the timeline slider
- jQuery ScrollTo - jQuery plugin for scrolling to particular part of the page
- 1140 CSS Grid - Fluid grid layout
The following Three.js tutorials were used to learn the library, and some of my code is based off of them:
- Getting Started With Three.js by Paul Lewis
- Basics of Three.js by Ilmari Heikkinen
- Casting Shadows by Jerome Etienne
- Window Resize for Your Demos by Jerome Etienne
- Three.js: Importing a Model by Graham Blake
- Three.js + Blender 2.5 = FTW
- Three.js + Blender Part 2
- From Blender to Threefab. Exporting three.js morph animations
- Three.js - Animating Blender Models
- The many examples at the official Three.js site
The following Blender tutorials were used to learn basic 3D modeling and to create the models in the app:
- Get Started With Blender
- Blender 3D: Noob to Pro
- Modelling a simple heart in Blender 2.54 by Sergio Moura
- Your First Animation in 30 plus 30 Minutes Part I
- Blender Summer of Documentation Character Animation tutorial
The app also uses the head model released by Lee Perry-Smith
Close


When Trumpets Fade
Rating: *** (Well constructed and executed motion picture) Evaluation: Gritty, gray and unhappy World War II movie revolving on one character.  He is not portrayed as a hero, as no man really is, and faces challenges which are trivialized in most other war movies. No happy or teary ending, things just happen, though predictably (and not unrealistically considering the operation) everyone dies at the end. Unexpectedly good made for TV movie. Scale: ???? - Unevenly done (Full Metal Jacket, Stalingrad) * Poor or Unimpressive (The Sands of Iwo Jima) ** Worth Seeing (Saving Private Ryan) *** Good, Solidly Constructed Film (Platoon) **** Excellent, a Masterpiece (Das Boot)
Directed by: John Irvin Cast Ron Eldard: Manning Zak Orth: Sanderson Frank Whaley: Chamberlain Dylan Bruno:Sgt. Talbot Martin Donovan (II): Capt. Roy Pritchett Timothy Olyphant: Lt. Lukas Dan Futterman: Despin Dwight Yoakam: Lt. Colonel Devon Gummersall Steven Petrarca Jeffrey Donovan: Bobby Bobby Cannavale Frank Kobe András Stohl Matthew Ruston Cooney Written by V.W. Vought Cinematography by Thomas Burstyn
All qualitative judgments are IMHO. It seems that Hollywood has recently reopened its interest in the Second World War (the more or less undeserved success of _Saving Private Ryan_ will only strengthen this interest: look for more war movies next summer). There are at least three WWII movies which will be opening in theaters in the near future. HBO, not to be outdone, made the first entry into the WWII-fest on June 27 with _When Trumpets Fade_, a character movie about an American soldier, Manning who is split between his will to survive and his self respect when he is made a squad leader, and forced to continue on in a battle he will most likely die in. The battle is the failed offensive in the Hurtigen forest, overshadowed in most WWII accounts by the somewhat later Battle of the Bulge. I have only seen one other product of director John Irving's, _The Dogs of War_. Despite the fact that almost every mercenary stereotype is used (morally questionable mercs, corrupt leaders of authoritarian countries, weapons smuggled by boat, etc.) and despite the rather amateurish ordinance-heavy combat footage, I thought it was a reasonably good movie. The stereotypes are justified, because just about every modern day privately contracted mercenary story involves most of them (the business in Angola, Mike Hoare's Congo, or even the Congo of today, just about every issue of _Soldier of Fortune_). The ordinance is less justfiable. Irving makes good on this mistake in _Trumpets_. This is probably the most ordinance-light World War II combat movie I've seen. One sees little more than personal weapons; the usual Garands, Tommy guns and Mausers. Even squad machine guns are curiously absent, aside from occasional glimpses of firing MG42s. Artillery is occasionally seen. The Americans are slaughtered by a well placed group of 88mm Flak cannons. Tanks, armored cars, buildings, mortars, airplanes, rocket launchers are all absent. This is not to say the movie isn't bloody. It rates among the more graphic depictions of a battle I've seen. Most prominently is a scene where a large group of soldiers (company IIRC) are caught within the 88's fields of fire, and are naturally slaughtered in droves. If weapons are too expensive for this HBO production, lots of fake blood, exhausted and grubby looking actors who perform well, and good filming aren't. Many of the "I've been shot" clips are powerful, even if they're a dime a dozen in war movies. This is due to the good cinematography; the gray of the Hungarian winter is well paired with the red of the blood. Camera angles are well chosen, and the camera does not dwell on each wounded soldier the way other movies do (eg _Full Metal Jacket_ when Cowboy meets the sniper). Of course, the actors contribute to this. Many of these factors also combine to give the movie it's gritty, unhappy look. It's a most appropriate look for this movie. However, I did have a strong objection to the cinematography in the night assault scene close to the end. It was obviously shot at night, but they also obviously used a floodlight to illuminate the actors, creating a very artificial sort of effect. I would have prefered it if they left things dark, and let the natural confusion, and fear of the unknown and the dark into the scene, which is undoubtably present in a nighttime combat operation. The thing that makes the movie, despite the cinematography which only sets the stage, of course is the performance of the actors. Invariably they all run around in worn and dirty fatigues; are unshaven (to the point that many of them look almost the same), and have a general bearing that matches. Manning is not portrayed as the hero most other war movies seek to find. He is dirty, unshaven and exhausted looking; and in the opening scene the rest of his squad is wiped out. He is made squad leader by his company commander; though he is completely unwilling to perform the task. The company commander orders, and then uses the usual excuses ("you're the only one I've got") and praise("you have the potential to be a good leader", "you're a smart survivor") to persuade Manning. This is an interesting point of the film. The Captain's points, actions, and indifference are completely justified by the situation, yet they also condemn Manning to death and both of them know it. Are they simply military lies? Or are they the Captain's best attempt to get good performance out of Manning, or a combination of many different aspects, good and bad, of a war? Manning reluctantly is simultaneously forced and sweet-talked into the rank of sergeant. He receives a squad of completely fresh replacements. An aspect of this film that I have not seen done well in any other movie, replacements, is done quite well here. The green troops look fresh, happy, and even physically unfit (especially in the case of one fat Private Pyle type). They certainly do not have the air about them the "combat experienced" actors do. One feels sorry for them. Manning treats them unevenly. He is no heroic, admirable John Wayne. He frequently treats them roughly, without much justification. One sympathizes with his contempt to a degree, but one cannot but draw the conclusion that Manning is not an experienced leader. During one of the combat missions, he even ends up intentionally shooting one of them, though not unjustifiably. There is obviously an air of distrust and a Sergeant Talbot in another squad whom he dislikes makes every attempt to increase it. After a while, he accepts his position, and establishes a reasonable relationship with what subordinates survive after their first combat mission. By the end of the movie, the big fat Private Pyle tries to save Manning, dropping his weapon and carrying Manning back to friendly territory. However, Manning is dead, leaving Pyle the only survivor of his squad and the movie ends there. Perhaps Pyle is bumped to Sergeant like Manning, to start the movie over again, perhaps he meets a Mauser round from pursuing Germans. This ending is probably one of the better ones, short of sentiment (though one detects a trace of it in some of the camera shots and in the fact that everyone else is dead) and ambiguous, though perhaps not as good as _Full Metal Jacket_'s combination of burning cities, nonsensical, selfish commentary, Mickey Mouse club, and a sped-up version of the Rolling Stone's _Paint it Black_. Both of them just end at a logical spot; they do not seem as artificial as, say, the ending to _All Quiet on the Western Front_ (though the ending in both the book and in the color 1960s version are quite powerful). The officers in this movie do not come out looking good.  Superiors are almost completely absent and their absence is the subject of harsh words. One technical kudo I would like to give this film: its use of actual US hand and arm signals. Though this was a minor point, and perhaps questionable historical accuracy (I don't know if signals used then were the same as today), I was still delighted that the producers included this little bit of detail which so many other war movies forget. In all, this was an impressive beginning to a series of Neo-WWII films. The fact that it was made with no name actors, on a tight budget, and for TV makes it even more so. The strength of the movie is based on the characterization and actions of Manning, its good cinematography and its attention to minor detail (the men look convincingly dirty, exhausted, and unhappy, no mean achievement). _When Trumpets Fade_ have set a high hurdle for further WWII movies to pass over.
-----== Posted via Deja News, The Leader in Internet Discussion ==----- http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


About Shannon
I grew up in Sand Springs, Oklahoma with rolling plains and spectacular thunderstorms. After attending College at Oklahoma State and Northeastern State Universities, I relocated several times but never strayed from my warm, humid South. I had vacationed in Colorado for years and I knew that I had to make the move.
The contrast of the mountains with the desert in the Four Corners area was just what I needed to make a new start. It was Pete, my trusty coonhound, and I against the world. Once settled in Durango, I made some new friends and began to enjoy the new landscape.About Justin
I grew up in Park City Utah, spending my winters skiing and summers mountain biking and camping. During high school summer breaks, I explored the Black Hills of South Dakota with my mother and grandparents.
Upon graduating from Park City High School, I found Fort Lewis College in Durango. Once here, I knew this was my home. After earning my degree in Computer Science from “The Fort”, I was one of the lucky few to land a job in town. I bought a house from my good friend Jeff and have continued to live happy since.About Us
It all began with a chance meeting among friends at a local brewery, Steamworks. We were introduced and were instantly captivated. The night ended and we went our separate ways without knowing how to contact one another. A few months and some internet stalking later, we randomly met up again through friends at Ska Brewing. This time we made sure to exchange contact info. Within a few days, we had gone out on our first date.
Since that time, we have spend each winter skiing and snowshoeing and each summer traveling, camping and backpacking. Most Fridays you will find us with friends for happy hour at either Lost Dog or North Home Slice. On any given Sunday we will be bellied up to the bar at Carver’s for breakfast and mimosas.
 Apparently everyone knew that it was going to happen except me. And of course I said “um yeah”. We celebrated with sips from a whisky flask and a red wine from a bladder.
We most cherish our time scheming where to go and what to do next. Whether it be backpacking in the Weminuche Wilderness, sailing across the Atlantic, or visiting friends and family across the US and Korea, we excitedly look forward to our next great adventures together.


|
|||||||||||||||||||
| Source file | Conditionals | Statements | Methods | TOTAL | |||||||||||||||
| Component.java | - | - | - | - |
|
| 1 | // Copyright 2004 The Apache Software Foundation | |
| 2 | // | |
| 3 | // Licensed under the Apache License, Version 2.0 (the "License"); | |
| 4 | // you may not use this file except in compliance with the License. | |
| 5 | // You may obtain a copy of the License at | |
| 6 | // | |
| 7 | // http://www.apache.org/licenses/LICENSE-2.0 | |
| 8 | // | |
| 9 | // Unless required by applicable law or agreed to in writing, software | |
| 10 | // distributed under the License is distributed on an "AS IS" BASIS, | |
| 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 12 | // See the License for the specific language governing permissions and | |
| 13 | // limitations under the License. | |
| 14 | ||
| 15 | package gravity; | |
| 16 | ||
| 17 | /** | |
| 18 | * The component is the central concept of the framework around which everything else revolves. A | |
| 19 | * component is the entity that can be configured by the {@link gravity.Container container}. A | |
| 20 | * component is simply an object that has an interface, an implementation and a | |
| 21 | * {@link gravity.ComponentStrategy state}. | |
| 22 | *
 | |
| 23 | * Every component has a unique identity typically comprised of the interface and a type (any | |
| 24 | * String) and there will be only one object of each component (a flyweight). | |
| 25 | *
 | |
| 26 | * The Component is also a factory for component instances just like {@link java.lang.Class}. The | |
| 27 | * identity of the component instances (not to be confused with the component identity) is dependent | |
| 28 | * on the state of the component. | |
| 29 | * | |
| 30 | * @author Harish Krishnaswamy | |
| 31 | * @version $Id: Component.html,v 1.2 2004-05-27 03:39:33 harishkswamy Exp $ | |
| 32 | */ | |
| 33 | public interface Component | |
| 34 | { | |
| 35 | /** | |
| 36 | * This method should be used to register an implementation for this component. | |
| 37 | * | |
| 38 | * @param compClass | |
| 39 | * Component implementation class. | |
| 40 | * @param ctorArgs | |
| 41 | * Component constructor arguments. This is simply an array of the constructor argument | |
| 42 | * values that will be used in the order it is provided. | |
| 43 | * @param lifeCycleMethods | |
| 44 | * Component methods to be invoked during component life cycle stages. | |
| 45 | */ | |
| 46 | void registerImplementation(Class compClass, Object[] ctorArgs, | |
| 47 | ComponentCallback[] lifeCycleMethods); | |
| 48 | ||
| 49 | /** | |
| 50 | * This method may be used to register the location of the component registration. The sole | |
| 51 | * purpose of this method is to provide error messages with precise location information in the | |
| 52 | * event of an error. | |
| 53 | */ | |
| 54 | void setRegistrationLocation(Location location); | |
| 55 | ||
| 56 | /** | |
| 57 | * This method allows registration of the implementation's constructor arguments. These | |
| 58 | * arguments will be appended to the already existing arguments. The order of the arguments will | |
| 59 | * determine the constructor that will selected for instatiation. | |
| 60 | */ | |
| 61 | void registerConstructorArguments(Object[] args); | |
| 62 | ||
| 63 | /** | |
| 64 | * This method allows registration of the implementation's life cycle methods. These methods | |
| 65 | * will be appended to the already existing methods. The method invocations will be in the same | |
| 66 | * order it has been provided. | |
| 67 | */ | |
| 68 | void registerCallbackMethods(ComponentCallback[] lifeCycleMethods); | |
| 69 | ||
| 70 | /** | |
| 71 | * This method will return an instance (concrete or hollow) of this component. The component | |
| 72 | * instance indentity is dependent on the state of the component. | |
| 73 | *
 | |
| 74 | * Only the following is true of the returned component instance: | |
| 75 | *
The returned component instance will be of the registered component interface type. | |
| 76 | *
Method invocations on the returned component instance will be completed successfully | |
| 77 | * provided an implementation was registered prior to the method invocation. | |
| 78 | *
 | |
| 79 | * The advantage of using this method is that an instance of the component may be obtained even | |
| 80 | * prior to registering an implementation for the component. | |
| 81 | */ | |
| 82 | Object getInstance(); | |
| 83 | ||
| 84 | /** | |
| 85 | * This method may be used to register the location of the component retrieval. The sole purpose | |
| 86 | * of this method is to provide error messages with precise location information in the event of | |
| 87 | * an error. | |
| 88 | */ | |
| 89 | void setRetrievalLocation(Location location); | |
| 90 | ||
| 91 | /** | |
| 92 | * This method will change the state of this component to singleton. | |
| 93 | */ | |
| 94 | void wrapStrategyWithSingleton(); | |
| 95 | ||
| 96 | /** | |
| 97 | * This method will change the state of this component to pooling. | |
| 98 | */ | |
| 99 | void wrapStrategyWithPooling(); | |
| 100 | ||
| 101 | /** | |
| 102 | * This method will change the state of this component to thread local. | |
| 103 | */ | |
| 104 | void wrapStrategyWithThreadLocal(); | |
| 105 | ||
| 106 | /** | |
| 107 | * This method should be used to return a component instance obtained via {@link #getInstance()}. | |
| 108 | * This method is primarily used for returning pooled components. | |
| 109 | */ | |
| 110 | void collectInstance(Object comp); | |
| 111 | } |
|


Company
Our Commitment
We specialise in the creation of exclusive, distinctive, environmentally sustainable landscape architectural and urban design solutions.
We are experienced landscaping consultants, offering a complete garden design and contracting service. We are based in the western suburbs of Perth and service the Perth metropolitan area as well as the surrounding country areas of Western Australia.
Staff Profiles
Mario Johnson Principal, Landscape ArchitectMario earned a degree in Landscape Architecture from Oregon State University in 1974; he joined the firm that year and became a principal in 1985. Mario currently serves as the firm's president and is responsible for operational oversight, ensuring quality and values the collaborative process and brings highly regarded project management skills, imaginative design and detailing to projects of all scales.
As an occassional guest lecturer and design critic at UWA Landscape Architecture Department, Mario contributes to building student knowledge and preparing them for professional practice.
Matt Friend Landscape Architect
Matt Friend graduated from the UWA Landscape Architecture program in 2008 and promptly joined Johnson Landscapes. Matt believes that much of the region's landscape is in great need of restoration and that restoration can be undertaken to be both aesthetically pleasing and environmentally sound.
He enjoys revealing ecological processes through the use of graphics and transparent design.  When he has a chance to get outside, Matt enjoys kite flying, camping, hiking, canoeing/kayaking, snowboarding and exploring Perth and surrounds on foot.
Christine Banon
Christine joined the administrative team in 2006. Whether she’s answering phones or making sure the office is running smoothly, Christine provides excellent service to customers as well as the Johnson Landscape Design staff, and enjoys helping to make their jobs easier. She makes sure that what needs doing gets done–all in a timely fashion. Christine thinks the Johnson Landscape Design team’s dedication to each job, from start to finish, makes the company special.


Hong Kong District Council election: Pro-democracy candidates win majority of seats, as pro-Beijing camp suffers historic defeat
by Holmes ChanHong Kong’s pro-democracy camp has won a majority of seats in the District Council – the first time it has done so since the 1997 Handover. Sunday’s elections also delivered a stinging rebuke to the pro-Beijing camp, which saw some of its most prominent leaders defeated.
Over 2.94 million voters showed up on Sunday for the biggest election in the city’s history, according to the Electoral Affairs Commission (EAC). The turnout represented 71.2 per cent of eligible voters – a 25 percentage point rise when compared to the previous District Council election four years ago.
On Sunday night and the early hours of Monday, pro-democracy candidates swept one constituency after another, prompting joy and disbelief from some supporters.
Hong Kong’s 18 districts have long been dominated by pro-government councillors, but now democrats outnumber their opponents decisively in districts such as Tuen Mun, Tai Po, Wong Tai Sin, Shatin and Yuen Long.
Democrats such as Roy Kwong, Jimmy Sham, Tommy Cheung, Lester Shum and Kelvin Lam all won seats on Sunday, riding on the momentum of the citywide protests.
Kwong defeated his opponent in the Yuen Long Pek Long constituency by 4,382 to 2,584 votes, and said that the election demonstrated the unity of Hongkongers.
“This is also a warning for the government, that the public insists on the five demands,” he said, adding that the government needs to recognise how “exceptional” the result was.
“If Carrie Lam still believes that the public is fine with not having an independent commission of inquiry… then she must be asleep.”
Jimmy Sham, the convenor of the Civil Human Rights Front and the victim of an attack last month, won in the Sha Tin Lek Yuen constituency by 840 votes.
“[Our victory] comes from the overall political climate, which turned the election into a public referendum. This is a victory for the Hong Kong people, not just for me,” Sham said.
Pro-Beijing camp devastated
Hong Kong’s two biggest pro-Beijing parties saw crushing defeats at the polls on Sunday, with the DAB’s Holden Chow, Horace Cheung, Vincent Cheng and Edward Lau all losing their seats.
DAB party leader Starry Lee barely held onto her seat in the To Kwa Wan North constituency, beating out former lawmaker “Long Hair” Leung Kwok-hung by 1881 to 1538 votes.
Other losers included Alice Mak, Ho Kai-ming and Michael Luk from the Federation of Trade Unions (FTU), as well as Michael Tien from Roundtable.
In an upset, pro-Beijing firebrand Junius Ho was soundly defeated by democrat newcomer Cary Lo in Tuen Mun’s Lok Tsui constituency. Ho was one of the most controversial figures on the ballot, and has been under fire for his alleged ties to the triads behind the Yuen Long attack in July.
After Ho’s loss was confirmed, HKFP saw elated crowds cheering in the streets and popping champagne. Some netizens marked the occasion with a pun on his name, saying that “Ho is finished.”
On his Facebook page, Ho described the election outcome as “the world turned upside down,” adding: “This year was abnormal, the election was abnormal, and the result was also abnormal.”
Hong Kong Free Press relies on direct reader support. Help safeguard independent journalism and press freedom as we invest more in freelancers, overtime, safety gear & insurance during this summer’s protests. 10 ways to support us.


Escaping Sloth
-
15 Jul 2016
Bombay...or Mumbai?
-
11 Jun 2016
Manali II - No, tell me more about this weed!
-
24 Mar 2016
Manali I - Woohoo, mountains!
-
03 Feb 2016
Agra - The Taj Mahal
-
04 Dec 2015
Delhi III - The Sikh temple
-
04 Dec 2015
Delhi II - First Night, part 2
-
03 Dec 2015
Delhi I - First Night, part 1
-
22 Nov 2015
Bahrain II - Life in the desert
-
21 Nov 2015
Bahrain - Visa woes
-
16 Sep 2015
Travel - A Luxury
-
16 Jun 2015
Yerevan II - The city
-
14 Jun 2015
Yerevan I - Night Train
-
12 Jun 2015
Kazbegi III - Last Day in the Mountains
-
10 Jun 2015
Kazbegi II - Mountain Goats, Nuns and Snow
-
08 Jun 2015
Kazbegi I - Mountains, Rivers and Rivers of Chacha
-
06 Jun 2015
Tbilisi II - Visa-troubles and David Gareja
-
05 Jun 2015
Tbilisi I - Arrival and doing not much
-
02 Jun 2015
Batumi
-
29 May 2015
35 litres of stuff
-
19 May 2015
Samsun
-
06 May 2015
Cappadocia, part III - Hiking and climbing
-
04 May 2015
Cappadocia, part II - More pretty places
-
01 May 2015
Cappadocia, part I - Invisible cities
-
30 Apr 2015
Ankara, the Concrete Capital
-
29 Apr 2015
Safranbolü
-
28 Apr 2015
Istanbul, again
-
26 Apr 2015
Izmir, again
-
21 Apr 2015
My personal Grexit
-
20 Apr 2015
Kos
-
18 Apr 2015
Stranded, part III - Look at that water! Look at it!
-
16 Apr 2015
Stranded, part II - The Easter Bunny is an arsonist!
-
13 Apr 2015
Stranded, part I - Hiking down Donkey Turd Avenue
-
12 Apr 2015
Cyclades, part II
-
08 Apr 2015
Cyclades, part I
-
05 Apr 2015
Athens
-
25 Mar 2015
Meteora (according to my GPS at least)
-
20 Mar 2015
Thessaloniki
-
18 Mar 2015
Another travel site?
-
22 Feb 2015
So long, suckers!


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--waba.ui.Control | +--waba.ui.Container | +--waba.ui.Window | +--waba.ui.MainWindow | +--extra.ui.ExtraMainWindow
A simple extension to MainWindow which adds a title if desired plus the functionality of RelativeContainer. At the moment you need to extend this class for your main app to use the extra.ui.List control but hopefully that won't always be the case.
| Field Summary | |
static int |
ABOVE
|
static int |
AUTO
|
static int |
BELOW
|
static int |
BOTTOM
|
protected Image |
bufIm
the buffered image |
static int |
CENTER
|
protected RelativeContainer |
content
the container to pass all add and remove calls on to |
protected boolean |
doubleBuffered
should this application be double buffered? |
static int |
FILL
|
protected Graphics |
ig
a graphics context for the buffer image |
static int |
JAVA
Java based platform |
static int |
LEFT
|
static int |
LEFTOF
|
protected MenuBar |
menubar
the menubar, if any |
protected boolean |
needsPaint
|
protected Control |
newFocus
|
protected int |
paintHeight
|
protected int |
paintWidth
|
protected int |
paintX
|
protected int |
paintY
|
static int |
PALMOS
PalmOS based platform |
static int |
platform
the platform we are running on (from Vm.getPlatform()) |
static int |
REST
|
static int |
RIGHT
|
static int |
RIGHTOF
|
static int |
SAME
|
static int |
SAME_BOTTOM
|
static int |
SAME_LEFT
|
static int |
SAME_RIGHT
|
static int |
SAME_TOP
|
protected Graphics |
sg
a graphics context for the screen |
protected Title |
title
the title, if any |
static int |
TOP
|
static int |
WINCE
WinCE based platform |
| Fields inherited from class waba.ui.MainWindow |
defaultFont |
| Fields inherited from class waba.ui.Window |
_controlEvent, _keyEvent, _penEvent |
| Fields inherited from class waba.ui.Container |
children, tail |
| Fields inherited from class waba.ui.Control |
height, next, parent, prev, width, x, y |
| Constructor Summary | |
ExtraMainWindow()
Constructs a new application without a title and no double buffering |
|
ExtraMainWindow(boolean doubleBuffered)
Constructs a new application without a title and the given double buffering |
|
ExtraMainWindow(String name)
Constructs a new application with the given title and no double buffering. |
|
ExtraMainWindow(String name,
boolean doubleBuffered)
Constructs a new application with a standard pilot title bar and the given double buffering options. |
| Method Summary | |
void |
_doPaint(int x,
int y,
int width,
int height)
Called by the VM to repaint an area. |
void |
_postEvent(int type,
int key,
int x,
int y,
int modifiers,
int timeStamp)
Called by the VM to post key and pen events. |
void |
add(Control control)
Adds a component to this application. |
void |
add(Control control,
int x,
int y)
Adds a component to this application. |
void |
add(Control control,
int x,
int y,
Control relative)
Adds a component to this application. |
void |
add(Control control,
int x,
int y,
int width,
int height)
Adds a component to this application. |
void |
add(Control control,
int x,
int y,
int width,
int height,
Control relative)
Adds a component to this application. |
protected void |
damageRect(int x,
int y,
int width,
int height)
Adds a damage rectangle to the current list of areas that need repainting. |
Control |
findChild(int x,
int y)
Returns the child located at the given x and y coordinates. |
Title |
getTitle()
Gets the title for this app, if any. |
void |
remove(Control control)
Temporarily removes a component to this application. |
void |
removePermanently(Control control)
Permanently removes a component to this application. |
void |
setFocus(Control c)
Sets focus to the given control. |
void |
setGaps(int x,
int y)
Sets the standard gap between components when added with the LEFTOF, RIGHTOF, ABOVE and BELOW settings. |
void |
setMenuBar(MenuBar menubar)
Sets the menubar for this application. |
void |
setRect(int x,
int y,
int width,
int height)
Sets the rectangle of this application. |
| Methods inherited from class waba.ui.MainWindow |
_onTimerTick, _setTimerInterval, _stopTimer, addTimer, exit, getFontMetrics, getMainWindow, onExit, onStart, removeTimer |
| Methods inherited from class waba.ui.Window |
createAWTGraphics, getFocus |
| Methods inherited from class waba.ui.Container |
paintChildren |
| Methods inherited from class waba.ui.Control |
addTimer, contains, createGraphics, getNext, getParent, getRect, onEvent, onPaint, postEvent, repaint |
| Methods inherited from class java.lang.Object |
equals, hashCode, toString |
| Field Detail |
public static final int PALMOS
public static final int JAVA
public static final int WINCE
public static final int LEFT
public static final int LEFTOF
public static final int CENTER
public static final int RIGHTOF
public static final int RIGHT
public static final int SAME
public static final int SAME_LEFT
public static final int SAME_RIGHT
public static final int TOP
public static final int ABOVE
public static final int BELOW
public static final int BOTTOM
public static final int SAME_TOP
public static final int SAME_BOTTOM
public static final int AUTO
public static final int FILL
public static final int REST
public static int platform
protected RelativeContainer content
protected Title title
protected MenuBar menubar
protected boolean doubleBuffered
protected Image bufIm
protected Graphics ig
protected Graphics sg
protected Control newFocus
protected boolean needsPaint
protected int paintX
protected int paintY
protected int paintWidth
protected int paintHeight
| Constructor Detail |
public ExtraMainWindow()
public ExtraMainWindow(boolean doubleBuffered)
doubleBuffered
- true if an image buffer should be used, false otherwise.public ExtraMainWindow(String name)
public ExtraMainWindow(String name, boolean doubleBuffered)
title
- the name of the appdoubleBuffered
- true if an image buffer should be used, false otherwise.| Method Detail |
public Title getTitle()
public void setFocus(Control c)
setFocus
in class Window
protected void damageRect(int x, int y, int width, int height)
damageRect
in class Window
public void _postEvent(int type, int key, int x, int y, int modifiers, int timeStamp)
_postEvent
in class Window
public void _doPaint(int x, int y, int width, int height)
_doPaint
in class Window
public Control findChild(int x, int y)
findChild
in class Container
public void setGaps(int x, int y)
x
- the x gap in pixelsy
- the y gap in pixelspublic void setMenuBar(MenuBar menubar)
public void add(Control control, int x, int y)
RelativeContainer.add(Control,int,int,int,int,Control)
public void add(Control control, int x, int y, Control relative)
RelativeContainer.add(Control,int,int,int,int,Control)
public void add(Control control, int x, int y, int width, int height)
RelativeContainer.add(Control,int,int,int,int,Control)
public void add(Control control, int x, int y, int width, int height, Control relative)
RelativeContainer.add(Control,int,int,int,int,Control)
public void add(Control control)
add
in class Container
RelativeContainer.add(Control,int,int,int,int,Control)
public void remove(Control control)
remove
in class Container
RelativeContainer.add(Control,int,int,int,int,Control)
public void removePermanently(Control control)
RelativeContainer.add(Control,int,int,int,int,Control)
public void setRect(int x, int y, int width, int height)
setRect
in class Control
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |