Most SE Asian stocks fall on US-China trade jitters; Vietnam gains
by ReutersBENGALURU (Nov 1): Most Southeast Asian stock markets retreated on Friday, as investors fled risky assets after China expressed doubts over signing a comprehensive trade deal with the United States, while Vietnam surged buoyed by gains in real estate shares.
A Bloomberg report on Thursday said that Chinese officials told visitors to Beijing that it will not budge on the thorniest issues and is concerned about the risk that US President Donald Trump could back out of the interim deal.
For the market to slip further, it will require the recent disquiet from the Chinese on trade deals to broaden into something more unsettling, plus a further deterioration in the US economy, both of which seem eminently plausible, said Robert Carnell, head of research, Asia-Pacific at ING.
Thai shares led the fall in the region, with telco and consumer sectors dominating losses on the benchmark. Shares of retailer CP ALL PCL fell 2.6% and telco Advanced Info Service PCL dropped 1.8%.
Malaysian shares followed suit to slip 0.3% amid broad-based losses. However, the index added 1.5% for the week.
Public Bank Bhd and state-run gas distributor Petronas Gas Bhd shed about 2.4% and 1.6%, respectively.
Indonesia's main index dipped 0.3% on weakness in consumer and telecom stocks. The benchmark shaved off 0.7% over the week.
Heavyweight Telekomunikasi Indonesia (Persero) Tbk PT slid for third straight session to close at a three-month low after reporting disappointing quarterly results on Wednesday.
Singapore's benchmark recovered some of its early losses to end the session flat, but added 1.3% for the week.
Trade-sensitive industrial stocks were the hardest hit, with Jardine Strategic Holdings Ltd dropping 1.3%.
Meanwhile, the Vietnam bourse surged 1.7%, underpinned by real estate stocks. The index added almost 2% this week.
Vietnam has emerged as one of the largest beneficiaries of the trade war between Beijing and Washington, as some businesses are shifting their supply chains away from China in order to avoid tariffs.
Big-cap firms Vinhomes Joint Stock Company and Vingroup Joint Stock Company jumped 7% and 2.9%, respectively.
Philippine markets were closed for a public holiday.
SOUTHEAST ASIAN STOCK MARKETS
Change on the day
| Market | Current | Previous close | % move |
| Singapore | 3229.43 | 3229.88 | -0.01 |
| Bangkok | 1592.52 | 1601.49 | -0.56 |
| Jakarta | 6207.191 | 6228.317 | -0.34 |
| Kuala Lumpur | 1593.34 | 1597.98 | -0.29 |
| Ho Chi Minh | 1015.59 | 998.82 | 1.68 |
Change so far in 2019
| Market | Current | End 2018 | % move |
| Singapore | 3229.43 | 3068.76 | 5.24 |
| Bangkok | 1592.52 | 1563.88 | 1.83 |
| Jakarta | 6207.191 | 6,194.50 | 0.20 |
| Kuala Lumpur | 1593.34 | 1690.58 | -5.75 |
| Ho Chi Minh | 1015.59 | 892.54 | 13.79 |


I am currently in my last semester as a Computer Science student at San Francisco State.
The majority of my experience has been working with Amazon Web Services. The dream someday is to create something that genuinely increases the quality of life for us as a society!
I love watching football, going snowboarding, and from time to time fishing. Thanks for stopping by!


Home
Archives
Categories
Tags
About
January 2019
2019-01-31
Have you ever buy any in-app purchase in a mobile game?
fun
2019-01-30
Take the gain from EOSKnight and buy DICE
dice
2019-01-29
The January Chinese New Year is here again
cny
2019-01-28
Never get into the comfort zone again
books
2019-01-27
The best productivity mouse?
computer
2019-01-26
Macbook isn't made for gaming
deadcells
2019-01-25
A nearly failed Steem price speculation attempt
crypto
2019-01-24
A perfect basketball night stolen from the god
blog
2019-01-23
Quit EOSknight after 5 months
crypto
2019-01-22
Don't minify the code in yet, if you intend to work on it outside of Webflow.
coding
2019-01-21
Don't crash so soon, Steem.
money
2019-01-20
A slight dose of Bitcoin shilling
bitcoin
2019-01-19
Speculation on the recent Steem spike, selling all my liquid Steem away
invest
2019-01-18
What is your biggest cause to procrastinate?
blog
2019-01-17
CEO is here to save the STEEM, until he is gone missing again.
crypto
2019-01-16
Can we see the day when Steem is the new Reddit?
blog
2019-01-15
Bought a 2 years VPN plan via Bitcoin
bitcoin
2019-01-14
10 cent Steem is not that far away
crypto
2019-01-13
Weekend is not an efficient Steem posting day for me anymore
blog
2019-01-12
Invested 200 Steem, got back 750 half a year later.
design
Previous
Next
1
2
Your browser is out-of-date!
Update your browser to view this website correctly.
Update my browser now
×


Maritime Bulletin Daily Nov 24 – 25
by Mikhail VoytenkoAccidents
• Horror in Romanian port, 14600 sheep on capsized livestock carrier VIDEO
• Container ship sank in Java sea, crew rescued
• French cruise ship hit rocks, breached, taking on water, Andaman sea Thailand
• Two bulk carriers collided in Parana river
• Passenger and cargo ships collided, both seriously damaged
• One more cocaine bust on bulk carrier in Mexico, no news on crew
• Aground and Not Under Command vessels Worldwide Alerts (2 ships)
Details only for subscribers.
Annual subscription $750. For annual subscription, contact<EMAIL_ADDRESS>Subscribe if you want to receive accidents news ASAP and in full.


|
Falling
In Love (Is Hard On The Knees)
(Aerosmith) |
|
You're
so bad you're so bad...
You think you're in love, Like it's a real sure thing.  You used to be strong, but now it's ooh baby please 'Cause fallin' in love is hard on the knees You're so bad you're so bad...     You're bad to the bone, And your girlfriend agrees That falling in love is hard on the knees I'm Jones'in on love, Yeah I got the DT's You say that we will But there ain't no guarantees I'm major in love, But in all minor keys 'Cause falling in love is so hard on the knees |


DNS
Mon - Fri 9 a.m. - 5 p.m. (EST)
8<IP_ADDRESS>87
international +1.617.963.055
Clients and Servers
Computers connected to the Web are call clients and servers.
- Clients are the typical Web user's Internet-connected devices (for example, you computer connected to your Wi-Fi, or your phone connected to your mobile network) and Web-accessing software available on those devices (usually a web browser like Firefox or Chrome).
- Servers are computers that store webpages, sites, or apps. When a cilent device wants to acces a webpage, a copy of the webpage is downloaded from the server onto the cilent machine to be displayed in the user's web browser.
So What Actually Happens?
- The browser goes to the DNS server and finds the real address of the server that the website lives on.
- The browser sends an HTTP request message to the server asking it to send a copy of the website to the client.
- if the server approves the client's request, the server sends the client a "200 OK" message, which means "permission granted! Here you go!", and then starts sending website's files to the browser as a series of small chunks.
- The browser assembles the small chunks into a complete website and displays it to you!
The Big 3 - HTML, CSS, JavaScript
While the server can process information in many different languages, the files that they serve to the client are always going to be some combination of HTML, CSS, and JavaScript!
Learn more abut the Big 3 here!


@header1
@header2
@Html(description)
@Html(answers)
@(header1: String, header2: String, picture: String, description: String, answers: String, xml : String) @defining(play.core.PlayVersion.current) { version =>


Tyrone’s Smokehouse focuses on real, unprocessed food to enhance the
culinary experience through modern styles of cuisine. Emphasizing bringing out flavors of fresh
ingredients, our cuisine ranges from vegetarian and gluten free options to smoked meat.
Our owner grew up with a gluten dietary restriction and as a result could
not have the best expeirence in different cuisines. He made it his goal to have food that was
avalible to everyone and decided to create a restaurant with flavor.


FG targets $500 AfDB loan to boost technological innovation
by Hamed ShobiyeThe Minister of Industry, Trade and Investment, Richard Adebayo, said on Monday the Federal Government has initiated moves to secure a $500 million African Development Bank (AfDB) loan to fund technological innovation.
Adebayo stated this in his opening address at the 11th meeting of the National Council on Industry, Trade and Investment in Uyo, Akwa Ibom.
He said the federal government would also work towards the realisation of one agro-processing zone in each senatorial district to encourage farmers in the country.
The minister expressed the government’s readiness to ensure credit access to 10 million Micro, Small and Medium Enterprises (MSMEs) at a single-digit rate and fully activate the six special zones for the private sector in Lekki, Enyimba, Funtua, Ibom, Kano and Benue.
READ ALSO: Churches need to stop showing favouritism towards rich people says Ex-minister
Adebayo said the policies were meant to boost federal government’s plan to put 100 million Nigerians out of poverty in the next 10 years.
The minister said: “The National Enterprises Development Programme being implemented is generating 1,000,000 jobs annually.
“The programme is a strategic way of delivering enterprise development in the country to directly address the critical factors that had inhibited the growth of the MSME sector.
“It is of interest to intimate the Council that tremendous progress has been recorded in the areas of improved registration of enterprises, increased access of MSMEs to grants, improved capacity of MSMEs and job creation opportunities amongst others.
“There are over 100,000 MSMEs registered under the Business Innovative and Growth (BIG) platform, which is the only channel through which MSMEs can access the project intervention programme.” (NAN)


How long have you worked as a IT specialist?
less then 1 year
2 - 4 years
5 - 8 years
9 - 14 years
more then 15 years
Select you current and previous roles in IT projects?
Programmer
Project manager
Tester
Analyst
Architect
Designer
Other
Send


Maintaining State in Your ViewControllers
Last week we talked about extracting reusable code samples from ViewControllers into Protocols and Protocol extensions. Today I want to show you another nice use case of protocols while maintaining the state of ViewControllers.
Assume that we have a screen for presenting the list of user watched shows — our app downloads it from the web service like Trakt. We can describe the state of ViewController within three variables:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class HistoryViewController: UIViewController {
var loading: Bool = false {
didSet {
renderLoading()
}
}
var shows: [Show]? {
didSet {
renderShows()
}
}
var error: Error? {
didSet {
renderError()
}
}
}
- loading indicates whether the ViewController loading the data or already finished the job.
- shows variable stores the actual history of watched TV shows.
- error property reports whether the request ended with an error.
Here is fetch method, which used to request data from Trakt web service:
1
2
3
4
5
6
7
8
9
10
private func fetch() {
loading = true
historyService.fetch { [weak self] result in
self?.loading = false
switch result {
case .success(let shows): self?.shows = shows
case .failure(let error): self?.error = error
}
}
}
Before starting our request to Trakt web service, we set loading to true, which calls renderLoading() method. After that, we initiate the API request to fetch the history of watched TV shows. In the completion handler, we set shows or error variables accordingly to the result of the request. At first glance, it should work pretty well, but here we have a couple of downsides.
- We have to reset loading, error, shows variables on every request to avoid an invalid state. For example, in case of the first request fails and user retries it with the successful request, we still have value in the error property.
- We want an exclusive state, at any point, we need only one state of the screen: error or loading or shows. Right now we introduce more state variations than we have, and this can leads to ambiguous situations.
Enums
We want the exclusive state, and this is about enums. Enums give the opportunity to have only one case at any point in time. Let’s refactor our code with enum.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
enum State {
case loading
case error(Error)
case loaded([Show])
}
class HistoryViewController: UIViewController {
private var state: State {
didSet {
render()
}
}
}
extension HistoryViewController {
func render() {
switch state {
case .loading: // render loading
case .error(let error): // render error
case loaded(let shows): // render shows
}
}
}
Here we declare State enum which exclusively describes our state cases. As soon as state variable changes, it calls the render method. Inside the render method, we switch state to display it. Another positive change here is clean access to screen state. We don’t need to check all the three variables to understand what’s happening on the screen right now.
Protocols with associated types
We already made nice refactoring, but it is very bounded to current screen, which presents the list of the shows. Let’s add a generic constraint to State enum, to make it more usable across the app screens, which also have loading and error states, but present other data entities.
1
2
3
4
5
enum State<Data> {
case loading
case loaded(Data)
case error(Error)
}
Let’s go beyond and extract state handling into a generic protocol with protocol extension, which any ViewController can adapt to add this logic.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
protocol StatePresentable: ActivityPresentable, ErrorPresentable {
associatedtype Data
var state: State<Data> { get set }
func render()
func render(_ data: Data)
}
extension StatePresentable {
func render() {
switch state {
case .loading:
setActivityStatus(.visible)
case .error(let error):
setActivityStatus(.hidden)
present(error)
case .loaded(let data):
setActivityStatus(.hidden)
render(data)
}
}
}
Here we have StatePresentable protocol which extends from Activity and Error Presentable protocols. We described these two protocols in the previous post. StatePresentable protocol has associated type Data, which we use as generic constraint for State enum, to make it usable for any type of data. We also added the default implementation for render method which handles state changes.
Here is the usage example of StatePresentable protocol.
1
2
3
4
5
6
7
8
9
10
11
12
13
class HistoryViewController: UIViewController {
private var state: State<[Show]> {
didSet {
render()
}
}
}
extension HistoryViewController: StatePresentable {
func render(_ data: [Show]) {
// render your data here
}
}
All we need is to conform StatePresentable protocol, add the didSet observer for state property and implement render method, where we add data presenting logic for the actual screen.
Conclusion
Protocol with associated types can be robust by enabling the power of generic constraints and making codebase more reusable. I really suggest to read great post by NatashaTheRobot about Protocols with associated types.