Hello I'm Liam Gammon and this is New Mandala TV. I'm a PhD candidate at the Department of Political and Social Change at the ANU's College of Asia and Pacific. I'm joined here today by Greg Feely who researches Islamic politics and religious life in Indonesia. I'm with Arianto Patundru who is an economist at the ANU's Indonesia project and a fellow political and social change PhD candidate, P Warburden, who studies the politics of resource nationalism in Indonesia. Now as we're recording this video President Jokowi Dodo or Jokowi as we'll henceforth refer to him is in Washington DC and he's about to meet, have a dinner in his honor with John Kerry. He's about to meet Barack Obama in the Oval Office and be fated by US business leaders and most importantly have dinner with the CEO of Apple. Now just a few years ago if I'd have said the mayor of Solo would be meeting with Barack Obama in the Oval Office people would have looked at you as if you were a bit crazy. So you nevertheless it's happened. So in a sense it's only been quite recently that we've really got a feeling for the kind of man that Jokowi is and the kind of political leader that he is. So I just want to open up this chat today by asking what do you think is the most interesting or surprising thing that we've learned about Jokowi the man, his character in his first 12 months. Something that we didn't, that wasn't revealed to us wasn't apparent before he became president. Well if I start it has been a meteoric rise but in some ways at least from where I stand Jokowi has become a more enigmatic figure the higher he has risen and when we hear some of the stories from the palace reported in the media and elsewhere about how his personal behavior is changing how he's becoming more formal and the like he is clearly a politician in the process of development. I think one of the things that surprised about the last year has been the lack of political fortitude that he's shown particularly in facing down other powerful forces in his coalition. His willingness to compromise on matters that we previously thought were very dear to him such as having reform minded economically rational people in the cabinet people with strong crack track records. Most of those things were unexpected and I for one am still not sure what the prospects are for Jokowi to improve his presidential performance in the remaining four years because in some ways he's slightly improved his position in other ways I think we seem to have a fairly fixed pattern of him not paying attention to a whole lot of reform issues focusing on economic issues but most importantly of all not doing anything to cause ructions within his cabinet and that means that he has become a politician much like many of the people whom he's replaced. Essentially it's business as usual is that the feeling for what the next four years? Largely it's that there are some distinctive things about Jokowi the people who has around him in some ways the people whom he trusts most in some ways are a different kind of person to the kind of people that SBY or or Megawati would have had around them but nonetheless I think he's still far too concerned about political stability and he has no sense of brinksmanship about him and really for him to have broken through the those conventional boundaries of Indonesian politics to really put a distinctive stamp on his presidency he needed to have an element of that taking on his enemies and that would have seen I think an entirely different dynamic in politics now in Indonesia but I suspect a great many of the coalition partners feel that they have his measure and they know if they put pressure on him that he will not that he will yield the the the economy and the president's outlook on the economy is one of those areas where the evidence is so confounding and confusing so I want to ask you for the first I suppose nine or ten months or so of the administration they came in for some very very heavy criticism about interventionist and protectionist policies on trade restricting the ability of expatriates to work in Indonesia making you know price controls and so on and so forth yet in the last few months we've got a real kind of change in tone in some areas the appointment of Thomas Lombong a real man of a real liberal persuasion as trade minister a change in rhetoric from the palace which focuses upon improving the business climate and for the last few fortnights we've seen these sort of this drip feed of announcements of cutting red tape in areas like taxation and business licensing and so on so do you think that this change in tone is really anything substantial or is it really a matter of branding well first of all the reshuffle was just over two months ago right so it's probably too early to judge the performance of the new ministers but if the remarks by for example minister Thomas Lombong after his inauguration is of any indication I think we have hope and for example he said that we have to undo these protectionist measures because such measures actually backfires in the end so I think that's a good sign and these packages as you know the government has just launched five packages looking at the content I think there are hopes especially on the trade front for example there is close to not require recommendation from Minister of Agriculture and Industry anymore for import of say sugar and not requiring double check or survey from survey Indonesia for something that is already checked in the customs so these I think is a good sign but again it's just two months we we never know that I hope they will walk to talk right so and also now that the government President Jokowi himself is now in in US to persuade investors if you like I think it's a good sign I mean in the first year people have been saying that actually Jokowi might not be very interested in international you know communities unlike SBY for example but now he's trying to at least we see the sign that he's trying to be pragmatic and to be more investor friendly if you like so yeah there's hope. I'd like to just ask one issue that has really come to the fore during the first year of Jokowi's presidency is trade in agricultural commodities and the idea of sort of self-sufficiency or independence in food right that has become a real kind of touchstone for a lot of nationalist politicians in Indonesia. Jokowi himself has seen keen on this so isn't it a bit of a contradiction to have this stated goal of food self-sufficiency yet at the same time promising liberalization in trade? Yeah contradiction is a good way to put it I think so he has ministers but not all of them see eye to eye so I don't think well I think Thomas Lemung I hope he will become a better trade minister but there is this minister of agriculture who keeps pushing on self-sufficiency and I think it's not the right time it's not the right policy at the moment especially for example sufficiency in all these commodities rice, sugar, soybean and others and the fact that El Nino is coming it's going to make it far worse and saying that the stocks are enough and we just know it's not enough because the price keeps increasing and if the price of this basic commodity increase it actually hurts the poor so I'm hoping that Padarmin for example the coordinating minister can actually you know sort of navigate these different views in the in the cabinet towards a better outcome yeah yeah just just more broadly do we think or do we have any idea if Jokowi himself has any kind of solid convictions on economic matters or is he simply going on the advice of people around him? That's a difficult question but I think his well first of all he's a pragmatic and I think at the end of the day he will see that the stock is not there and for example and fiscal space is also not enough so like the the the events in the last few days we can see that he actually understands what's the problem and what the problems are and I think well he seems like a very good leader but unfortunately he probably likes of macro narrative if you like so it probably takes some time but the recent indications think give us some hope that he is actually learning that things are not as good as he has been taught by his for example Minister of Agriculture. If you've been doing research on the political economy of the resources sector in Indonesia which is quite a mess of political economy if there ever was one so Jokowi did actually come to office with sort of a personal interest in reforming the mining sector and cleaning up some of the vested interests and rent seeking that occurs in that industry so what went wrong because it's it doesn't seem to have taken place. Yes yes that's right if we cast our minds back to the presidential campaign Jokowi did indeed sort of sell this narrative that he was going to rid the sector this very strategic sector of energy and mining of of vested interests and in Indonesia the term is the mafia and indeed I think in the first few months there were really positive signs that he was committed to reform in this sector and the first the first sign of progress was the appointment of Sudhiraman side to the minister for energy and mineral resources and and prior to to Jokowi under SBY we had this we had political appointees we had appointments of people who are what widely seen as kind of political operators and corrupt indeed and so with the appointment of Sudhiraman side we for the first time in a long time had widely regarded as a clean minister pragmatic minister lots of experience in the bureaucracy so that was a really good sign he also went ahead and appointed an independent team to provide recommendations to him on how to clean up the oil and gas sector which we is notoriously corrupt in particularly the importing of oil into Indonesia so those were really good signs but then I think and this is we see this not just in this sector but that this contradiction and and chaos in fact in and erratic behavior in the way Jokowi approaches policy and approaches reform so on the one hand he was pointing to progress to reform and on the other hand at the same time we see many cases where Jokowi has bent to the pressure of vested business interests particularly within his own coalition and so just to just to point to one case study in particular you know right at the same time as he appointed this independent team to look into corruption in oil and gas imports he then gave the green light to Saudi Apollo the head of the National Democratic Party one of his coalition partners to go ahead and and organize facilitate an importing deal with Angola through one of Saudi Apollo's own private business partners from China it was incredibly dubious terrible optics but again this is this contradiction that that Jokowi you know that we can't he's unpredictable in the way he approaches these reforms and I think it says it speaks to perhaps his own lack of understanding and naivety of the way that these rents the rent seeking works in the sector but I think also it it reflects the kind of superficial commitment to transparency and there are many other cases we could of course point to as well I mean in a broader sense and we look at some of the the way he makes decisions that affects the interests of people around him is he well aware that he's being put under pressure by rent seekers invested interests or is it a question of he doesn't know a dodgy confidant when he sees one what's our feeling on that I think with a particular case that I just mentioned I think that and we know this from other cases as well sometimes jukowi signs things that he doesn't read sometimes he doesn't do his research I think it did in that case demonstrate perhaps it was a political deal made in advance perhaps he just really didn't understand the nature of the deal and didn't know who this Chinese investor was or this broker was but I think in other cases and again I would refer to the mining sector jukowi is aware that he is constantly managing the vested business interests of the elites around him I mean it's public knowledge that the vice president Yusuf Kala has interests in the mining sector that of course Odeopalo and then indeed look at Panjaitan his former chief of staff and now one of the coordinating ministers has direct interests in the sector and jukowi is constantly trying to balance these interests but he does a very poor job of it and it has an effect on on the direction of policy and on some of the the government's decisions on key strategic contracts with big big foreign oil and gas and mining companies and I think that to a large extent what we had hoped is that jukowi would attempt to insulate his minister from these vested business and and vested political interests and instead he's he's hot and cold with with his minister and often abandons him and I think that that speaks to I think perhaps also what what Greg mentioned in terms of his own personal character as well just add to that Liam that sometimes I think in the foreign media an impression is given that jukowi is something of a very purely a very pure politician and something of an ingenue and I think one of the mysteries with him is that on the one hand he does look as if he's out of his depth politically and we've got the case that he'd mentioned about Saripalo and Sampo but and other cases we know from his time as governor of Jakarta and mayor of Solo that he was quite prepared to do political deals and what's more he was quite prepared prepared to use sensitive information that came into his possession as leverage against parties in the local parliaments to make sure that they pass things that he wanted to get through so this was very much a practical politician at work and that for me is one of the mysteries about jukowi working out at what point we suddenly get jukowi the operator prepared to take on prepared to do things are a little bit questionable to achieve an end and at what point we suddenly get jukowi is the person who is compliant and and that's one of the things that I think we're all trying to work out about jukowi at the moment I mean after having piled on to him collectively over the past year I mean can we see anything that's worth defending in this in this in this administration are there any areas where he has actually used the political tools that are available to him to one sort of pursue something that he really cares about well from economic front I think one of the policies that has been applauded is the removal of the pure subsidy just in what is it for five months he was in the office and I think that's a very good policy it is it was unpopular but he did it and of course we now want to see the effect the safe money is now according to the government is really given to infrastructure which is of course is very needed for development at the moment but in the future we also want to see you know allocation reallocation for education and health for example so yeah that's one of the policies that I think he uses common sense and good politics now of course you can't talk about jukowi's infrastructure drive without talking about the role of China in Indonesia's foreign relations and increasingly the economy is there a feeling that jukowi and the government understand the geopolitical consequences of in some ways quite publicly aligning themselves with Chinese economic power I'm not sure whether jukowi understands the geo the geopolitics of cozying up to China I think that yes we have seen jukowi open the doors to Chinese investments certainly in the minerals and energy sector they need investment there's been a big push to to to develop the downstream industrialization of the resource sectors and China has been a huge player in that and they need that sort of investment we've also seen the recent decision to choose a Chinese investor over a Japanese investor for a big rail infrastructure project in Indonesia so we can see that the government is obviously prioritizing and is interested in Chinese investment but then publicly the media has been quite critical of some of these decisions and we are beginning to see a bit of public debate about whether Indonesia should be closing up in this way to China but I don't know I'm not sure I can I can speak to whether jukowi himself or those in his executive are thinking in terms of the geopolitics of this I don't know if Greg wants to comment on that one thing I'd say is that the Chinese have been very effective in cultivating jukowi presidency went to Indonesia and spent three days there which is a long time for the Chinese president to be there in April when Indonesia was marking the 60th anniversary of the Asia-Africa summit and so the Chinese have been investing a great deal of time in persuading Indonesian leaders of the merits of their various projects that they're putting forward to my mind this is one of the questions one has to ask about jukowi we'd previously thought that he was very development minded and could be quite technocratic and rational but in the case of the fast-train project between Jakarta and Bandung that he was referring to this is a classic case in point the the Japanese got the contract to build the the subway the MRT in Jakarta or they're the main contractor and there's a sense in Indonesia that these deals have to be shared around but if you look at Japan's record in building high-speed railways and China's record you would say there's really no argument the Japanese have got a superb record of reliable investment in Indonesia high engineering standards everything they build works well the Chinese have got a very chequered history in Indonesia the power stations they built often never get more than 30 or 40 percent of their design capacity in the like because there are also some problems with them so by rights if the government was doing this on the basis of merit that project should have gone to the Japanese and I think we've seen anger on the part of the Japanese government which is unprecedented towards Indonesia and indeed towards any other country I think for a long long time because they felt as if their claim was so much stronger than Japan the Chinese so clearly Jokowi felt as if on this matter some special treatment towards and privilege treatment towards the Chinese would be a good thing I think it's going to turn out to be a bad thing for Indonesia I must say I agree that this railway incident has heard a reputation of Indonesian international forum and so I'm hoping that Jokowi can you know learn from it and especially now that there is this new thing TPP okay which China is not part of but also on the other hand there is RCEP regional comprehensive economic partnership agreement with China is a part of so Indonesia should really be careful in in in dealing with this and because at the same time Indonesia is also preparing itself for the AAC as an economic community so all these things have has to be in the eye of Jokowi also perhaps I should have mentioned that before I mean Luhut Panjaitan this very important minister and Jokowi himself have not ruled out in fact they've made almost teasing comments about the possibility of Indonesia joining the the TPP do you think that's a realistic scenario it is probably but in terms of time Indonesia has been investing on AAC and RCEP so I think in terms of priority they should really focus on these two former negotiations which is actually both of them are ending this negotiation this year right so TPP is next in the agenda because Indonesia is part of it's not part of the TPP but for AAC and RCEP of course Indonesia is there and RCEP is basically ASEAN plus six right so China Korea India Australia also New Zealand are part of this and I think Indonesia should pay attention more towards what is going on in the region but at the same time of course TPP is also important because it's it covers a lot of economy in the world and the idea of both TPP and RCEP actually to streamline all these conflicting rules as a result of FTS bilateral FTS which is making some kind of spaghetti bowl effect so it's a good thing if Indonesia can maybe lead ASEAN for these two initiatives AAC and RCEP. I think it's fair to say that in Jokowi we see a president that is perhaps far less concerned with his own image overseas and perhaps even with Indonesia's image overseas compared to President Yudhoyono I mean Australians will be familiar with the execution of two of our nationals in February this year the current Hayes crisis that's engulfing Southeast Asia and of course like you said some of these issues to do with investment climate and perceived openness to foreign investment. How much do you think of this so-called resurgence in nationalism that we're hearing about particularly in the foreign media can be sheeted home to Jokowi his own example or perhaps a lack of leadership on his part or how much of this was just going to happen anyway. I think that's an interesting question because if we look at some of the sort of policy manifestations of this kind of increased assertiveness in the nationalist tone of politics in Indonesia some of the more nationalist policies and nationalist rhetoric that we observe in the mineral mining sector were very much part of SBY's administration and his last term so to an extent you know in my own research I've been seeing this trend toward more assertive nationalism for some time but I think that we can see the presidential elections as almost a turning point in the kind of mainstreaming of this more aggressive nationalism and we can we can point partly to the kind of campaign that Prabowo launched that was very aggressive and it kind of painted this this picture of Indonesia as a country that was regularly exploited and shamed by its neighbors and by foreign investors and I think that I think that perhaps many political elites saw that as resonating with the Indonesian public's and perhaps that could explain to an extent why Jokowi has picked up on that and used that in ways that we hadn't expected and why particular ministers have picked up on that and used that in ways that we wouldn't have expected but I don't know perhaps Greg wants to Yeah I think I think it's true about Jokowi I think the the world outside Indonesia for Jokowi is of interest to him in so far as Indonesia can learn from other countries and also make money out of them by exporting Indonesian products or bringing in the kind of investment that allows him to achieve these very ambitious goals that he set for his infrastructure program or so to a less extent for health and education and you mentioned the executions Liam I think that's a very good example where one of the things that was said to him by a senior advisor was if the economy was growing at seven percent but president well then perhaps it wouldn't matter if you're executing all these people from foreign countries but when the economy is actually doing poorly and is growing below what five percent well then actually you cannot afford to be alienating all these foreign countries and that was packaged in a way that that person thought Jokowi would understand the moment it hit Indonesia's ability to get what it wanted from the world outside well then that became a concern to him and I think he's actually an extraordinarily insular president in that regard with a very instrumental view of how he sees foreign relations anyway and the narrowest agenda that we've seen of any president I think in Indonesian history and so we also see the markedly different messages he has for an international audience where he's trying to get investment and promote exports and the very nationalistic rhetoric he has when he's dealing with Indonesian audiences we see it we from outside see a clear contradiction in this it's another one the mysteries for Jokowi whether that is a contradiction in his own mind or all of these things can be rationalized but I think it's going to be a problem for him because more and more people will see him as being inconsistent now of course one of the things that was a real stain on the legacy of the Yudhiana government was the deterioration in the rights and security of religious minorities in Indonesia now Jokowi came to office known for being not particularly orthodox Muslim and his party that nominate him sees itself as the vanguard sort of of Indonesian pluralism so has that made a difference or are we still seeing that continued decline in religious pluralism in Indonesia if we look at it's a mixed picture if we look at the statistics from the NGOs that collect data on religious conflict religious violence and harassment the figures are better better for the last year or so than what they've been through the final years of the SBY period however Jokowi himself can take I think very little credit for that he has a religious affairs minister Lukman Hakim Saifuddin who has been the most progressive of any religious affairs minister going back probably at least 12 years and he's not unalloyed in his promotion of religious tolerance he also picks his battles and at times makes strategic retreats but overall I think most people accept that he is trying to make Indonesia a more religiously tolerant place in the case of Jokowi there are almost no statements on the public record about religious tolerance we do have responses to particular incidents of violence such as the Tohlikara case in in Papua and in fact state officials responded very well to that and they were able to prevent that from spreading much more widely we've had a somewhat similar response to the church burning in Aceh but overall the disappointment with Jokowi is that he hasn't set a tone of tolerance himself and we can look at this not just in religious field but more broadly in political sphere so in the last few weeks we've had controversies over such things as the ability of the Shiite community in Indonesia to celebrate the Asura festival one of the main festivals on the religious calendar of Shia Muslims there's been no statement from the government about that which is very disappointing also we see the closing down of the public discourse of public discussion about the mass killings in 1965 and both of these things are surprising because Jokowi's main political affiliation is with Megawati's PDIP the Indonesian Democratic Party of Struggle and that party has within its parliamentary representation a prominent Shia intellectual and it also has several people who come from former communist families families of victims of these killings and so PDIP of all parties has a track record of defending not only secular rights but also an open historical judgment of these critical events in Indonesian history what we see under Jokowi is a narrowing a closing down of a lot of that debate and that for me was entirely unexpected and that shows that Jokowi to some extent is captive of very conservative elements in the military and he's not giving any pushback to these very regressive moves that those people are seeking to undertake on the other side of the ledger though for the to an extent Jokowi has a better sort of relationship or rapport with progressive elements of Indonesian civil society in the Indonesian political system his new chief of staff is the one of the founders of a key anti-corruption NGO he has the ability to communicate with sort of liberals in civil society and so on is there any kind of pattern to who he listens to and who he ignores because it seems like he gets advice from all corners but like you said listens to the conservatives does that reflect a just a fundamental conservative ideological outpour on his part well i'll just quickly answer a little bit about my view is that one thing he's turning out to be far more intellectually narrow president than what i had previously imagined in fact he cares about a relatively small range of things and some of the rhetoric during the campaign for the president election campaign indeed is Gita Jakarta governor in fact i now suspect was scripted for him and he himself had very little input to that so these issues of religious tolerance of human rights of continuing political reform i think he regards those as expendable they are second or third order matters what most matters for him is development is economic growth particularly dealing with the the poorer people of indonesia and that's all very virtuous i'm not criticizing that but i wish that he had a broader vision of what his presidency could be and that's what he likes so he does have these progressive people around him but you rarely hear him investing in those progressive views in public and i don't really think he feels at all confident in doing something indeed i mean it seems like if you can actually frame a reactionary political agenda in the kind of language of development and economics that appeals to him you can get him to do some remarkable things for instance a recent this recent decree that he signed that protects local officials from prosecution for corruption has he bought into this idea that actually the anti-corruption effort is getting in the way of so-called development yes but and this is again one of the most surprising i think developments over the past year is that jacobi the president who was very much supported by anti-corruption activists reform activists and so we all expected him i guess to to implement and to pursue those sorts of reforms and what was surprising is how quickly he he abandoned the the anti-corruption drive and there are many reasons i think why he did that but it demonstrates i think a fickleness in the way he approaches policy and the way he approaches people and what's surprising is that it's under jacobi's watch not under a previous president that we've seen the attack on anti-corruption on the corruption eradication commission he enabled the criminalization of their directors he's enabling the parliament to attack the law on anti-corruption in the in the parliament and he's also as you said liam he's now kind of singing the song of the old elites in terms of anti-corruption being a hindrance to efficiency and to development and that these anti-corruption activists get in the way of the business of government and i think that's really dangerous in fact yeah what do you think i think that's also applies to economic front i mean we have said about contradiction and at the end of the day it's all a matter of who has jacobi's ears right so we we we see very contradictory signals for if he talks about agriculture for example and then investment because different ministers have different views and even contradictory at time so it's unfortunate that it all matters of who gets his ears because he himself seems to be lacking the narratives you mentioned that someone who has his ear and that brings up another little detail of his presidency he's not known for being a reader is he he doesn't seem to like another one of these actors who has sort of clogged their own agenda in the language of national development is the military now there's been quite a bit of speculation about how serious the military's efforts to sort of sneak its way back into areas of civilian governance have been under the jacobi presidency do you think that's it's too early to be alarmed or is is something really significant going on here it looks like it could be developing a kind of momentum that would make one concerned because we have a consistent pattern of senior military and defense officials including the defense minister coming out and making statements that and indeed taking the initial steps to put in place programs that would greatly expand the role of military within society and much when the so-called reformasi process began in 1998 after sahara was forced from office one of the key targets of the reformers was the military that wanted the military as much as possible back in the barracks and what we've seen under jacobi to an extent that again was a very one of the really surprising things about his presidency is how he either didn't care or indeed was happy to go along with the military coming back out of the barracks and being involved in village development distributing food building bridges and roads engaging in ideological campaigns on campuses taking a much bigger role in counterterrorism even providing staff for prisons so there are a whole range of things that have been proposed and some new quite extensive moves that are now underway such as having ineffective civilian defense force that might be as many as a hundred million people and everyone under the age of 50 is obliged to be involved there's been not that broader range of opposition to that at the moment but we just see in the next year when people consider the cost of this when they when ordinary citizens start working out how disruptive this might be and indeed whether it's at all necessary under current circumstances in which indonesia really doesn't face a legitimate threat anywhere in the region whether this is all worthwhile or is this a military self-interested military pushing these programs i'm hoping that it's the latter that that people begin to push back against this and that the efforts of the of the current tni the current armed forces head and the current defense minister will end up facing serious resistance but at the moment you'd have to say they have wind in their sails now just one last question i i i know it seems a bit silly to um speculate about the 2019 election so far out but let's do it anyway um there have been several polls that have come out in the last week or so in conjunction with the one-year anniversary of jacquoise inauguration um they've actually started measuring um the electability of uh candidates for the election uh in four years time prabo subhiyanto looks like he's still very much a contender where is prabo now what's he doing and what is his agenda for the next four years i would just say he might try again and he will fail again you're confident that jacquoise will be re-elected um i'm not saying that but i'm saying that prabo will not become the president any speculation i wouldn't rule out um him throwing his the hat in the region i think that um we all know how ambitious he is and and how badly he wanted the presidency and even though he's been laying low for the past year um i don't see any reason in fact but barring his health maybe uh why he wouldn't run again um and i mean i'm not sure how much we should read into those polls it's kind of it's quite natural that you know when people are really displeased with the current president that they might look to uh what the alternative might have been and say that that would be better right now if the if the election was held tomorrow that would be better um but i i think that that prabo will certainly um yeah consider running again in 2019 and prabo was played an interesting game because during the election presidential election he was so emphatic in his opposition to everything that jacquoise said and everything that jacquoise represented and you know we saw his challenge to the election result itself so i think a lot of us had the expectation that he would be a very implacable opposition leader and in fact he's proved to be anything but and at times he's been quite willing to cooperate with jacquoise to allow jacquoise to achieve it at times of considerable political pressure for jacquoise prabo always helped him out and he might be doing this for a number of reasons one is that by occasionally accepting jacquoise phone calls and invitations he keeps himself in the political mix as it were jacquoise is consulting him and he's able to increase his own influence um but also there's a lot of reporting that some of his companies aren't doing very well and there is also speculation that some of those companies have been helped out by the government given contracts and so if that's the case well then there is a then there is a material interest that prabo has from helping jacquoise so i'm also fully expecting he will be a presidential candidate in 2019 but relations between the two men hasn't been as or haven't been as arctic as i was expecting them to be and i i do i know i said that was the last question but i suppose we should just address this one remaining sort of puzzle i guess about the jacquoise presidency is that is how easy the opposition in parliament has been uh on the administration um are we seeing this as sort of proof of the the the theory that really um the cost of stability in indonesian politics um is basically putting a reform agenda on ice what do you think why why have they been so docile and why did they go so docile so quickly i think i think you're exactly right if the government had not been going to such effort to accommodate a large number of vested interests well then we wouldn't see this level of cooperativeness from from the parliament and the fact that uh you know you've mentioned before about the the corruption eradication commission and uh and most people in parliament have been gunning for that commission for many years because it has cut down many of their colleagues who indeed were vastly corrupt and they had to come in through them but they want very much to neuter the kpk and uh jacquoise is he vacillates on the issue is is my reading of it but i think they must feel as if they're going they may well get quite a few of the things that they want and we're probably going to have a far less effective leadership of the kpk than we've had in the previous term this group of commissioners have been criminalized facing prosecution so uh that's one example of the kind of thing that jacquoise is doing which in fact keeps parliamentarians happy well as usual i guess it looks like there's a trade-off between uh reform and cordial relations between different elites um guys thanks very much for coming in today appreciate you making the time


Hey, everyone. Today, I'll be talking to you about Pin-A-Ped, the unified framework for user authentication to Kubernetes clusters. So today, I'm joined by Anjali, the PM for the project, myself, one of the engineers on the Pin-A-Ped team. So let's imagine that you use Kubernetes, and you've started to get used to using cubes to tell, and I'm really enjoying it. And it's now time to start deploying it for real in your environment, where you happen to use Active Directory to provide identities for your users. It seems like a fairly common thing to want to do. So let's think about how you might imagine doing that. You might start off with a Google search. And it appears that the first result for the most obvious Google search is a release blog post. So let's see where that takes us. Now, if you use Qtl and Kubernetes for a while, you'd imagine it would be a series of Qtl apply commands. Instead, what you encounter is a very complex set of configuration using two components, Dex and Gangway, that is unexpected. There's a lot of YAML, a lot of instruction, and it's not really clear what you're getting yourself into here. So maybe let's back up. Maybe that was a bad search result. Let's back up and see what the second thing appears to be some official Kubernetes documentation. Maybe that can help us find a way to use Active Directory for Kubernetes. And so we looked through the official authentication documents for Kubernetes, and they refer to client certificates, tokens, and proxies. Nothing specific about using Active Directory. And so here we start learning some of the problems. Kubernetes is very pluggable. It does not have direct integration with Active Directory. You're kind of on your own on that. So this is beneficial if you want to build custom integrations, but not so fun if you just want to get some work done. So maybe let's head back to the blog post and see what it entails. So we have to deploy two components, Dex and Gangway in concert. We have to consider various CLI flags on the API server. We have to learn some OAuth semantics, have some very specific coordinated state between these components. And the reality is these components were not built together. They're open source projects, important in their own right. And certainly there's not necessarily anything wrong with this setup. It's just not curated. And it can be difficult to understand what's happening. It's really, really per single cluster. And it doesn't really scale out. You can imagine a ton of extra work to add these components to every single cluster you use. And it doesn't necessarily lead to the most convenient or secure deployment. So independent attempts to solve these types of problems by providing a much more Kubernetes-native approach to authentication via a common provider such as OIDC and AD. And it allows you to configure these at runtime. It is an open source project that you can use on any Kubernetes distribution. So you want to start installing Pinnipad. The first steps are really easy. You just Qtl apply the manifest and install the two core components, which are the Pinnipad Supervisor and the Pinnipad Concierge. The Pinnipad Supervisor is just a web server. So it will require you to configure the ingress and TLS for it. Here's an example of how we've done it on a GKE cluster with CertManager and Let's Encrypt. So we start off by creating load balancer as a service for the supervisor. Next, we configure Google Cloud DNS to point to the service. We install CertManager. And then we request certificates from CertManager for the particular host name that you intend to use. So we finally come to the configuration steps that are more Pinnipad-specific. So all previous steps that you saw were just configuring the web server. And you've probably done that for other applications that you may be using. So the first core step is to create a federation domain and configure it with the issuer URL that you created in the previous steps. So federation domain, what this means or what this entails is, in this case, the issuer, for example, supervisor.mycompany.com, this represents the set of Kubernetes clusters that are going to trust this particular Pinnipad supervisor. Now let's go to Active Directory configuration. Well, it's as easy as you can imagine. You create an Active Directory custom resource. You point it at the host name of your Active Directory server, and you provide it with bind credentials. So that's it. There are other configuration options that you can do, for example, user search and group search with custom attributes. But the default configuration that we provide is very well curated for most of the Active Directory deployments. OK, so now the next step is to configure the Pinnipad configuration. So we wanted to trust the Pinnipad supervisor as an identity issuer. And this is going to be for a specific cluster audience. In this case, it is the dev cluster. So this is likely going to be used by developers. So now you're ready to get the Kube config and distribute this to your developers. Notice here that there are no credentials in the Kube config, so it is safe to distribute to users. Now your developers can take that Kube config and start accessing the cluster with Kube CTL commands. Here's an example of a developer that may be using a Kube CTL get namespaces command on the CLI. They get prompted for username and password because, of course, we've done Active Directory configuration, so they get prompted for the username and password here. And once they are successfully logged in, then they can see the namespaces on the cluster. Now your developers may want to send more Kube CTL commands to the cluster, but, of course, they are not going to be prompted again for username and password because all of their credentials are cached. So we provide some helpful commands. For example, the Who Am I command that helps you understand how you are logged into the cluster. Now in the previous example, you had put in Pinnipad as the username, but Kubernetes will display the full user principle name. The flexibility that we offer to the IT administrator is to configure the username however they want. For example, using SAM account name, user principle name, or the mail attribute. Also, by default, we give you all of the direct and nested groups. You can easily change and customize this based on your needs, and we provide ample documentation examples to support this. OK, so you logged into one cluster with the supervisor and concierge. Now you may want to add another cluster and you may want to give access to another cluster to your user. Well, it's as simple as installing the concierge on the second cluster with just two Kube CTL commands and then configuring the JOT authenticator to trust the supervisor and give it a unique audience. So we don't need to install supervisor or any other configuration again. So now you can get Kube config for the second cluster and pass it to your users and developers. Also, users don't get prompted a second time as the credentials are safely cached and can be used across the clusters as long as they are part of the same federation domain. So to recap, PINF allows you to add and remove identity providers at runtime using standard programming resources. It supports multiple different types of identity providers. It allows easy logging across many clusters with single sign-on support and, of course, it's open source. So looking to the future, we're looking to add multiple IDP support. If folks are interested in this community interest, we would like to add Kerberos support for Active Directory so you no longer even have to type in your password. Additional IDP types like GitHub and Google could be implemented. And we're looking at various very hardening efforts, such as more frequent and automatic rotation of all sign-in keys. And we're really looking to have community members provide input on our roadmap so we can prioritize things that people are looking to have in the Kubernetes environments. We welcome your feedback. We look forward to working with you. You can find us in the Kubernetes Slack as well as on GitHub. Everything here is Apache licensed 2.0, just like the rest of the Kubernetes ecosystem. And we look forward to working with you. Thank you.


Buongiorno. Honourable President Baldrini, Honourable President Grasso, Honourable Deputies and Senators, Distinguished Guests, and of course, People of Italy. Sophie and I, thank you for your warm welcome. Everyone we've met here in your beautiful country has made us feel instantly at home, a testament to both the legendary hospitality of the Italian people and to Canadian's ability to recognize a good meal when we see one. All joking aside, thank you once again. Your gracious welcome reflects the special, long-lasting friendship between our two countries. Just a few days ago, Prime Minister Gentiloni and I met with our counterparts at the NATO leaders' meeting followed by the G7 meetings in beautiful Taormina. We made progress together for our citizens. We built on our shared values to enhance our collective security and create jobs for our countries. We know that our success comes from our people, people who are creative, curious, innovative, and diverse, who work hard, but who always find time for the things that really matter, like spending time with family and arguing about politics. But we have more in common than just that. Both our countries know that when it comes to global security, international cooperation is the best way to secure peace and prosperity. We know that trade is vital to creating the good jobs that strengthen and grow our middle class as much the heart of the economy here in Italy as it is back in Canada. These are the connections that bind our countries together today as they have for centuries. Because I'm Canadian, I'm about to slip into French now, but I know there's translation only for English, so I will repeat in English so we can cover it all. A little less clemency here. At the end of the 1900s, less than 2,000 Italians lived in Canada. This number has increased considerably in the years before the First World War, but after that, migration slowed down, partly because of the discriminatory restrictions that were imposed by the Canadian government at the time. After that, our countries have suffered huge changes due to the violence of the Second World War. 93,000 Canadians crossed the ocean to fight for the liberation of Italy, and nearly 6,000 Canadians have not returned home. They are buried here in the land for which they fought fascism at the price of their lives. It started back in 1497 when Giovanni Cabotto, a proud Venetian, crossed the Atlantic and landed on the east coast of Canada, claiming it for the King of England. At first, only small numbers of intrepid Italians left Italy for Canada, drawn by business opportunities and undoubted by inhospitable climate. Until the 1900s, there were fewer than 2,000 Italians living in Canada. That number rose dramatically in the years before the First World War, but migration slowed in the postwar years due in part to discriminatory restrictions put in place by the Canadian government of the day. Then, our countries changed utterly by the terrible toil of World War II. 93,000 Canadians crossed the ocean to fight for Italy's liberation, and I'm proud to say my grandfather James Sinclair was one of them, posted in Sicily. Nearly 6,000 of them never made it home. They're buried here in the soil they sacrificed their lives to liberate. In the decades that followed the end of the Second World War, Italian immigration to Canada surged. Italians came to Canada by the hundreds of thousands after the war. Your families worked hard and sacrificed much. Your work ethic built our cities.  Your judgment defined our courts. You became the proudest of Canadians, but kept a special place in your hearts for La Patria. We saw that just a few weeks ago when Italian-Canadian business leaders joined forces to support the Italy Earthquake Relief Fund, raising money to support those still recovering from last year's devastating earthquakes. I was proud to attend that event with our many talented and hardworking Italian-Canadian members of Parliament, and pleased to announce our government's intention to provide up to $2 million in matching funds. The earthquake emergency response work of the Italian Red Cross and its partner charities, including those operated by the Vatican, not only rebuilds communities, they also save lives. We are honored to be able to help them in their work, because in times of tragedy, we stand up for each other. That's what friends do. Sophie, who's here with us this morning, Sophie and I visited Amatricce on Sunday. It was an honor to witness the indomitable will to rebuild. As Prime Minister, I've seen too many communities that have endured natural disasters, whether from floods, wildfires, or ice storms. The strength and resilience of survivors always stands out. I saw that spirit in Amatricce, that strength of character, and that commitment to community is so deeply Italian, and it's pretty Canadian too. That's because Canadians and Italians share a common set of values, the things that make us us. That applies to our hopes and dreams, and to our worries and concerns. You see, we all want to leave to our children and grandchildren a better world than the one we inherited from our parents. A cleaner, more prosperous world. One where every person has a real and fair chance to succeed. A world where the middle class is strong and growing, and where all those working hard to join the middle class can feel confident that their hard work will pay off. Those are our shared dreams. But at the same time, there are those in Canada and here in Italy who feel uncertain and anxious about what the future holds, and that's understandable. The world is changing rapidly, and people are right to be concerned about what this means for their future and for their children's future. It's a small example, but think about mobile technology. I remember when a calculator was something you plugged into a wall, when a video camera weighed 40 pounds and you had to carry it on your shoulder, when mail was only a real physical object that took days, okay, sometimes weeks, to deliver. My children, they have never known a time when all those things couldn't fit into your back pocket. It speaks to how quickly we have come accustomed to things that seemed impossible just a generation ago. The pace of change has never been so fast, and yet it'll never be this slow again.  It used to be that if you could land a job at the plant, you'd be set. You could save for your kid's education, put aside a little for your own retirement, but with today's automation, stable work like that is hard to find. It's being replaced by new types of jobs that demand new skills, the kind that need to be updated constantly. That's the reality of the world that we're living in. My friends, this is an extraordinary age. The twin forces of technology and globalization are remaking the world. They're creating possibilities that would have been unimaginable to our parents. And the generation coming of age right now has the tools and potential to solve the world's biggest, toughest problems. Climate change, growth that works for everyone, truly equitable societies where a person's opportunities are not limited by their gender or race or beliefs. All these things are possible if we shape the great forces of change to deliver progress to people. That's what progressive leadership does in moments like this. Leaders who think we can hide from these changes or turn back the clock are wrong. It's our responsibility to harness these changes and make them work for people. Trade is an example of this. We know that trade can create good jobs. The kinds of jobs that support a strong and growing middle class and offer a ladder of opportunity to all those working hard to join it. That's why we worked so hard to make sure that the comprehensive economic and trade agreement between Canada and the European Union was a truly progressive deal. We're proud of it and you should be too. It's an agreement that will expand opportunities and create more good jobs on both sides of the Atlantic. Not only for the large companies, but for small businesses that will get access to more markets and farmers whose great products will be as loved in Torino as they are in Toronto. It'll create the kind of growth that benefits all our citizens, not just the wealthiest. CETA's provisions on labour protection, responsible investment, food and consumer safety, management of natural resources and environmental stewardship are unprecedented. It's a deal that should serve as a blueprint for future ambitious trade deals. And it would not have been possible without the support of like-minded leaders, including Prime Minister Gentiloni. To all those of you here today who helped secure this landmark agreement, thank you for your help in making CETA a reality. It's one of the best trade agreements ever negotiated, one that will serve the people of Italy and the people of Canada for many years to come. But as we all know, it takes more than one good trade deal to allay people's anxieties. And offer hope for a better, more prosperous future. In Canada, we also made it our first order of business to raise taxes on the wealthiest 1% so we could lower them for the middle class. We stopped sending child benefit checks to millionaires so that more Canadian families, 9 out of 10, could have extra help with the high cost of raising their children. To help more young Canadians pursue their dreams, we increased the amount of financial assistance available to students, making post-secondary education more affordable. And to help unemployed and underemployed workers, we're investing to make sure that every Canadian can get the training they need to find and keep a good, well-paying job. These are just of the few of the ways our government is responding to the concerns we hear. We're also making sure that in the choices we make, we stay true to the values that have always made Canada a strong and prosperous country. I've told you about some of what we've been able to do in our first 19 months on the job, but it's worth noting that the very first campaign promise we followed through on – technically even before we were sworn in as a government – was creating a gender-balanced cabinet. There was, at the time, a lot of grumbling in Canada. The pundits, mostly men, had a field day with it, saying that cabinet appointments should be made on the basis of merit, not gender. Of course, what was eminently clear, those appointments were made on the basis of merit. The women we chose to serve in cabinet were every bit as qualified, if not more so, to serve as the men we selected. And they've been proving it ever since. After all, it was a woman, former Minister of International Trade, and now Minister of Foreign Affairs, Christia Freeland, who helped bring CETA over the finish line. But I don't want to leave you with the impression that there isn't still more work to be done. In the election that brought our government to power, Canadians elected more women members of parliament than ever before – 88 in total. And thanks to by-elections, that number has since increased to 92. But that's still barely more than a quarter of the seats in our House of Commons. Women and girls make up over half the population, but are only a quarter of our legislators? That's not acceptable to me. Not as a political leader, not as a father, and certainly not as a feminist. And yes, it bears repeating, I am a feminist. And I hope, as so many of you do, that in the coming years, there will be one less mirror in the Salad de la Donne. Because that is how progress is made – one person at a time, one change at a time. I believe that it is our responsibility to teach young women and girls that their future is limitless. But that's only half of the equation. We also need to be teaching our sons – and this is something that Sophie reminds me of regularly – we need to be teaching our sons to be just as focused on equal opportunities and equal outcomes. See, I have two sons and one daughter, which means that we're not just raising one feminist in our House, we're raising three of them. And in our working lives as politicians and leaders, we need to be vigilant in our efforts to advance greater equality. We need to amplify women's voices and give them full credit whenever they bring forth a good idea. We need to stop interrupting and start listening. And we need to make sure that the women offered seats around the edges of the table are given a seat at the table. That includes the boardroom table. Their shareholders, the number of women sitting on their boardroom, occupy high positions. Because, as a country, we need to know where we are at and how we can improve ourselves. And the PDG with whom I spoke understand why. They know that a greater diversity within their boardroom leads to better decisions and more profits. And that's not only true for big companies. Last fall, our government introduced legislation that would require publicly traded companies to disclose to shareholders the number of women on their boards and in senior management. Because, as a country, we should know how we're doing and how we can do better. And the CEOs I've spoken with understand the business case. They know that more diversity on their boards leads to better decision making and stronger profits. And that's not just true for large companies. Across the business world, when women do well, when their entrepreneurship is encouraged, we all benefit. You know, Canada is a strong, Canada is a country that is strong, not in spite of our differences, but because of them. Canadians responded with open arms and open hearts to the Syrian refugee crisis. Over the last year and a half, we have taken in over 40,000 Syrian refugees.  And Italians have stepped up and opened your homes and your schools and your minds to those fleeing violence and persecution. So, from the people of Canada to the people of Italy, we thank you for the leadership you have shown during this time of great crisis. In Canada, we're working hard to embrace diversity in all its forms. That includes making our country, our government, our businesses, our schools safe and welcoming places for our sisters and brothers in the LGBT community. And I want to congratulate you on doing the same. It was around this time last year that your government began to officially recognize same-sex civil unions. And I hope you will continue to work hard to support and expand LGBT rights. Because I promise you, I can promise you, when you are defending the right of a citizen to love whoever you choose, whoever they choose, that is a fight worth fighting. I would like to end today with a quote from his Holiness Pope Francis, who had the extraordinary privilege of meeting yesterday. In his 2015 papal encyclical Laudato Si, his Holiness said, we must regain the conviction that we need one another, that we have a shared responsibility for others and for the world, and that being good and decent are worth it. As countries, Canada and Italy need each other. We understand and we embrace our shared responsibilities. And together, we will continue to make progress in a world of change side by side as good and decent friends for the benefit of each other and of the world.


Well, good morning from studio 57 here in New York. I'm Ann Marie Green. I'm glad to meet you. Here's a look at the stories grabbing our attention right now. The inflation numbers are out. Wall Street is taking note. We'll tell you how the markets are reacting. Stunning revelations that the January 6th committee public hearing what then President Trump said in response to his supporters chanting hang Mike Pence and breaking this morning the White House says air travelers to the U.S. will no longer need a negative COVID test what this could mean for your summer plans before to that we're going to talk about that means coming back home will be a lot easier and a lot less stressful for a lot of people. Meanwhile, stocks are taking today after news that May's consumer price index rose more than economists expected. The CPI was up 1% last month, representing an 8.6 percent bump year over year. That's the largest 12 month increase in more than four decades. So let's see how Wall Street is reacting to that. Let's take a look at the big board right now down about 743 points 2.3%. Let's bring in Melissa Armo now to talk more about the market. She's the founder and the owner of the stock swoosh LLC. Melissa, great to talk to you. Although the market gyrations that we're seeing today, I don't know how investors feel, but break down how the CPI index is impacting the markets today.  They've been steadily rising. And now it's really coming to a point where we're not seeing any relief. We thought this would be temporary. The Fed said it would be temporary. The administration said it would be temporary. Unfortunately, we're into this 12 month period now where they really risen a lot. And actually, it depends what goods you're looking at. Some things are way more than 8.6%. Gas, for example, has almost doubled in certain areas and people use gas to drive around. And the big thing is everything that you buy when you go to the grocery store, if you order something online, how does it get to you Amazon? Everything that you order gets to the store or to you from a grocery truck. And trucks, guess what? They need diesel fuel. So because the price of gasoline has gone up so much, you've seen a huge increase in all of these things because they had to build in the prices to get the goods to you. So the market's looking pretty bad right now, but do you expect to see at least some recovery before the closing bell today? Well, President Biden is expecting to speak today on inflation, I think at 145 was the most recent schedule. Unless they come up with a solution or he says something dramatic, I don't see any way we recover today. We're probably going to fall today more than we are right now. And while this is very scary for people, when you look at where we were in the markets 12 months ago, we had a big rally in 2020, 2021, 2022 after COVID. So we've seen selling most of the year, most of the calendar years since January. In fact, the market has not made a brand new all time high at all this year in the QQQs.   I say listen, the good news is you're gonna have an opportunity to buy in the market at a lower price at some point. But if you're in retirement right now, this is very scary if you have not sold out of your funds yet, because we definitely could be lower. And it's hard to pick a bottom when we're falling, falling, falling. It's like trying to catch up on life. You don't know where we're going to stop. Yeah, it's a good point. So the Fed is set to raise interest rates again next week. How will this help ease inflation rules, Melissa? I know that everyone thinks the Fed is going to come in and save the day, but I don't see how. Because remember, if prices are going up, people are paying more for the same things they buy, whether it's food or gasoline, raising rates, meaning people want to borrow money, whether it's mortgages, or credit cards, it's going to cost them more. I honestly do not believe that it's going to solve the problem. Everyone thinks it's going to solve this pushing into a recession. But I think it's going to create a larger problem for consumers, in my opinion. How do you solve it? We still have problems with gas. Gasoline is the biggest number one problem across the gas. We need to maybe drill or expand. And this is where the administration could come in and come up with some solutions. We also have supply chain issues. That's not going to be solved by the Fed raising rates. So a lot of these things have nothing to do with interest rates. It may have been the past solve the problem, but we're in a different environment now since COVID. So I do not think that raising rates is going to help. In fact, I think that raising rates is going to hurt the consumer. How can it not? Yeah, it's going to be tough for some people, especially if you were planning on making some big purchases if they start to raise those rates. Melissa Armol, rather, thank you very much. Thank you. So here's the other breaking news. The CDC is lifting its COVID-19 negative test requirement for travelers entering the U. S. The move will


Yep. So a little over a year ago, I came to the Haskell SG meetup the first time and told about a project of mine that actually came out of the previous work that I spent, I think, two weeks making an API for some web service. And yeah, I thought, you do it first time. It's learning, you can figure out certain things. Even if you could automate it, maybe it's not the best moment. But you do it a second time. That's not learning, so that's not pleasant. And if you do it a third time, and you didn't automate it, and it's a repetitive task, and shame on you as a program. So I didn't do anything second time. And actually, I plan not to write anymore. JSON disentangles mines for the API because I don't need it. So I started JSON Auto Type Project. It was initially quite rewarding. So I played with the union types and got basically something that parsed the JSON file and generated Haskell data type out of it, so that the Haskell data type would be serialized to the same structure of JSON and the other way around. And this is the story of how you use it, basically. So I started with something that I told like one year ago, so how JSON Auto Type works, and then how I used it, and what are probably the things to do next. So one year ago, I kind of was very creative about what can I do with it, like maybe servants, outer generation, maybe something else. And now I have more concrete vision out of the applications. So the advantage of the types everybody knows is very comprehensive API description. So nowadays, every documentation of every open source or non open source project has usually automatically generated documentation that mentions the types of all the input variables. If there are no input variable types, because the language is rather dynamically typed, then you still quite often anodized it with what should be in. Then second, it allows very concise input-output validation. It facilitates a lot of runtime optimizations and allows us to decompose certain problem domains. That's the theory. Then you have JSON that is used, basically, fragmented very dynamically type JavaScript. So there are arrays. There are dictionaries. There are strings, numbers, and booleans. And that's all. And that's used to represent potentially very complicated objects. And it is convenient because it's easily shuttled to the browser from the browser. Even if you have nowadays some program running in Haskell in the browser, it will probably use the JavaScript as kind of virtual machine. So it's nice to debug something that is flying in between as a structured text. Maybe people like me who are very experienced with playing with XML think that it's a bit unwieldy to have a big data structure in XML. And some people that actually work with big structures in XML tend to use different kinds of pad words for very, very long documents. Because as you probably know, if you write something as XML, it's usually quite a little bit longer. So the next step after writing the output or any data structure as XML is usually to compress it so that it goes back to the size of the initial text representation. So then the JSON saves us a little bit. There are many other reasons. The foremost I would say is that it's passable from any language very quickly. And all languages have the parsing libraries, including Haskell. There is Eson. But the problem is with Eson, you have this representation of the JSON after parsing. And it will, of course, mention this dynamically typed structure. It has no concept of the underlying Haskell types that you want to encode it as. It doesn't check anything. There is a JSON schema, but most people don't use it yet. So what do we have? We can translate it. So basically, if you translate it using Eson to JSON and from JSON classes, you translate Booleans to Booleans, numbers to either ints or doubles so that you don't lose accuracy, or you don't introduce some extra insignificant digits. You translate arrays to either vectors or lists and strings to text, naturally. And the problem starts that Haskell is very strict. So if there is a string, there has to be a string. And maybe we would like to know that certain attributes are missing. So we add maybe types for the values that are absent, or they are null in JSON. For dictionaries, we use the records. Because usually, if we have dictionaries that describe all sorts, they will always have the attribute name. So we make it strongly typed records. So whenever we will pass a new input that should conform to a similar format as a formal input, we will use the same record format. And our software will be robust, because it will rely on these statically enforced types. And because JSON has a lot of untacted unions, we introduce the union type that is basically here at the end this colon bar color, colon pipe colon, that works just like Haskell either type. So it's either union of the left A type or right B type. Whatever is inside, it can be either any of the types above. Because normally Haskell tags, or at least has on tags the either type, and we don't want it. We just want to guess. So we try to parse type A. If it fails to parse type A, we parse type A. And this is a simple example. You have a JSON document with color name and hex value. And then basically, the parser will automatically parse this structure, generate the parser, and generate the validator that checks that the input file conforms to what we expected to be, and makes it a list, a vector of records that have either value or name. When we have it, we can, of course, shuttle it in both directions so we can basically assemble the first stage of software development. We can assemble example requests like test requests that we generate and those that we accept, and we have types for both of them. This is another example. This is union of two different types of records. So we have either parameters with value, that is integer or Boolean, or string. And the JSON auto tag will correctly infer this possibilities. And then again, we'll make it a simple data structure. So actually, if you have a very, very long JSON document, then you want to discover underlying structure. Maybe best way to just put it through JSON auto type and discover it this way. For example, I got quite a few kilobytes of YouTube API and recovered quite comprehensible record that describes what happens with different videos. So the way we do it is that basically we have these JSON values. We encode them as types and then use the union type unification. And the union type unification is very similar to normal unification, except that first there are no variable references that can cause or cause check to fail here, because the input initially is basically the static term without variables. But whenever two terms clash, we say that there is a union of possibilities there in this space in the term. So those for you who know how unification works, it's not actually unification. Because normally, for unification, when there is a clash, it's basically a failure. We don't recover from it. Here, it's opposite effect. We don't have variables, but whenever we would have a failure, we say, oh, there is more than one possibility. And when we have unions, we use some intelligent joining to preserve this fact that the type can be nullable or not. So we can treat the types as refinements. And nicely, we can do it without swelling types too much. So actually, usually, the JSON auto type generates a shorter description of what is on the input than the input itself. And actually, I already got queries from C sharp community from OCaml community and from Java programmers that it would be good to run this JSON auto type and generate code in their language for parsing the inputs. Obviously, there is demand. Unfortunately, I was so far not. I didn't really have that much time to actually finish this part of work. But at least Haskell part of JSON auto type is rock solid. So it's version 101 is automatically tested. I don't see any bugs reported anymore. And yeah, I think I initially experienced with open source there as soon as I put it on GitHub, within two hours I got the first issue. And it was rather embarrassing. So yeah. So now I'm happy I don't get any issues. So I hope somebody uses it. They don't yet report success story, which is a disappointment, but at least it doesn't break. So an example application was during the International Conference of Functional Programming, people present the awards to the coolest hacker teams from all the world that compete approximately one and a half months earlier for 24 up to 72 hours. So upper time limit is 72 hours. 24 is Lightning Division to write a program that usually it's some kind of game. So performs best in a certain kind of game. This year it was also a game, but all the descriptions were in JSON. So when the contest started, they basically put, I think, 90 something like this, example files on the web as test cases. And normally the first few hours people waste writing the parses, making sure that the game environment is simulated correctly and so on. I didn't take part, but I was curious about it, how long to estimate, how long it would take me. So I ran JSON with Autodype. Then I thought maybe I should have better names for these data structures. And in total I spent five minutes on the issue of getting the data in, which I'm very happy with. If I would not be a pick about variable names that would be literally five seconds, plus one minute for downloading the sample files. And maybe a few more minutes for reading the description. It took me about one hour initially to consider all the consequences of the description of the instructions for the task. So that's a good start. Then there is a company called Transcriptic. So basically they have the JSON description of the biological experiments that you can feed them. You can pay them for execution. And then somebody in a web lab makes sure that all the steps of the reaction are followed and that you get on products. So you send a protocol. Some of these protocols are basically books.  Such a big book that tells you which reagent to choose in which conditions. And what is the exact ratio of this reagent to water? And what is probably the good way to check that your company that provides you the reagent provides it of high quality. So maybe it's not like you licked the bottom of the tube. Usually it's safer nowadays. There's all biosafety, you know. Now it's like submerging a piece of paper in the sample or something like that. It's crazy how you do it. But it's not unsafe anymore. So for the protocol, you basically mark the steps that they allow. It's usually mixing different substances. It's centrifuging them. It's mass spec. Against all odds, it's very, very, very work intensive. If you do it as a postdoc or predoc, I did it a little bit only. I know people that did it for a long time. So if you have a protocol and you have a reproducible way to do it, paying 300 along with this JSON request, it's like, oh, it's so cheap. I mean, it's cheaper than PhD students. Like, really, you need to train them. So they don't, for example, put their own skin by axing them into sample. Certain samples are killed totally when you just touch them or you breathe on them. So it's very good. And the just API descriptions that I downloaded that was few megabytes of documents, some of the fragments, these are just examples of the protocols. Some of the fragments are well-described on documentation. So initially, I thought maybe that's so simple or so apparent. You can just pick it from documentation. No, no. Documentation is mutually inconsistent if you copy and paste examples from documentation and examples from the other things. JSON autotype will show you that there are ors in the places where they shouldn't. So what I did is basically prefelt it. So I ran the JSON autotype on it. And then I checked where there are these unions that should not happen. So for example, if you have a protocol, you should not have a choice between water and centrifugation. Because water is not a protocol, unfortunately. So I'm exaggerating a little bit, but not much. Obviously, during the development, themselves, they didn't check, they didn't type check their own examples and schemas. So they are a bit. So it's not like everything would be tested with autospec and Hspec. And here documents always are executed to check what is the output. And in the large project like this, because it's basically a startup company that just wants to provide the service of biological experiment execution, that's a problem. So there is a big team of programmers that tries to sanitize it. And because they generate a new code faster than they sanitize the old one, you can expect that it's not enough. So yeah, there was also another issue. Many people use dependent records in the JSON. So basically, there is always this one field that tells you what type of record you have, or what type of object you have. And JSON autotype doesn't yet handle it. It will have to handle it, though. So I will add it. And Twitter, API. Of course, everybody who read the Joel Gross book, there is, of course, this big, big example on YouTube videos and Twitter API. And it should be simple. So it is simple. You just download one example. You just register with the secret and the API key. And you download one example from Twitter.  And you feel like you've just passed it and you check that it's right. And if you write a program, it should work on the future versions of Twitter API because without any problems, it will at least warn you when the schema of the JSON changes. So then I notice maybe we need more than this. So maybe it would be nice for JSON autotype to first tell you that there is a similar library that already handles this API or this data. And the second, it would be nice to wrap the requests for the API. So that would be my next step. Because obviously, for large APIs that you have like 100 event points, I already played with basically downloading the data from different endpoints and then running automatically JSON autotype on them. But it would be even nicer to wrap this process entirely. And of course, people also, besides the support for other languages, people ask me for date and hex format support. It's probably good if I start generating type mismatch errors for JSON to get better error messages. But strangely, no user complained about it so far. And my personal challenge, if you are using any kind of software to parse a lot of data, then there is this first discovery stage. So you spend quite a lot of time just finding how to parse it. There are other libraries to parse it. And which of them is the best? And is it beautiful, so in the case of Pythoners, is it one or the other of the? Is it R to parse or parse based HTML parser for Haskell users? It really depends. So my challenge is to discover a way to make this whole phase automatable. So you just put a set of input files in the directory and you run your program and you get everything passed and you automatically install all libraries that are needed for it. And you can start processing the data. That is a lot of our analysis tasks because my friends told me that they spend as much as 90% of time actually getting the data in and trying to sanitize it. That's already an issue. And if you doubt it, you can refer to Digital Web Analytics Meetup, for example. Any other data science meetups in Singapore? Any questions? Say you're saying like 90% of clients spend in any very attacking data parsing. Yes. For applications, web applications, which require very, very, very short latency. Yes. And using Haskell, is it like a roadblock because you need to do all this because there are ways in which you don't need to do all this? Why the opposite? So Haskell compilers have went long way, particularly for the past 10 years. So you see Haskell often challenging knife implementations in lower level languages like C or Fortran. And in case of web development, it certainly has a good chance to be much faster than uncompiled at least PHP, Python, and Ruby.  I was wondering because some of the, so right now I'm doing this web application, which is really time-transitive in the frame per second, like, you know, you need to achieve a particular frame per second because it's stringing data really fast. What kind of data do you stream? So it's the easy data, biomedical data again.  So we're building like, there are already companies in the US and everywhere which are doing ECG streaming, live ECG streaming in your web app. So like your doctor can look at your ECG in the hospital if you're, let's say, having a heart problem at home, and things like this. So we're trying to do the same thing for brain data as well, because people with epilepsy, they get a tax and then their modulation in the brain waves to crack it at that particular time is very poor. So the latency is very good in the data. I would say the answer, you are right, is technology. So I would not use the HTTP. I would use the name HTTP. Like, I would not serve the HTML request each time that you get one more second of ECG data. You use WebSockets, WebRTC. But I'm going to play. It can be, but then you need to use a WebRTC or WebSockets, not naive HTTP request. And there is WebSockets support in Haskell, of course. There should be no problem with it. And in the case of Haskell, if you have very, very small amount of data like for ECG each time, then actually, garbage collection should give you optimum performance, because it will be probably mostly all the time in cache. So you should have very, very predictable software time or maybe even hardware time behavior. I'm interested in what kind of technology to be used right now for that. So we're using a JavaScript library that is PCHR, P-E-E-C-H-A-R-D, border license for that. And we are having a lot of problems. We initially used D3.js, because it gave us nice visualizations, but it performed very poorly on the frames per second. We needed a minimum of 20 frames per second, and it was given us maybe eight or nine. Then we used PCHR, which stripped away the fancy visualizations, but at least gave us the acceptable frames per second. So that's what we're using right now. But it's all on the client side, right? So that was of course our thing, like also, what would you use, stream the data, or what would you use as an API server or whatever? Yeah, right now, we're just working with real patient data, but it's already stored in the cloud. And we're just using the API to pull the quest. So right now, we're not streaming the data through a database from the patient side. We still have to build that. We only built this part where we already have a database, which is stored in the cloud, and we have an API which is in Python. And that basically, your front end calls an API to get it. It's not through your time. No, for now, the real time, it will be. Yeah, so trying to explore what we could potentially use to make it, yeah. But again, the challenge was, first of all, you have to be able to get many frames per second. That's the first step. So now we've achieved that. Now the next thing is to, how do you, so one part of the pipeline is done. Let's say like the cloud is your middle man, and then there's a front end and a back end. Back end is the patient which is producing the data, and then there's a way to stream material time to the cloud. And then the front end, which is like API is pulling and passing it down to the front end. So this part is done, but this part is a question mark right now. Yeah, because like HDP itself won't fit this kind of limitation because you have to, it's back end that initiates possibly information that, so otherwise, you have to follow your path from the front end. Yeah, so right now we're doing caching also because, because we can't pull that fast. That's another aspect of what we, we have to do. Yeah, I would say like, yeah, case for platforms, we have to spend similar issues for radio streaming information, like charging and drawing it.  Yeah, and the other thing is we don't even want to do a little bit of the caching part, because I mean, caching is not real time, you know, like, we want real time, like perfect real time communication, you know, but, so, but at least frames per second part again, as I said, like the problem that we initially started with the sort, now, you know, like, we go backwards and it's one of the reasons for the, yeah. So your frames per second limitation, I mean, you said you changed libraries on the front end. Yes. So is that an issue with the front end dominant or is it an issue with crossing the industry? I think it was more of an issue with the policy of the industry. Yeah, just one second, what I already said, like, if you would, for example, use something like Python or Ruby on the back end, then I'm sure with Haskell, it should be much faster. If you already use something like C++ or Java, then, like, Haskell, if you could comment with that, if you're just on profile, I think, you know. No.