BLAISE PASCAL MAGAZINE 53

Size: px
Start display at page:

Download "BLAISE PASCAL MAGAZINE 53"

Transcription

1 D E L P H I, L A Z A R U S, O X Y G E N E, S M A R T M O B I L E, A N D P A S C A L R E L A T E D L A N G U A G E S A N D R O I D, I O S, M A C, W I N D O W S & L I N U X BLAISE PASCAL MAGAZINE 53 INTERVIEW WITH ATANAS POPOV CEO OF EMBARCADEO ABOUT DELPHI AND ITS FUTURE BY DETLEF OVERBEEK / PHOTOGRPHY RIK SMIT ARTIFICIAL INTELLIGENCE CREATE AND TRAIN YOUR FIRST NEURAL NETWORK BOIAN MITOV HOW TO BUILD AN APP IN XML AND CREATE AN ANDROID PACKAGE INCLUDING HOW TO USE THE EMULATOR WITH CODE AND WORKING APK BY DETLEF OVERBEEK P R I N T E D I S S U E P R I C E 1 5, 0 0 D O W N L O A D I S S U E P R I C E 5, 0 0

2 BLAISE PASCAL MAGAZINE 53 D E L P H I, L A Z A R U S, S M A R T M O B I L E S T U D I O, A N D P A S C A L R E L A T E D L A N G U A G E S F O R A N D R O I D, I O S, M A C, W I N D O W S & L I N U X CONTENTS INTERVIEW WITH ATANAS POPOV CEO OF EMBARCADEO ABOUT DELPHI AND ITS FUTURE PAGE 5 BY DETLEF OVERBEEK, PHOTGRAPHY BY RIK SMIT HUMOR BY KIM MADSEN PAGE 14 WHO!? ME!? ARTIFICIAL INTELLIGENCE PAGE 18 CREATE AND TRAIN YOUR FIRST NEURAL NETWORK BOIAN MITOV HOW TO BUILD AN APP IN XML AND CREATE AN ANDROID PACKAGE PAGE 29 INCLUDING HOW TO USE THE EMULATOR WITH CODE AND WORKING APK BY DETLEF OVERBEEK Advertisers Barnsten Page 15 Blaise Pascal Magazine special offer book + usb librabry Page 13 Components 4 Developers Page 40 Free Pascal an Lazarus Foundation Page 16 MITOV SOFTWARE Page 20 Publisher: Foundation for Supporting the Pascal Programming Language in collaboration with the Dutch Pascal User Group (Pascal Gebruikers Groep) Stichting Ondersteuning Programmeertaal Pascal 2 Issue Nr BLAISE PASCAL MAGAZINE

3 Stephen Ball Peter Bijlsma -Editor blaisepascal.eu Dmitry Boyarintsev gmail.com Michaël Van Canneyt, freepascal.org Benno Evers everscustomtechnology.nl Fikret Hasovic yahoo.com Max Kleiner kleiner.com John Kuiper kpnmail.nl Marco Cantù gmail.com Bruno Fierens tmssoftware.com Cary Jensen Wagner R. Landgraf tmssoftware.com David Dirkse davdata.nl Primož Gabrijelčič gabrijelcic.org Peter Johnson delphidabbler@gmail.com Kim Madsen kbm components4developers.com Andrea Magni gmail.com Detlef Overbeek - Editor in Chief blaisepascal.eu Wim Van Ingen Schenau -Editor xs4all.nl Bob Swart ebob42.com Anton Vogelaar vogelaar-electronics.com Boian Mitov mitov.com Howard Page Clark talktalk.net Peter van der Sman prisman.nl B.J. Rao contact@intricad.com Siegfried Zuhr zuhr.nl Jeremy North gmail.com Heiko Rompel info@rompelsoft.de Rik Smit blaisepascal.eu Daniele Teti bittime.it Editor - in - chief Detlef Overbeek, Netherlands Tel.: +31 (0) / Mobile: +31 (0) News and Press Releases only to editor@blaisepascal.eu Editors Peter Bijlsma, W. (Wim) van Ingen Schenau, Rik Smit, Correctors Howard Page-Clark, James Duff Trademarks All trademarks used are acknowledged as the property of their respective owners. Caveat Whilst we endeavour to ensure that what is published in the magazine is correct, we cannot accept responsibility for any errors or omissions. If you notice something which may be incorrect, please contact the Editor and we will publish a correction where relevant. Subscriptions ( 2013 prices ) 1: Printed version: subscription Incl. VAT 6 % (including code, programs and printed magazine, 10 issues per year excluding postage). 2: Electronic - non printed subscription Incl. VAT 21% (including code, programs and download magazine) Subscriptions can be taken out online at or by written order, or by sending an to office@blaisepascal.eu Subscriptions can start at any date. All issues published in the calendar year of the subscription will be sent as well. Subscriptions run 365 days. Subscriptions will not be prolonged without notice. Receipt of payment will be sent by . Subscriptions can be paid by sending the payment to: ABN AMRO Bank Account no or by credit card: Paypal Name: Pro Pascal Foundation-Foundation for Supporting the Pascal Programming Language (Stichting Ondersteuning Programeertaal Pascal) IBAN: NL82 ABNA BIC ABNANL2A VAT no.: (Stichting Programmeertaal Pascal) Subscription department Edelstenenbaan 21 / 3402 XA IJsselstein, The Netherlands / Tel.: + 31 (0) / Mobile: + 31 (0) office@blaisepascal.eu Copyright notice All material published in Blaise Pascal is copyright SOPP Stichting Ondersteuning Programeertaal Pascal unless otherwise noted and may not be copied, distributed or republished without written permission. Authors agree that code associated with their articles will be made available to subscribers after publication by placing it on the website of the PGG for download, and that articles and code will be placed on distributable data storage media. Use of program listings by subscribers for research and study purposes is allowed, but not for commercial purposes. Commercial use of program listings and code is prohibited without the written permission of the author. Issue Nr BLAISE PASCAL MAGAZINE 3

4 From the editor few weeks ago there was some agitation so AI thought I might be a good idea to have a conversation with Embarcadero s new CEO Atanas Popov. I was able to make an appointment with him on one of the traveling moments and appointments he had. The closest was Frankfurt and so we (my colleague Rik Smit and me) drove there - drove because flying would even take more time - and in this way we could do it in one day. We had a conversation and an interview about all that I thought was important for the community and Embarcadero s future. Voices came up that Delphi was going to be sold and the whole company was to be taken over by another party. None of that proved to be true - happily. But it was also a good opportunity to learn something about the real plans of Embarcadero and the future of Delphi. I must say Atanas was from the beginning talkative and very open. It took all together three hours before we were finished. That is the reason the interview takes eight pages. We wanted to be as complete about the views as possible. I think we we've been successful in that matter and I hope that you find this interview as interesting as we do. We think the importance of this is very high and that is why we changed the content of this issue. The regular articles will of course be in the next issue... And now for something completely different : good things are going to happen. First of all we (as the editorial foundation) have created the Delphi Pascal Academy. This institute is going to be registered as official educational school for Delphi and Pascal. If you become a member of this you will gain many advantages: As a person you now can purchase Delphi for academic prices and some things will probably even for free. You also will have access to code (such as components), special books and articles for a lower price. We will describe all of that in the next issue. There is an announcement in this issue (page 16) and we hope that you will support them as good as you can...probably we will be able to show some great news about component handling on the next Pascon (page 17) Delphi Festival. The next Pascon Delphi Festival will be arranged in the Netherlands and it will also be English spoken. We have a lot of news on that event. One very special thing is that BPM readers will have a price reduction of 45 euros - so the event will cost you only 54 euros.(normal price is 99 ). Anthony Vogelaar will be there showing his newest product: a complete version of the Microsoft Flight Simulator and the console to handle the flight is built in Delphi. The simulator is also built for training and education of Pilots. For our Brazilian readers we have a special action that they can find at our website, so they will be able to take out a subscription at a special Brazilian price and use the special offer we have for them. I want to introduce our Google+ page for Blaise Pascal Magazine: It s an open community. You can comment here on the new articles, old articles or ask questions, ask for special articles, code books and things...just let us know...the reactions we will publish also in our magazine. We also will create a blog for the Magazine. So for now: happy readings...! Detlef office(at)blaisepascal.eu On the Lazarus and FPC side there is some great news as well: there is a new foundation that will collect money for special purposes for that open source group. Free Pascal and Lazarus Foundation The funds that will be raised will be used to pay developers for special projects that will help to create important new improvements to the language, develop new ideas and create components that we all are waiting for.

5 INTERVIEW WITH ATANAS POPOV, PAGE 1/8 CEO OF EMBARCADERO. BY DETLEF OVERBEEK / PHOTOS RIK SMIT Atanas Popov agreed after being asked immediately to be interviewed. That was about two months ago. About two weeks ago there was quite a lot of turbulence in the community and vendors went nervous, some people even saw some kind of armageddon for Delphi. Even the more reason to talk the new Chief, ask him al the questions about their new policy, what is going to happen to and with Delphi. An explanation sometimes even in detail follows here... We met in Frankfurt at the Airport and talked for about three ours. Exhausting though very refreshing. Atanas: () Being a developer is a serious commitment. I think that great developers have to develop all the time. Detlef: () Well I couldn't do the magazine without developing, I still do it for a hobby but I am not a developer. I am also not patient enough to be a developer. You really need to spend a lot of time as a developer, and I don't have time for that. I made a list of questions. You can say yourself of course if you want to answer to them or not Sure. By the wayi have a present for you, our new Starter Book for Delphi. I have seen that, Thank you very much! It's a very nice book to support early learning. Thank you. I was wondering about the future of Embarcadero, what are you planning to do? Are you planning to run Delphi for a very long time or are you trying to do something else? A lot of people asked that question when IDERA acquired Embarcadero. Part of the business was Database related, and the logical question was if we would sell the developer tools business. The sensitivity around this was heightened from the history of Borland and CodeGear. We explained that one obvious reason for buying Embarcadero was indeed the nice synergies with the database business, but we also see an opportunity to evolve the developer tools business as a platform in itself. Similar to IDERA, but focused on developers. Embarcadero is our Developer Tools business and we plan to grow it as such. Does IDERA have its own development tools as well? IDERA has two businesses, the IDERA brand serves the complete database lifecycle management needs of customers, and Embarcadero serves the development tools needs of customers. But will there be a possible connection from Inside Delphi towards IDERA databases especially? Like Delphi has a connection for Oracle and things like that? IDERA develops tools for database management. IDERA doesn't develop databases. You do database mining and things like that? More like optimization of how SQL runs, how Oracle runs, making sure that databases run properly. Issue Nr BLAISE PASCAL MAGAZINE 5

6 INTERVIEW WITH ATANAS POPOV, PAGE 2/8 So if I understand correctly, with IDERA I could manage Microsoft SQL? Microsoft SQL Databases. So there is not a real connection to Embarcadero? That's the Idea. Thats what it does yes. So there is not a real connection? There is the connection that both provide excellent technology tools.. Yes of course, but what if those tools are written in C or C++? I don't know the languages used to develop the IDERA tools. I'm sure it's a mixture of toolchains, there are web interfaces and many other components. They are not written in Delphi for sure. I do know that a lot of database tools are written in Delphi. It lends itself very nicely for that, but IDERA tools are quite new and probably leverage other technologies. So that's why you made the division between Embarcadero and Idera? The separation was planned from the beginning. The idea was that Embarcadero will focus on the development tools business with Delphi and C++Builder at its core and then continue to evolve them, but also try to find other products that fit with the core. We will grow this business and make it successful on its own. If I may ask that question, we in Europe are not used to or hardly can believe that one can lend money for buying Programming tools etc. because banks in Europe or in Germany or in Holland would never give money for it. We buy companies all the time with money from banks and investors. I think European banks are no different, but probably have a little less experience in this space. They do? Are you sure? Not on the same scale, but yes. That's funny. We had a discussion about that and I said that this would never happen in Europe because of the trauma we have from It depends. The market in Europe for IT Tools is growing. Well, we could say America is growing towards Europe and the other way around. There are many cool tools developed in Europe. We just acquired a company in Germany called Gurock. Gurock was founded by two Brothers in Berlin. First they developed a tool in Delphi called SmartInspect. It was not growing that fast and they decided to develop another tool called TestRail. That tool today is extremely successful and is used by thousands of companies. The interesting point is that they are based in Berlin and a lot of their customers are based in the US. It is not a developer language tool, but it is a development tool because it's focused on testing. The guys are very well known in the Delphi world. They published Delphi feeds. That's interesting Their very smart developers and have done an amazing job with the resources they have I think today Europe contributes a fair share of IT development. So it's a good place to invest. 6 Issue Nr BLAISE PASCAL MAGAZINE

7 INTERVIEW WITH ATANAS POPOV, PAGE 3/8 So we went away from my first question I see your first question is related to incentivizing young people to use Delphi, making it easily accessible. Obviously we are not Microsoft and we cannot give away our tools to everybody for free. However, we have committed that we will support academic licenses for Delphi for a very limited cost or free. We have two immediate growth opportunities, to leverage the power of our existing community and to increase our base of young users. We can be successful with young developers. There are selected countries where we have very high penetration of Delphi in education. For example, in South Africa every high school uses Delphi. Similar efforts are underway in Australia. This creates a nice foundation for more businesses to use Delphi in the future I have some news about us, in the coming weeks we will expand in Brazil and make the magazine available there at a very low price. Very good. And then there is another opportunity with Delphi. We want to form a Delphi Academy as a club and the members of this club can buy the academic version. I don't see a problem Are you planning new prices? Specially or in general? What I am referring to is the free C++ promotion from a few weeks week ago. We do not plan significant pricing changes. However, we do want to make the Starter editions more accessible to grow new users. We liked the results from our C++ experiment and will repeat it this summer. We have similar ideas for Delphi, to promote a free Starter edition in September. Or at least a very cheap one I think that the demand for a free Delphi Starter version may not be so high because there are fewer independent young developers. We have either people that have worked for a long time We have similar ideas for Delphi, to promote a free Starter edition in September. with Delphi and their companies can pay for the tools or students that will get access through our academic program. That's not really true. Possible, but that is our perception of the market today and that is why we have not focused so much on the Delphi Starter edition. On the C++ side where we have many developers and we have lost a lot of our initial penetration, there is a larger opportunity to reintroduce C++ Builder and we want to be more aggressive immediately. We want again to be recognized as a major player, if not the leader in C++ development, which we used to be ten years ago. There is a difference between C++ from Microsoft and from Delphi. There is a difference in the way C++ Builder treats the language because a lot of our components are Delphi based. So when you are a C++ developer and you develop in C++ Builder you get exposed to some Delphi code. You don't need to know it, but it may irritate C++ purists. That's not what I mean. What I mean is we have a project we have to translate a C++ DLL (Microsoft DLL), but we could not merge that to Delphi C++. Again, there may be some differences because sometimes we leverage Delphi components, especially with the visualization frameworks. Are there any limitations with the Starter editions? Yes, the idea is to introduce new users to the frameworks, but there are limitations that do not allow business use. The version also lacks mobile development and some database connectivity capabilities. However, it is still an excellent product, and a great way to get people excited about using Embarcadero products for C++ development. Especially in the US or in Europe as well? Anywhere. We have large groups of C++ users in Germany, US, and Japan, but in other markets as well. I think it's far bigger then Delphi is, isn't it? Issue Nr BLAISE PASCAL MAGAZINE 7

8 INTERVIEW WITH ATANAS POPOV, PAGE 4/8 Yes. C++ continues to be number 3 according to TIOBE after Java and C, and more popular the C#. Delphi is 12th moving up from 13th last year. It was 18th a few years ago! Could be, I think that there has been some success in increasing its popularity. I think our approach to bring Delphi into education should help more. Universities? Yes, education will be a major play. We will also promote it in a more open fashion, integrated with other languages and toolchains. Instead of the thinking, you're a Delphi developer vs. another developers, we should think that Delphi is the best language for some type of development vs. others. For example, Delphi today is not ideal for Web Development. However, making a Delphi self-contained app or a back-end that works with HTML or JS client, could be a great solution, especially if you are looking for speed. I think the notion that we will make Delphi the most important language in the world is not viable. However, it should be recognized as a very useful and powerful language. Well we always say it's the only language except C, that is handling multiple OS. Yes, there are a lot of benefits, but I think that the mindset could be more open. When you think Delphi is a tool that is very good for certain things and the other languages are good for other things that opens a better dialogue and encourages more developers who may know Object Pascal, to try Delphi again. It should not feel like a religion in the way Delphi sometimes does. I tend to agree with you, but there is one big differentiator, Delphi is very easy to learn. My point always is, in the future we will have a tremendous need of developers. They do not all need to be Einstein. Because Delphi is structured and easy to learn, it can be a very good thing for us in the future and if you have done Delphi it is easier to learn C#, C and C++. The other way around, not so much. Easy to learn is an important advantage. For example, our MVP in South Africa, who was instrumental in making Delphi the learning standard for high school programming education there, made a great point to that effect. He doesn't think that Delphi is better than Java or that there is no place for Java. He was very passionate, but also an objective educator. He felt that Delphi is a great language to start with because of its structure, but then students can go to Java and other languages. Most developers need to know two, three or more anyway. Delphi and Object Pascal were pushed aside in US for a variety of reasons, not sure all objective. The US is a technological leader and it has affected other markets, of course we think this is unfair. (Laughing) That's how it works Even in the US things may change for early education. There is not a lot of effective early education in computer sciences. A lot of the education is very practical, it was directed towards web development, because it was very visual, so kids may learn some HTML and immediately see the results in the browser, but that is not true programming. This approach misses some of the logical aspects of development that are especially important early on. With mobile, things are likely to change and we have an opportunity. What is your opinion about open source? We are a commercial organization and we want to make money, which makes us skeptical about open source. Most organizations that have tried to create a business model from open source have had challenges. Some try to monetize consulting and support. I have not done as much research in this space historically, but we have explored certain trends. BTW I love Google Trends as a gage for interest. (next page) 8 Issue Nr BLAISE PASCAL MAGAZINE

9 INTERVIEW WITH ATANAS POPOV, PAGE 5/8 For example, it clearly illustrates how C++ Builder was dominating the market and how it faded over time. Another example is JBuilder, Borland's most significant product. It shows very rapid decline. Anyhow, the point is that if you look at major Open Source projects in our space, such as Eclipse and Firebird, they are also gradually declining, so there are clearly problems. In my opinion, a lot of these older open source projects have lost steam. It is easy to be 25 years old and say, I am passionate about this thing, and I am going to spend a lot time developing the software. I have lots of energy. Maybe initially, because it's popular, I start making money on the side from consulting and development. But when some of the momentum is lost and priorities change, then the economics change, which may explain why some of these projects decline. How do you see developing for Linux? Is that an issue for you? Linux is a different story. It has enough resources. It's very much alive... But can you as a company make money on the Linux side? We are committed making RAD Studio work on Linux on the server side. Supporting new platforms typically results in growth for our customer base. Many customers anticipate Linux and will buy more licenses for that. There will be no client in the future? There is no plan for client support. There are some markets that may demand it, such as Russia and China, but the economics so far do not work. D So we can skip that subject for the coming years? We will gladly consider it, if there is a market demand for it. We want to deploy our resources in places where customers can benefit. At the end of the day the only way we are successful is if our customers find value and purchase our products. What's your strategy now? You skipped the Spanish branch story? IDERA has a different way of development, but one that is proven to produce good results. We rely on our Development Partner Network. We put a layer of management and process that are unique and differentiating to ensure that we deliver very good product. We love our R&D model and think that it will be successful for Embarcadero. I will not comment on internal restructuring the bottom line is that we are committed to our products and our product Roadmap. We are excited for the future of our products and believe that our customers should be excited as well. The main thing is you know of what has happened in the past. CodeGear. People get lost. That's why people can get hysteric. I think one of the reassuring factors that customers should know is that we care a lot about our products. It comes straight from our CEO, Randy Jacops. People may think that he cares a lot less about development because he has many other things to worry about, but frankly most of the discussions I have with him are around products, not around financials. According to Randy, if we are not successful with product, we are not going to be successful. I hope that customers appreciate such product commitment. What is your future goal for Delphi? Make it successful. But in what way? What do you have in mind for the future? Growth. Financial growth equates to a good product, people use more, we sell more Issue Nr BLAISE PASCAL MAGAZINE 9

10 INTERVIEW WITH ATANAS POPOV, PAGE 6/8 But how do you do that? First, we need to reassure the market that we will continue to invest and build Delphi. Second is to make Delphi more popular. More people should know about the specific things you can do with Delphi and you cannot do so well with other tools. We need to continue to deliver strong releases and improve in the areas where we know we need to be improve. We already discussed some of our efforts to increase popularity of our products. Is it possible that FMX might be dropped in the future and that you go to native operations with Android and Mac? FMX is an area where we have not developed our complete strategy. There are many opportunities, and we have seen excellent progress over the last few versions. May I say something about that? Most developers say something like this, FMX is a very nice tool in itself and very useable for games and things like that. But there is a very large problem built into the FMX technology itself and it appears to be very hard to solve you do not have full native controls. Most people say it would be better to have as a separate part that is done native for Android as well as the Mac. Again, this is an area that we are investigating. FMX has some wonderful capabilities when compared to other platforms, such as Xamarin, but there is a lot more to do to increase true native capabilities. After Microsoft acquired Xamerin and made it virtually free for many developers, it made us think. How do you successfully position FMX in such environment? It does have some very powerful capabilities that differentiate it from anything else in the market. One of the things we are doing a little different from before is that we want to promote a lot of our component vendors like TMS, Woll2Woll, and others, as great showcases for use of FMX. It is surprising to see some of the nice FMX case studies out there. I hope that we learn from these experiences and develop a winning strategy for FMX. Last year, there were big questions that Embarcadero would try to put all components into one marketplace. We still like the idea of having a marketplace But it's open...? Its open. Yes. At that time they said we want to do it all... There was some logic behind that idea and it was aimed to help customers. However, now we think that actively promoting component partners, but keeping an open and independent ecosystem is better. There is no way a company of our size can do it all. The old strategy discourages external development and innovation, and we do not like that.. That sounded like a very bad policy. I agree that you should do it together. Yes. We have a community with very talented people. They have their own ways to develop. I don't think that they would necessarily fit nicely in a big company. You mentioned, Boian Mitov, he is a great example of an awesome developer with amazing productivity, but also his own ways of doing things. There are many others like him. We want them to be very successful, because this will make our mutual customers successful. However, if they all worked for Embarcadero, I am not sure that we would have the same results. I think your idea of having an open market is better. Far better. What is your idea about the open community like FPC and Lazarus? FMX is an area where we have not developed our complete strategy. There are many opportunities. We have seen excellent progress over the last few versions. 10 Issue Nr BLAISE PASCAL MAGAZINE

11 INTERVIEW WITH ATANAS POPOV, PAGE 7/8 Communities in general are important. To have these associated with our products can be beneficial. I do not see a problem with Lazarus, but as discussed before, open source platforms have resource challenges It is difficult to see Lazarus as an alternative to Delphi for everything. For some things it is possible the more you advance the cause of the language should be good. I just have the feeling that some things would be better, open sourced. In some ways that is naive. If you're on the right path of popularity in open source, you may gain a lot by riding the wave attracting new people, growing. You do not have that momentum with Pascal. To think that by making it open source, you will gain momentum is not realistic - I think. I don't think so as well. One of the reasons that Delphi still exists is that we make money and are able to investment and promote it. Speaking about the Berlin version, what will the next one be? Will it be Japan? We like Japan, Japan is one of our biggest markets. The name sort of honors that. Is It? We are still deciding on the exact name. We are committed to our roadmap and will provide an update shortly. As discussed, there will be an update after Berlin, possibly another one, and then will be Godzilla with Linux. The focus after that will continue to be on quality and evolving the underlining frameworks and language support. So you will do these periodical updates and do the release when it is possible to do it. Yes. Generally, we want to do one release a year. Everybody is asking when we will move there. This year we will do the two. We have learned a lot from the Berlin release. It is a nice achievement to do it right after the acquisition. Linux will make the product more connected, more open, more flexible, more efficient for deployment. People are very much asking for Linux. It's obvious We will do big things, but also a lot of smaller updates throughout the year. So what does a subscription mean in that case? That's the reason a subscription make so much sensible. Customers need to be on subscription to get all the updates. They get continuous value. Most large software companies have moved to that model. Our customers are embracing it as well Why is Linux important? Linux will make the product more connected, more open, more flexible, more efficient for deployment. How do you see the server site only component.or will it just be coding? We will compile the code to Linux, supporting bug fixes, and many other capabilities. So you will have a server and that will run on Linux. Very similar to running the back-end on Windows. Speaking about Microsoft, isn't it how they built their own market - they gave the software for free and once you're hooked they ask for money? Microsoft has a large and complex product portfolio. They are able to leverage one product for the benefit of another, dependent on their strategy. We are a very different company. We partner with Microsoft in many areas to help our customer work well with their platforms. Their success with Windows 10 has been very good for us. It created a lot of incentive for people to get on our latest version. I spoke to Boian Mitov about the FPC team, about things like the RTTI, of which he is proud for having built extra logic, etc. He wants them to be as close as possible at least to Delphi. I mean Delphi is going its own way, they have their own way, but they still want to follow as much as possible Delphi. Do you mind that? Not at all Issue Nr BLAISE PASCAL MAGAZINE 11

12 INTERVIEW WITH ATANAS POPOV, PAGE 8/8 Would you help them doing that? We do need to understand the details. I just do not know enough to comment. We are happy to support open source initiatives where it makes sense, we are even discussing internally a few ideas around CodeWrite and JBuilder. We are happy to try and test different things. How will you sustain something in Delphi like the bugs and the bug-reports or how can they be handled? Because I think you miss a lot of people now. We have plenty of people, so resources is not something that I worry about. I do worry about quality, but that is a constant worry, and should be for anybody that deals with a product. There is a special group for bug reports and things like that? Absolutely. We have a very sophisticated R&D organization and teams dedicated to all functions. The bug reports or quality is a major focus area, as we have communicated on numerous occasions. Customers can read about this on our blog and product roadmaps. What is your policy towards resellers, such as Barnsten? They have been doing reselling for a long time. There is the rumor that you are going to sell straight on the internet. We already sell on the internet. We are very committed to and proud of our partners, and Barnsten is one that would testify for that. So you can buy straight from the company's webstore? Correct, in many markets, our partners have their own webstores too. In general, we love the partnership model and are very flexible. After the acquisition, we expanded the partner model to more markets, such as Australia and India. So in closing, we must stress that you never had a thought of selling Delphi? If Microsoft comes tomorrow and says we would buy Delphi for a lot of money, we would absolutely consider it, any business person should (Laughing). In a business environment to say that you would never sell Delphi is not a serious statement. But, do we have plans to sell Delphi? No! We bought Embarcadero with a long term commitment and plan to continue to invest in the company. Thank you for giving answer to all these questions JETBRAINS JetBrains (formerly IntelliJ) is a software development company whose tools are targeted towards software developers WIKIPEDIA and project managers. As of 2015, the company has over 500 employees in its five offices: in Prague, Saint Petersburg, Moscow, Munich, and Boston. The company offers an extended family of integrated development environments (IDEs) for the programming languages Java, Ruby, Python, PHP, SQL, Objective-C, C++, and JavaScript. In 2011 the company entered a new area by introducing Kotlin, a programming language that runs in a Java virtual machine (JVM). XAMARIN Xamarin is a Microsoft-owned San Francisco, California based software company founded in May 2011 by the engineers that created Mono, Mono for Android and MonoTouch that are cross-platform implementations of the Common Language Infrastructure (CLI) and Common Language Specifications (often called Microsoft.NET). With a C#-shared codebase, developers can use Xamarin tools to write native Android, ios, and Windows apps with native user interfaces and share code across multiple platforms. CODEWRITE CodeWright is a Windows Programmers Editing System for software developers originally marketed by Premia Corp. (Beaverton, Oregon) and developed by Premia co-founders Eric Johnson and Don Kinzer, initially released in Premia was acquired in April 2000 by Starbase Corp. which was itself acquired in January 2003 by Borland. 12 Issue Nr BLAISE PASCAL MAGAZINE

13 SPECIAL OFFER: HOWARD PAGE-CLARK DAVID DIRKSE COMPUTER MATH & GAMES IN PASCAL E RKS I D D I V A D tml es.h _Gam ath /Co irkse vidd u/da at cal.e ales pres laisepas.b w w w term mpu ; dure proce var 9 do begin := 1 to for i n i g e b FOR AUGUST AND SEPTEMBER 2016 GET THE BOOK INCLUDING THE FAMOUS LIBRARY STICK FOR 75 EUROS + SHIPPING INCLUDING: 53 projects and code fully explained. The Delphi 3 Delphi Berlin source code is available together with full explanation. Most of the projects can be done with FPC and or Lazarus as well. For a preview go to: david_dirkse/ UK_Book_Department_DavData.html PDF file - excellent readable on your tablet. Printable. end; end; L I B R A R Y TH & A M UTER PASCAL P M CO IN S E M GA POCKET EDITION Also printed in full color. A fully indexed PDF file is included. Resize, rotate, compress digital images. Design your own font, generate and reduce Truth Tables from Boolean algebra. And more important: understand how it all works! The book contains 87 chapters, 53 projects with source code and compiled programs (exe). The book is highly educational and suitable for beginners as well as for professionals. Play board games, solve puzzles, operate a vintage mechanical calculator, Produce 3dimensional computer art, generate lists of prime numbers, explore and draw any mathematical function. Solve systems of equations, calculate the area of complex polygons. Draw lines, circles and ellipses. For the games, winning strategies are explained. For puzzles the search algorithm. For all projects: the math behind is thoroughly discussed WINDOWS 10 BLAISE PASCAL MAGAZINE AUTHORS ALFABETICAL ALL ISSUES IN ONE FILE PUBLISHER: PRO PASCAL FOUNDATION THE FAMOUS LIBRARY STICK Newest technique USB 3 / 16 GB you receive the library of the magazine updated from issue 1 to issue 51. See details at UK/UK_CD_DVD_USB_Department.html COMBINATION BOOK INCLUDING THE LIBRARY STICK EXCL. SHIPPING Issue Nr BLAISE PASCAL MAGAZINE

14 DAY 1 DAY 2 DAY 3 Nerd Reflections #5 By Kim Bo Madsen Community for Blaise Pascal Magazine Google+ page for Blaise Pascal Magazine: It s an open comminity. You can comment here on the new articles, old articles or aks questions, ask for special articles, code books and things...just let us know... The reactions we will publish as well in our magazine. 14 Issue Nr BLAISE PASCAL MAGAZINE

15 GET THE FREE TOOL REST Debugger Explore. Understand. Integrate Embarcadero's free solution for exploring, understanding, and integrating RESTful web services with Delphi and C++Builder apps: Debug RESTful web services Easily prototype Delphi or C++Builder REST apps Useful testing across app development lifecycle No code required Explore and Understand RESTful Web Services The Embarcadero REST Debugger empowers developers to explore, test, and ultimately understand how a RESTful web service works. Dive right into REST data with filterable JSON blobs, streamlined Oauth 1.0/2.0 authentication, and configurable request/resource parameters. No Code Required to Integrate REST Functionality GET THE FREE TOOL! Directly copy and paste REST components from the REST Debugger to the RAD Studio, Delphi or C++Builder IDE. This enables configuration and consumption of REST services in Delphi or C++Builder apps with just a few clicks! Prototype and Connect Delphi or C++Builder Apps to RESTful Web Services Escape the mire of debugging REST calls in code and use the REST Debugger to fast track data-rich prototyping with apps built using Delphi or C++Builder. get the free tool: or call: +31 (0)

16 FREE PASCAL AND LAZARUS FOUNDATION The Free Pascal and Lazarus foundation is a non-profit organisation dedicated to the promotion and sponsoring of the open source projects Free Pascal and Lazarus. Donations are welcome A NEW HORIZON FOR LAZARUS AND FREE PASCAL Get in touch with us: Lazarus/Free Pascal forum Mail us at: foundation@freepascal.org Use the contact form and we'll get back to you! On the foundation Google+ community, on invitation Issue Nr BLAISE PASCAL MAGAZINE

17 PASCON BLAISE PASCAL MAGAZINE

18 ARTIFICIAL INTELLIGENCE PAGE 1/9 CREATE AND TRAIN YOUR FIRST NEURAL NETWORK BY BOIAN MITOV The quest for intelligent machine has started long before the first computers became reality. For centuries mechanical devices have been created to mimic human behavior, and grab the imagination of the spectators with the promises of mechanical intelligence. But only after the first electronic computers appeared, creating such intelligence became feasible. The first attempts at such intelligence were focused on teaching the computers to play games and solve mathematical problems. They have proven fairly good at both tasks. However when an attempt was made to connect a camera to a motorized cart and have a computer navigate it through a room full of obstacles, it became apparent that such simple task represents a major challenge to the computer, and so began the quest for creating the intelligent computer. Over the years many approaches have been tried. The initial attempts with hard-coded algorithms, eventually were replaced with the so called Expert Systems that dominated the field in the 80s. The idea was that if we take all the knowledge of an expert in the form of facts, and rules and program it in the computer, we will have a system that will behave the same way as the expert. This approach however was not a success. The amount of knowledge an expert system needed was huge, and once programmed with this knowledge, the system did not possess the ability to adapt and acquire more knowledge on its own. The fiasco of the Expert Systems, dealt a major blow to the field of Artificial Intelligence. So close were they associated with the term AI, that their failure damaged the image of the entire field. In the mid-late 90s another AI approach emerged, revolving around a different concept called classifier. A classifier can be trained to classify data into different categories based on some features of those items. The classifiers quickly proved to be very successful in many areas, and today they dominate the world of AI. With the new dominance of the classifiers, and because of the bad image that the Expert Systems gave to the field of AI, classifier based AI today is often referred to as Computational Intelligence. Today classifiers are used everywhere. Among the most widely used classifiers are the SPAM filters. They are used to classify s into legit s and SPAM. Other popular types of classifiers are object recognitions classifiers used for facial detection and recognition, Speech recognition, OCR, Gesture recognition, and even search engines. Artificial intelligence (AI) is the intelligence exhibited by machines. In computer science, an ideal "intelligent" machine is a flexible WIKIPEDIA rational agent that perceives its environment and takes actions that maximize its chance of success at an arbitrary goal. Colloquially, the term "artificial intelligence" is likely to be applied when a machine uses cutting-edge techniques to competently perform or mimic "cognitive" functions that we intuitively associate with human minds, such as "learning" and "problem solving". The colloquial connotation, especially among the public, associates artificial intelligence with machines that are "cutting-edge" (or even "mysterious"). This subjective borderline around what constitutes "artificial intelligence" tends to shrink over time; for example, optical character recognition is no longer perceived as an exemplar of "artificial intelligence" as it is nowadays a mundane routine technology. Modern examples of AI include computers that can beat professional players at Chess and Go, and selfdriving cars that navigate crowded city streets. Here is how a classifier typically works: DATA FEATURE EXTRACTOR FEATURES CLASSIFIER CLASSES The Data is processed by a module called feature extractor, and features are extracted from the data. As example in the case of image recognition, the features can be the colors of each pixel. The features are then sent to the classifier module. If the module is trained, it will output one or more classes to which the Data belongs. The way the classification is output may differ between different classifiers and implementations, but the principle is the same. In some cases only one value will be sent in the output, indicating the most likely class, where in other cases the classifier can be implemented to give different probabilities for each of the possible classes. Before using the classifier to classify the data, it needs to be trained. Here is a diagram showing the process of training a classifier: DATA FEATURE EXTRACTOR FEATURES CLASSIFIER CLASS 18 Issue Nr BLAISE PASCAL MAGAZINE

19 ARTIFICIAL INTELLIGENCE PAGE 2/9 CREATE AND TRAIN YOUR FIRST NEURAL NETWORK To train the classifier, we send features (As example pixels of a picture), and send the class that should be detected by the classifier (Whatever is on the image - as example human, cat, flower etc.), and the classifier will learn this. The process is repeated with many features and classes. This set of features and classes is called training set. Once the classifier is trained, usually another set is used to verify that the classifier is working properly. For this a separated set of features is used, and the result of the classification is compared with the expected classes. Once we have verified that the classifier is well trained, we can start using it. Some classifiers are designed to be trained once, and then used without further training. Other classifiers can be trained over time while working to improve their performance. There are even some special types of classifiers that automatically discover classes (clusters) from the data. Such classifiers are often used in the search engines to group the results based on similarities. There are many types of classifiers, and new ones are introduced over time. One of the best known is the Neural Network classifier. THE NEURAL NETWORK IS MODELED AFTER THE HUMAN BRAIN. It consists of elements called NEURONS usually organized in layers, and connected to each other. The first layer of NEURONS is called Input Layer, and the last is called Output Layer. The features are sent to the Input Layer, and the Output Layer generates the classes. The layers between the Input and the Output layers are called Hidden Layers. Each NEURON has multiple inputs called SYNAPSES, and one output called AXON. The values from each input are multiplied by coefficient (Weight), and added together. The result is processed through a non linear activation function, usually a sigmoid function: (A sigmoid function is a mathematical function having an "S" shaped curve (sigmoid curve). X1 W1 X2 W2 + u y F(u) Depending on the way the NEURONS of the different layers of the NEURAL NETWORKS are connected the neural networks can be feedforward, or recurring. In the FEED-FORWARD NEURAL NETWORKS, the outputs of the neurons form each layer are connected to the inputs of the neurons of the next layer in the direction from the Input Layer to the Output Layer: HIDDEN In recurring neural networks, some neurons can be connected to previous layers: in 1 in 2 in k INPUT x 1 x 2 x k w x1y1 w xkyl OUTPUT y 1 z 1 y 2 y l u 1 u 2 u l w y1z1 w xlyn z 2 z n b 1 b 2 b n X3 W3 Issue Nr BLAISE PASCAL MAGAZINE 19

20 20 Issue Nr BLAISE PASCAL MAGAZINE

21

22 ARTIFICIAL INTELLIGENCE PAGE 3/9 CREATE AND TRAIN YOUR FIRST NEURAL NETWORK I have been fascinated by the field of AI for long time, and wanted to bring it closer to the Delphi world. I had already developed computer vision library, and it used some classifiers, but I wanted an universal AI solution that can be used to classify anything, so few years ago, I set to build an AI DELPHI LIBRARY, and called it IntelligenceLab. Over time, I continued to expand the library, and as AI tends to be heavily CPU demanding, I added support for parallel processing and OpenCL GPU execution of some of the classifiers for very high performance. My goal for the future is to upgrade all the classifiers in the libraries to utilize GPU and parallel processing. To introduce you to the library, I will start with a very simple project using the Neural Networks. We will use a Neural Network with one input (One feature), and one output, and will use it to approximate a function based on limited number of known points. Backpropagation, an abbreviation for "backward propagation of errors", is a common method of training artificial neural networks used in conjunction with an optimization method such as gradient descent. The method calculates the gradient of a loss function with respect to all the weights in the network. The gradient is fed to the optimization method which in turn uses it to update the weights, in an attempt to minimize the loss function. Resilient Propagation*2, Rprop, short for resilient backpropagation, is a learning heuristic for supervised learning in feedforward artificial neural networks. This is a first-order optimization algorithm. This algorithm was created by Martin Riedmiller and Heinrich Braun in Start a new VCL Form application: Imagine as example that we want to control the flow of water with a valve, but the valve has some unknown non linear function. What we can do is, we can turn the valve to few different positions, measure the water flow, and then use those values to train the neural network, and have it approximate for us the rest of the points. While this can be solved with other approximation methods, the Neural Network has some advantages. For once, it can approximate a function with multiple input variable parameters, something not easily solvable with other approaches. In the case of the valve we can add one more parameter for water pressure, and even another one for water temperature both affecting the flow in some unknown way. For this simple example I will use only one input parameter(feature), but it should be easy to add more. There are different ways to train the Feed Forward Neural Networks. Two of the most widely used methods are Back propagation, and Resilient propagation. Both of them propagate the correction for the difference between predicted and expected signal from the output layer to the input layer, making small adjustments at each intermediate hidden layer. In this project we will use the Back Propagation*1 training, however it is very easy to change it to use the Resilient Propagation*2, by using TILNeuralNetworkRPropTrain instead of the TILNeuralNetworkBackpropTrain component. Type Scope in the Tool Palette search box, then select TSLScope from the palette: Drop it on the form: 22

23 ARTIFICIAL INTELLIGENCE PAGE 4/9 CREATE AND TRAIN YOUR FIRST NEURAL NETWORK Type neur in the Tool Palette search box, then select TILNeuralNetwork from the palette: In the Object Inspector Click on the button and select the ILNeuralNetwork1 component: and drop it on the form, This will connect the 2 components, and will allow the ILNeuralNetworkBackpropTrain1 component to train the neural network. then select TILNeuralNetworkBackpropTrain: and drop it on the form. Issue Nr BLAISE PASCAL MAGAZINE 23

24 ARTIFICIAL INTELLIGENCE PAGE 5/9 CREATE AND TRAIN YOUR FIRST NEURAL NETWORK Double click on the SLScope1 to open the channel editor and click on the button to add one more channel: Set the name of the first channel to Train : Expand the Points property of the channel, and set its Visible sub-property to True: Set the name of the second channel to Predict, then expand the Points property of the channel, and set its Visible sub-property to True: 24 Issue Nr BLAISE PASCAL MAGAZINE

25 ARTIFICIAL INTELLIGENCE PAGE 6/9 CREATE AND TRAIN YOUR FIRST NEURAL NETWORK Next we will add a button to start the training, and the testing of the classifier. Type button in the Tool Palette search box, then select TButton from the palette: in the code editor for the Button1Click, handler add the following code: procedure TForm1. Button1Click( Sender: TObject); var I : Integer; ATrainingData : ISLRealMatrixBuffer; AResponses : ISLRealMatrixBuffer; ATestData : ISLRealBuffer; const SAMPLES = 26; begin // Train the Neural Network ATrainingData := TSLRealMatrixBuffer. CreateSize( SAMPLES, 1 ); AResponses := TSLRealMatrixBuffer. CreateSize( SAMPLES, 1 ); SLScope1. Channels[ 0 ]. Data. Clear(); SLScope1. Channels[ 1 ]. Data. Clear(); and drop it in the form, then Double Click on the button: for I:= 0 to SAMPLES - 1 do begin ATrainingData[ I, 0 ] := I * 4; AResponses[ I, 0 ] := abs( sin( I/ 10) + sin( I/ ) * 0.1 )/ 4; SLScope1. Channels[ 0 ]. Data. AddXYPoint( ATrainingData[ I, 0 ], AResponses[ I, 0 ] ); end; ILNeuralNetworkBackpropTrain1. Train( ATrainingData, AResponses ); // Test the Neural Network ATestData := TSLRealBuffer. CreateSize( 1 ); for I := 0 to SAMPLES * 4 do begin ATestData[ 0 ] := I; ILNeuralNetwork1. Predict( ATestData ); end; end; Here is what the code does: After declaring variables, we will specify the number of training samples: const SAMPLES = 26; We will start by declaring a matrix of the training samples: // Train the Neural Network ATrainingData := TSLRealMatrixBuffer. CreateSize( SAMPLES, 1 ); The matrix will have SAMPLES number of training feature sets(the first parameter). Since we have only one input for the neural network we will have one feature per sample (the second parameter). Issue Nr BLAISE PASCAL MAGAZINE 25

26 ARTIFICIAL INTELLIGENCE PAGE 7/9 CREATE AND TRAIN YOUR FIRST NEURAL NETWORK Next we will create a similar set of expected responses. Again since we have only one output the size will be SAMPLES by 1: Aresponses := TSLRealMatrixBuffer. CreateSize( SAMPLES, 1 ); After clearing the scope channels, it is time to prepare and populate the training and responses sets: for I:= 0 to SAMPLES - 1 do begin ATrainingData[ I, 0 ] := I * 4; AResponses[ I, 0 ] := abs( sin( I/ 10) + sin( I/ ) * 0.1 )/ 4; SLScope1. Channels[ 0 ]. Data. AddXYPoint( ATrainingData[ I, 0 ], AResponses[ I, 0 ] ); end; In this case we will use some function to generate the relationship between the samples, and we will also plot the training samples on the Channel[ 0 ] of the scope. The next step is to train the Neural Network: ILNeuralNetworkBackpropTrain1. Train( ATrainingData, AResponses ); And finally we can test the classifier to see how well we have trained it: ATestData := TSLRealBuffer. CreateSize( 1 ); for I := 0 to SAMPLES * 4 do begin ATestData[ 0 ] := I; ILNeuralNetwork1. Predict( ATestData ); end; In the Object Inspector expand the Outputs property, and set the value of its Size sub-property to 1: The rest of the necessary code will be shown a bit later, where we will plot classified data. Next we will configure the Neural Network Inputs, Outputs and layers. Select the ILNeuralNetwork1 component. In the Object Inspector expand the Inputs property, and set the value of its Size sub-property to 1: This will specify 1 output for the Neural Network. This will specify 1 input for the Neural Network. 26 Issue Nr BLAISE PASCAL MAGAZINE

27 ARTIFICIAL INTELLIGENCE PAGE 8/9 CREATE AND TRAIN YOUR FIRST NEURAL NETWORK In the Object Inspector, select the HiddenLayers property, and click on the ellipsis button in the code editor for the ILNeuralNetwork1Result handler add the following code: procedure TForm1. ILNeuralNetwork1Result( ASender: TObject; AFeatures: ISLRealBuffer; AResult: TILClassifierResult); begin SLScope1. Channels[ 1 ]. Data. AddXYPoint( AFeatures[ 0 ], AResult. Results[ 0 ] ); end; and add 2 hidden layers: In the HiddenLayares editor dialog, select the 2 layers. In the Object Inspector set the value of the CountNeurons property to 6: This will plot the recognized samples during the testing stage of the code we wrote earlier in the button handler. Select the Button1 on the form, and in the Object Inspector set the value of the Caption property to Run. When you start the training process, the ILNeuralNetworkBackpropTrain1 will repeat training the neural network until one of the 2 conditions is met. Either a certain maximum number of iterations (also called Epochs) is reached, or the maximum change in the output compare to the previous iteration becomes smaller than a specified threshold (Epsilon). Now we will specify the 2 conditions: Select the ILNeuralNetworkBackpropTrain1 component. In the Object Inspector, expand the TerminationCriteria property, and set the value of its Epsilon sub-property to 1E-7, and the MaxIteration to : This will configure both hidden layer neurons to have 6 neurons each. Close the editor. In the Object Inspector switch to the Events tab, and Double-Click on the OnResult event: Issue Nr BLAISE PASCAL MAGAZINE 27

28 ARTIFICIAL INTELLIGENCE PAGE 9/9 CREATE AND TRAN YOUR FIRST NEURAL NETWORK The project is ready. You can run it. Click on the Run button: "You may need to click on the "Run" button a couple of times until the Neural Network is trained well." The red line is the training data with the training points shown as red circles. The green line is the result of the testing of the trained neural network. This is one of the simplest demonstrations of Artificial Intelligence Classifier. It is not as interesting as image or speech recognition, but it is a good simple example of Neural Network application. In the following Articles however we will dig deeper into the exciting world of AI, and will do more interesting and complex projects, involving image and voice pattern recognition. Boian Mitov is a software developer and founder of Mitov Software specialized in the areas of Video, Audio, Digital Signal Processing, Data Acquisition, Hardware Control, Industrial Automation, Communications, Computer Vision, Artificial Intelligence, parallel and distributed computing. He has over 30 years of overall programming experience, and 20 years of Delphi experience in large variety of software problems. He is author of the OpenWire open source technology: the IGDI+ open source library: the VideoLab, SignalLab, AudioLab, PlotLab, InstrumentLab, VisionLab, IntelligenceLab, LogicLab, AnimationLab, CommunicationLab, Visual Live Bindings, the free Mitov.Runtime libraries: OpenWire Studio - Visuino and the VCL for Visual C++ technology: Boian Mitov is also a founding member of the Free Pascal and Lazarus Foundation Issue Nr BLAISE PASCAL MAGAZINE

29 CREATE AN ANDROID PACKAGE PAGE 1/11 INCLUDING HOW TO USE THE EMULATOR WITH CODE AND WORKING APK BY DETLEF OVERBEEK INTRODUCTION In this article we will create a Multi Device Application on an emulated android device. We are going to use the Multi Device Application we also used in Issue 'How to build an app in xml'. We also show where you could find the information to use any of your devices to run a Multi Device Application. How to do this varies per device so we can not explain it fully within the scope of this article. However we hope to point you into the right direction by showing how to do it with a Samsung S5 -android version and for the emulator we chose for the NEXUS 6 -because it seemed to be a smaller item and that might run faster THE EMULATOR Before we try to test the application we will explain some basics about android emulators. WHAT IS AN ANDROID EMULATOR? An android emulator is an Android Virtual Device (AVD) that represents a specific Android device. You can use an Android emulator as a target platform to run and test your Android applications on your PC, an Android device connected. THE ADVANTAGE OF THE EMULATOR IS THAT YOU CAN DESIGN FOR ALL KINDS OF MOBILES AND EVEN PADS. To create an Android emulator (made available by Google as part of the Android SDK), your machine should at least have the following hard and software items: Intel Core i5 CPU (of your computer) rather even faster 4GB of RAM GPU emulation must be listed in the hardware list of the emulator image An Android emulator is installed by default during the RAD Studio installation. You should allow this emulator to be installed during the installation of DELPHI. This emulator is used as the default target for an Android application, so that you can create and run an Android application on your development system without an Android device connected. You better NOT use an Android emulator on a virtual machine (VM), there is no GPU support for the emulator on VMs. However, if you are running Delphi on a VM on a Mac OS X computer, you can consider using a remote emulator on the Mac, because the emulator does not work on VMs. Although an emulator might run on a VM, the emulator will not actually run an application. ANDROID EMULATORS ARE HEAVILY HARDWARE-DEPENDENT. That means it has two effects: 1. the hardware is being emulated 2. the hardware on which the emulator runs. If the error messages about OpenGL ES pops up when you try to run your Android Emulator, this means that your GPU is probably not suitable. If you want to create your own ANDROID EMULATOR, think of creating an emulator for each Android device you want to support. Keep in mind that Android emulators often run so slow that some developers consider them as unusable. Issue Nr BLAISE PASCAL MAGAZINE 29

30 CREATE AN ANDROID PACKAGE INCLUDING HOW TO USE THE EMULATOR PAGE 2/11 WITH CODE AND WORKING APK It is a well-known performance issue that Android emulators are extremely slow. If you really think so you might try Turbo Cocoa. (In the two earlier articles of BLAISE PASCAL MAGAZINE issue number 51and 52 is explained how this tool for android helps certainly worth a test: you can even ask for a discount if you are a BLAISE PASCAL MAGAZINE subscriber). Android emulators run much slower than real devices due to the ARM platform emulation on top of a non-arm system. If performance prevents you from using an Android emulator side by side with Delphi, you could run and debug your Android Application remotely. Android emulators need a lot of machine resources and for the CPU. Running an Android emulator and RAD Studio side by side on the same PC might be very troublesome, depending on the CPU and Memory of your development PC. Especially do not do this on a virtual machine (VM). RUN AND DEBUG YOUR ANDROID APPLICATION REMOTELY If you need to run an Android emulator and you are not able to use your development PC, you can run your Android emulator on a second machine, and have your development PC connected to this second machine using SSH, so that Delphi can detect and use any Android emulator running on that second machine. Note: This method is not restricted to Android emulators; you can use this method with Android devices connected to the second machine as well. Because of obvious reasons, emulators do of course not have all of the features that real devices provide, although you can emulate some of those features like geo location. NDK (The Android NDK is a toolset that lets you implement parts of your app using native-code languages such as C and C++. For certain types of apps, this can help you reuse code libraries written in those languages.)may improve application performance. This is usually true for many processor-bound applications. Many multimedia applications and video games use native code for processorintensive tasks. The performance improvements can come from three sources. Firstly, the native code is compiled to a binary code and run directly on OS. Secondly while Java code is translated into Java byte-code and interpreted by Dalvik Virtual Machine (VM). Thirdley At Android 2.2 or higher, a Just-In-Time (JIT) compiler is added to Dalvik VM to analyze and optimize the Java byte-code while the program is running (for example, JIT can compile a part of the byte-code to binary code before its execution). But in many cases, native code still runs faster than Java code. Java code is run by Dalvik VM on Android. Dalvik VM is specially designed for systems with constrained hardware resources (memory space, processor speed, and so on). ANDROID EMULATORS REQUIRE A SEPARATE GPU (Graphics processing unit) A graphics processing unit (GPU), also occasionally called visual processing unit (VPU), is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics and image processing, and their highly parallel structure makes them more efficient than generalpurpose CPUs for algorithms where the processing of large blocks of data is done in parallel. In a personal computer, a GPU can be present on a video card, or it can be embedded on the motherboard or in certain CPUs on the CPU die (integrated Circuit). Android emulators are very much hardwaredependent. This means the hardware being emulated as well as the hardware on which the emulator runs. Therefore we recommend that you verify you have a suitable graphics card on your development system. 1. Open Control Panel\Appearance and Personalization\Display\Screen Resolution. 2. Click Advanced Settings. 3. Take a look at the displayed properties of your graphics card. If you do not have a suitable GPU, it is probably not worth your time to create and attempt to run an Android Emulator. Find another development system that does have a suitable GPU. We do not recommend Intel GPUs. If you receive error messages about OpenGL ES when you try to run your Android emulator, this means that your GPU is probably not usable. 30 Issue Nr BLAISE PASCAL MAGAZINE

31 CREATE AN ANDROID PACKAGE INCLUDING HOW TO USE THE EMULATOR PAGE 3/11 WITH CODE AND WORKING APK You can t change things that they don t want you to change at least not easily. What s Inside? In addition to the operating system itself, the System Image contains wallpapers, sounds, icon images, configuration and property files, the kernel, and a whole bunch of apps. When you flash a custom ROM like CyanogenMod or AOKP, you re essentially replacing your System Image with a new one with all the customizations, settings, and apps that the ROM authors have put spent tireless hours crafting into their custom ROM. These custom ROMs are usually kept more up-to-date than their stock counterparts, and typically run faster and more smoothly. Most have fewer preinstalled apps (which we affectionately refer to as Bloatware), so you have more room to put the content you want (movies, music, apps, wallpapers, etc.). Flashrom can be a universal flash programming utility used to detect, read, verify, erase, or write BIOS chips in DIP, PLCC, SOIC, TSOP, or BGA packages. It supports parallel, LPC, FWH and SPI flash interfaces. It can be used to flash firmware images such as BIOS or coreboot, or to back up an existing firmware. Before you create an Android emulator, you need to install an Android system image that your emulators can use. What is the System Image? In desktop and laptop computers, the System Image is basically the operating system (Windows, Mac, Linux, Unix, etc.) that you spend all your time in. You turn on your computer, wait while it boots, then run all your apps and do all your work on the desktop which lives inside the System Image. On Android it s not that dissimilar. When Android boots up it takes you right into the System Image. Most users spend their lives running the stock.system Image the one that came pre-installed on their phone or tablet. That image contains all the settings, configurations, and apps that both the OEM and the carrier have decided are best for you. They update it whenever they get around to it (unless they have a new phone or tablet that they want you to buy). If you installed the Android SDK and NDK during RAD Studio installation, a valid Android system image should already be shown as Installed in the Android SDK Manager. In this case, you do not need to install another Android system image. Follow these steps: 1. Start the Android SDK Manager (select Start All Programs Embarcadero RAD Studio Android Tools). 2. In the packages tree, locate and check the ARM EABI v7a System Image node within the first Android node in the list. For example: Android (API 17) or Android 4.3 (API 18) Issue Nr BLAISE PASCAL MAGAZINE 31

32 CREATE AN ANDROID PACKAGE INCLUDING HOW TO USE THE EMULATOR PAGE 4/11 WITH CODE AND WORKING APK 32 Issue Nr BLAISE PASCAL MAGAZINE

33 CREATE AN ANDROID PACKAGE INCLUDING HOW TO USE THE EMULATOR PAGE 5/11 WITH CODE AND WORKING APK 3. Click Install 1 package. (Clear any checkboxes that were auto-selected.) 4. In the Choose Packages to Install page, click Accept License, and then click Install to install the system image. To create an Android emulator on your system, follow these steps: 1. Start the Android SDK Manager (select Start All Programs Embarcadero RAD Studio Android SDKs Android AVD Manager). 2. In the Android Virtual Device Manager, click the New button to create a new virtual device. In the Create new Android Virtual Device (AVD) dialog box, select an Android device to emulate, and enter the details describing the Android device you want to emulate. In order to run the Multi Device Aplication the Android emulator must meet the following requirements: 1. In Target, select an Android SDK with an API level that is 17 or higher. The drop-down list contains your installed versions of the Android SDK. 2. Under Emulation Options, check Use Host GPU. 3. In Device, select the Android device HINT: Emulating an older Android device like the Nexus S might be faster than emulating a newer, larger device like the Nexus 10. Issue Nr BLAISE PASCAL MAGAZINE 33

34 CREATE AN ANDROID PACKAGE INCLUDING HOW TO USE THE EMULATOR PAGE 6/11 WITH CODE AND WORKING APK We were not able to install it at first time, in the correct way. We then decided which was very helpful to just try a minimal design and find out if it would run at all. It didn't. After that we suddenly saw there was an option on the AVD: Use Host GPU. We chose for that and started agin, and guess what: it worked. 34 Issue Nr BLAISE PASCAL MAGAZINE

35 CREATE AN ANDROID PACKAGE INCLUDING HOW TO USE THE EMULATOR PAGE 7/11 WITH CODE AND WORKING APK After doing this we also tried it on our own design and again it worked. Choose Use Host GPU 1. Click OK twice to create your new Android emulator. 2. You can now view your emulator in the Android Virtual Device Manager. Delphi lists your Android Emulators in the Project Manager, within the Target node of the Android Target platform node. NOTE: As a reference, here are the default installed locations of the Android development tools as installed by the RAD Studio installer: If you need to start the Android SDK Manager directly, here is its location: Path for Win 7 c:\users\public\documents\rad Studio \12.0\PlatformSDKs\ adt-bundle-windows-x \SDK Manager.exe This is Delphi XE 5 (12) c:\users\public\documents\ Embarcadero\Studio\18.0\ PlatformSDKs\ android-sdk-windows\sdk Manager.exe This is Delphi Berlin (18) If SDK Manager.exe does not start, use Android.bat, which is located here: C:\Users\Public\Documents\ RAD Studio\12.0\PlatformSDKs\ adt-bundle-windows-x \ sdk\tools\android.bat This is Delphi XE 5 (12) c:\users\public\documents\ Embarcadero\Studio\18.0\ PlatformSDKs\ android-sdk-windows\tools\ This is Delphi Berlin (18) EMULATORS ARE NOTORIOUSLY SLOW TO START AND TO RUN, SO STARTING THE EMULATOR BEFOREHAND MEANS THAT YOUR APP CAN GET TO THE EMULATOR MORE QUICKLY. The recommended way to start an Android emulator is by using the Android Virtual Device Manager, which can be started from the Android SDK Manager. To start an Android emulator such as the default emulator installed in Delphi: 1. Start the Android Virtual Device Manager (select Start All Programs Embarcadero RAD Studio Android SDKs Android AVD Manager). STARTING AN ANDROID EMULATOR When the emulator is the current target platform, you do not have to start the emulator before running your Android app on the emulator. However, we recommend that you start your Android emulator separately, perhaps before you start RAD Studio. Issue Nr BLAISE PASCAL MAGAZINE 35

36 CREATE AN ANDROID PACKAGE INCLUDING HOW TO USE THE EMULATOR PAGE 8/11 WITH CODE AND WORKING APK 1. Select the emulator and click Start. 2. Then click Launch on the Launch Options dialog box. 3. Your emulator should now start (this does take ten minutes, good for coffee): 36 Issue Nr BLAISE PASCAL MAGAZINE

37 CREATE AN ANDROID PACKAGE INCLUDING HOW TO USE THE EMULATOR PAGE 9/11 WITH CODE AND WORKING APK In the Project Manager, your emulator should appear in the Target node of the Android target platform, with its assigned port (such as (5554)): HINT: If the Project Manager does not show your running Android emulator as running, with the same icon as in the screen shot above, see Using the Target Node. In the Project Manager, ensure that the emulator's name is in boldface and the port number is indicated in parentheses (such as (5554)), indicating that the emulator is running and is the current selected target platform. You could manually refresh the list of available targets for a target platform (for all devices: ios Device or Android), right-click the Target node and select Refresh. Before we can run the multi device application on the emulator we will have to activate debugging on the emulated device. This can be found under Settings\Developer options\debugging. To run the application from Delphi we follow the next steps. TO RUN YOUR APPLICATION ON YOUR ANDROID EMULATOR 1. Open your Android application in RAD Studio. 2. In the Project Manager, enable the emulator as the target platform. (double click on the target) 3. In the device selector in the FireMonkey Mobile Form Designer, select the device that matches the emulator you are using. For example: 4. Run your application: To run with debugging (Run > Run or F9) To run without debugging (Run > Run Without Debugging or Shift+Ctrl+F9) 5. Compile and deploy messages should appear in the IDE. 6. If the emulator is not running, the IDE displays: "The selected emulator is not running. Do you want start it?" Click Yes. A "Launching emulator" message is displayed. Issue Nr BLAISE PASCAL MAGAZINE 37

38 CREATE AN ANDROID PACKAGE INCLUDING HOW TO USE THE EMULATOR PAGE 10/11 WITH CODE AND WORKING APK 7. Open your emulator screen and watch for the app to appear. 38 Issue Nr BLAISE PASCAL MAGAZINE

39 CREATE AN ANDROID PACKAGE INCLUDING HOW TO USE THE EMULATOR PAGE 11/11 WITH CODE AND WORKING APK Delphi builds your Android application and runs it on the selected Android emulator. If the active Android emulator is not running, RAD Studio shows a dialogue box that gives you the choice to start your Android emulator. If your Android emulator screen is locked, unlock it to access your application. The code for this article is available at your private download site. If you miss anything or have no access please let us know... Office@BlaisePascal.eu Issue Nr BLAISE PASCAL MAGAZINE 39

40 INTELLIGENT SYSTEMS? BETTER USE KBMMW... - Now multimonitor remote desktop V5 (VCL and FMX) - Rad studio and Delphi 10.1 BERLIN support - High performance LZ4 and Jpeg compression - Impoved NextGen support including IOS 64 bit - Native high performance 100% developer defined application server with support for loadbalancing and failover - Native high performance JSON and XML (DOM and SAX) for easy integration with external systems - Native support for RTTI assisted object marshalling to and from XML/JSON, now also with new fullfeatured XML schema (XSD) import - High speed, unified database access (35+ supported database APIs) with connection pooling, metadata and data caching on all tiers - Multi head access to the application server, via AJAX, native binary, Publish/Subscribe, SOAP, XML, RTMP from web browsers, embedded devices, linked application servers, PCs, mobile devices, Java systems and many more clients - Full FastCGI hosting support. Host PHP/Ruby /Perl/Python applications in kbmmw! - AMQP support ( Advanced Message Queuing Protocol) - Added AMQP 0.91 client side gateway support and sample. - Fully end 2 end secure brandable Remote Desktop with near REALTIME HD video, 8 monitor support, texture detection, compression and clipboard sharing. Supports Delphi/C++ Builder/RAD Studio 2009 to 10.1 Berlin (32 bit/64 bit, Android, IOS 32/64 and OSX where applicable)" kbmmemtable is the fastest and most feature rich in memory table for Embarcadero products. - Easily supports large datasets with millions of records - Easy data streaming support - Optional to use native SQL engine - Supports nested transactions and undo - Native and fast build in M/D, aggregation /grouping, range selection features - Advanced indexing features for extreme performance Warning! kbmmemtable and kbmmw are highly addictive! Once used, and you are hooked for life! COMPONENTS DEVELOPERS4 EESB, SOA,MoM, EAI TOOLS FOR INTELLIGENT SOLUTIONS. kbmmw IS THE PREMIERE N-TIER PRODUCT FOR DELPHI / C++BUILDER BDS DEVELOPMENT FRAMEWORK FOR WIN 32 / 64,.NET AND LINUX WITH CLIENTS RESIDING ON WIN32 / 64,.NET, LINUX, UNIX MAINFRAMES, MINIS, EMBEDDED DEVICES, SMART PHONES AND TABLETS.

Browser Wars : Battles of Standards

Browser Wars : Battles of Standards Browser Wars : Battles of Standards CHARDONNEAU Innovation and Knowledge Management European Master in Business Studies 25/04/2009 Browser Wars Battles of Standards, Microsoft versus Netscape Topic : One

More information

Case study on PhoneGap / Apache Cordova

Case study on PhoneGap / Apache Cordova Chapter 1 Case study on PhoneGap / Apache Cordova 1.1 Introduction to PhoneGap / Apache Cordova PhoneGap is a free and open source framework that allows you to create mobile applications in a cross platform

More information

Lesson 2 page 1. ipad # 17 Font Size for Notepad (and other apps) Task: Program your default text to be smaller or larger for Notepad

Lesson 2 page 1. ipad # 17 Font Size for Notepad (and other apps) Task: Program your default text to be smaller or larger for Notepad Lesson 2 page 1 1/20/14 Hi everyone and hope you feel positive about your first week in the course. Our WIKI is taking shape and I thank you for contributing. I have had a number of good conversations

More information

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Slide 1: Cover Welcome to the speech, The role of DB2 in Web 2.0 and in the Information on Demand World. This is the second speech

More information

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience Persona name Amanda Industry, geographic or other segments B2B Roles Digital Marketing Manager, Marketing Manager, Agency Owner Reports to VP Marketing or Agency Owner Education Bachelors in Marketing,

More information

Mobile App Marketing And Monetization: How To Promote Mobile Apps Like A Pro: Learn To Promote And Monetize Your Android Or IPhone App.

Mobile App Marketing And Monetization: How To Promote Mobile Apps Like A Pro: Learn To Promote And Monetize Your Android Or IPhone App. Mobile App Marketing And Monetization: How To Promote Mobile Apps Like A Pro: Learn To Promote And Monetize Your Android Or IPhone App. Get Hundreds Of Thousands Of Downloads & Grow Your App Business Ebooks

More information

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist IBM Podcast [ MUSIC ] Welcome to this IBM podcast, Realizing More Value from Your IMS Compiler Upgrade. I'm Kimberly Gist with IBM. System z compilers continue to deliver the latest programming interfaces

More information

The Ultimate Guide To Using Your Android Smart Phone PDF

The Ultimate Guide To Using Your Android Smart Phone PDF The Ultimate Guide To Using Your Android Smart Phone PDF The Ultimate Guide to Using your Android Smart PhoneIncludes Complete Free Bonus Second Book!!Learning any new operating system can be challenging,

More information

Data Structures And Other Objects Using Java Download Free (EPUB, PDF)

Data Structures And Other Objects Using Java Download Free (EPUB, PDF) Data Structures And Other Objects Using Java Download Free (EPUB, PDF) This is the ebook of the printed book and may not include any media, website access codes, or print supplements that may come packaged

More information

This is an oral history interview conducted on. October 30, 2003, with IBM researcher Chieko Asakawa and IBM

This is an oral history interview conducted on. October 30, 2003, with IBM researcher Chieko Asakawa and IBM This is an oral history interview conducted on October 30, 2003, with IBM researcher Chieko Asakawa and IBM Corporate Archivist, Paul Lasewicz, conducted the interview. Thank you, and welcome. Thank you

More information

Powering Transformation at Enel: Rebranding around digitization and customer experience

Powering Transformation at Enel: Rebranding around digitization and customer experience Powering Transformation at Enel: Rebranding around digitization and customer experience Ryan O Keeffe Speaker Ryan O Keeffe Director of Communications Enel @rokeeffe100 2 2017 Sprinklr, Inc. All rights

More information

Recipes. Marketing For Bloggers. List Building, Traffic, Money & More. A Free Guide by The Social Ms Page! 1 of! 24

Recipes.  Marketing For Bloggers. List Building, Traffic, Money & More. A Free Guide by The Social Ms Page! 1 of! 24 16 Recipes Email Marketing For Bloggers List Building, Traffic, Money & More A Free Guide by The Social Ms Page 1 of 24 Brought to you by: Jonathan Gebauer, Susanna Gebauer INTRODUCTION Email Marketing

More information

Android: Android Programming And Android App Development For Beginners (Learn How To Program Android Apps, How To Develop Android Applications

Android: Android Programming And Android App Development For Beginners (Learn How To Program Android Apps, How To Develop Android Applications Android: Android Programming And Android App Development For Beginners (Learn How To Program Android Apps, How To Develop Android Applications Through Java Programming, Android For Dummies) Ebooks Free

More information

This Week on developerworks Push for ios, XQuery, Spark, CoffeeScript, top Rational content Episode date:

This Week on developerworks Push for ios, XQuery, Spark, CoffeeScript, top Rational content Episode date: This Week on developerworks Push for ios, XQuery, Spark, CoffeeScript, top Rational content Episode date: 02-15-2012 [ MUSIC ] LANINGHAM: Welcome to this week on developerworks. I'm Scott Laningham in

More information

How To Make 3-50 Times The Profits From Your Traffic

How To Make 3-50 Times The Profits From Your Traffic 1 How To Make 3-50 Times The Profits From Your Traffic by Chris Munch of Munchweb.com Copyright Munchweb.com. All Right Reserved. This work cannot be copied, re-published, or re-distributed. No re-sell

More information

Meet our Example Buyer Persona Adele Revella, CEO

Meet our Example Buyer Persona Adele Revella, CEO Meet our Example Buyer Persona Adele Revella, CEO 685 SPRING STREET, NO. 200 FRIDAY HARBOR, WA 98250 W WW.BUYERPERSONA.COM You need to hear your buyer s story Take me back to the day when you first started

More information

THE SECRET FOR MAKING MONEY ONLINE

THE SECRET FOR MAKING MONEY ONLINE SALESFIST.COM THE SECRET FOR MAKING MONEY ONLINE What The Internet Marketers Aren t Telling You! SalesFist.Com Introduction My name is Jeremiah and I have been in sales for the past 15 years. I am not

More information

Echo: Get To Know Alexa - An Echo User Guide ( Echo, Fire Phone, Kindle, Fire Stick, Fire Tablet) Ebooks Free

Echo: Get To Know Alexa - An Echo User Guide ( Echo, Fire Phone, Kindle, Fire Stick, Fire Tablet) Ebooks Free Echo: Get To Know Alexa - An Echo User Guide ( Echo, Fire Phone, Kindle, Fire Stick, Fire Tablet) Ebooks Free â â â This Book is FREE â for Kindle Unlimited Users â â â Find Out Amazing Things You Can

More information

Programming: Computer Programming For Beginners: Learn The Basics Of Java, SQL & C Edition (Coding, C Programming, Java Programming, SQL

Programming: Computer Programming For Beginners: Learn The Basics Of Java, SQL & C Edition (Coding, C Programming, Java Programming, SQL Programming: Computer Programming For Beginners: Learn The Basics Of Java, SQL & C++ - 3. Edition (Coding, C Programming, Java Programming, SQL Programming, JavaScript, Python, PHP) PDF PLEASE NOTE: You

More information

Introduction to Xamarin Cross Platform Mobile App Development

Introduction to Xamarin Cross Platform Mobile App Development Introduction to Xamarin Cross Platform Mobile App Development Summary: In this document, we talk about the unique ability to create native ios, Android, Mac and Windows apps using C# making Xamarin, a

More information

Clickbank Domination Presents. A case study by Devin Zander. A look into how absolutely easy internet marketing is. Money Mindset Page 1

Clickbank Domination Presents. A case study by Devin Zander. A look into how absolutely easy internet marketing is. Money Mindset Page 1 Presents A case study by Devin Zander A look into how absolutely easy internet marketing is. Money Mindset Page 1 Hey guys! Quick into I m Devin Zander and today I ve got something everybody loves! Me

More information

CLIENT ONBOARDING PLAN & SCRIPT

CLIENT ONBOARDING PLAN & SCRIPT CLIENT ONBOARDING PLAN & SCRIPT FIRST STEPS Receive Order form from Sales Representative. This may come in the form of a BPQ from client Ensure the client has an account in Reputation Management and in

More information

Expert Delphi By Pawel Glowacki

Expert Delphi By Pawel Glowacki Expert Delphi By Pawel Glowacki Expert Delphi By Pawel Glowacki Key Features A one-stop guide on Delphi to help you build cross-platform apps This book covers important concepts such as the FireMonkey

More information

Qualcomm Technologies, Inc.

Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. Qualcomm, Snapdragon, Adreno and Uplinq are trademarks of Qualcomm Incorporated, registered in the United States and in other countries, used with permission. Qualcomm Snapdragon

More information

Kotlin for Android Developers

Kotlin for Android Developers Kotlin for Android Developers Learn Kotlin the easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published

More information

2016 All Rights Reserved

2016 All Rights Reserved 2016 All Rights Reserved Table of Contents Chapter 1: The Truth About Safelists What is a Safelist Safelist myths busted Chapter 2: Getting Started What to look for before you join a Safelist Best Safelists

More information

CLIENT ONBOARDING PLAN & SCRIPT

CLIENT ONBOARDING PLAN & SCRIPT CLIENT ONBOARDING PLAN & SCRIPT FIRST STEPS Receive Order form from Sales Representative. This may come in the form of a BPQ from client Ensure the client has an account in Reputation Management and in

More information

Read & Download (PDF Kindle) Programming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (C++, Javascript, PHP, Python, Sql,

Read & Download (PDF Kindle) Programming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (C++, Javascript, PHP, Python, Sql, Read & Download (PDF Kindle) Programming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (C++, Javascript, PHP, Python, Sql, HTML, Swift) Start Learning to Program in the C++ Language

More information

The 21 WORD . That Can Get You More Clients. Ian Brodie

The 21 WORD  . That Can Get You More Clients. Ian Brodie The 21 WORD EMAIL That Can Get You More Clients Ian Brodie The 21 Word Email That Can Get You More Clients Hey there! Welcome to this short report on the 21 Word Email That Can Get You More Clients If

More information

by Sam Bakker 3000in30days.com

by Sam Bakker 3000in30days.com by Sam Bakker 0 Contents PART 1 Introduction Who am I PART 2 Setup Domain Hosting Email Autoresponder Site Builder PART 3 Developing a Skill Introduction Learning From Other Marketers Udemy PART 4 PLR

More information

mismatch between what is maybe possible today and what is going on in many of today's IDEs.

mismatch between what is maybe possible today and what is going on in many of today's IDEs. What will happen if we do very, very small and lightweight tools instead of heavyweight, integrated big IDEs? Lecturer: Martin Lippert, VMware and Eclispe tooling expert LIPPERT: Welcome, everybody, to

More information

MAKING MONEY ON OPENSTACK. Boris

MAKING MONEY ON OPENSTACK. Boris MAKING MONEY ON OPENSTACK Boris Renski b@renski.com @zer0tweets China and Russia are alike! 2 We love gymnastics! 3 We love chess! 4 and we love money! 5 6 When most people think of OpenSt ack, they imagine

More information

Read & Download (PDF Kindle) Java: An Introduction To Problem Solving And Programming (4th Edition)

Read & Download (PDF Kindle) Java: An Introduction To Problem Solving And Programming (4th Edition) Read & Download (PDF Kindle) Java: An Introduction To Problem Solving And Programming (4th Edition) In a conversational style, best-selling author Walter Savitch teaches programmers problem solving and

More information

Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition)

Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition) Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition) Data Structures and Other Objects Using Java is a gradual, "just-in-time" introduction to Data Structures for a CS2

More information

PYTHON GUI PROGRAMMING COOKBOOK BY BURKHARD A. MEIER DOWNLOAD EBOOK : PYTHON GUI PROGRAMMING COOKBOOK BY BURKHARD A. MEIER PDF

PYTHON GUI PROGRAMMING COOKBOOK BY BURKHARD A. MEIER DOWNLOAD EBOOK : PYTHON GUI PROGRAMMING COOKBOOK BY BURKHARD A. MEIER PDF Read Online and Download Ebook PYTHON GUI PROGRAMMING COOKBOOK BY BURKHARD A. MEIER DOWNLOAD EBOOK : PYTHON GUI PROGRAMMING COOKBOOK BY BURKHARD A. MEIER PDF Click link bellow and free register to download

More information

DIGITALGLOBE ENHANCES PRODUCTIVITY

DIGITALGLOBE ENHANCES PRODUCTIVITY DIGITALGLOBE ENHANCES PRODUCTIVITY WITH NVIDIA GRID High-performance virtualized desktops transform daily tasks and drastically improve staff efficiency. ABOUT DIGITALGLOBE FIVE REASONS FOR NVIDIA GRID

More information

Why I switched my entire system to Sigma lenses

Why I switched my entire system to Sigma lenses Why I switched my entire system to Sigma lenses 2017 brought about a big transition for me as a die-hard Nikon photographer. This shift was significant considering one of Nikon s well-known attributes

More information

RED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE.

RED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE. RED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE. Is putting Contact us INTRODUCTION You know the headaches of managing an infrastructure that is stretched to its limit. Too little staff. Too many users. Not

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

xiii A. Hayden Lindsey IBM Distinguished Engineer and Director, Studio Tools Foreword

xiii A. Hayden Lindsey IBM Distinguished Engineer and Director, Studio Tools Foreword Foreword Business applications are increasingly leveraging Web technologies. Naturally this is true for Internet applications, but it is also true for intranet and extranet applications applications that

More information

SMART. Investing in urban innovation

SMART. Investing in urban innovation SMART Investing in urban innovation What Smart Belfast? Belfast has ambitious plans for the future. Building on our economic revival, we want to make our city an outstanding place to live, work and invest.

More information

5 Reasons to Choose Parallels RAS Over Citrix Solutions

5 Reasons to Choose Parallels RAS Over Citrix Solutions White Paper Parallels Remote Application Server 5 Reasons to Choose Parallels RAS Over Citrix Solutions 5 Reasons to Choose RAS Over Citrix Solutions 01 Table of Contents Introduction...3 Parallels Helps

More information

VoIP INTERNET-BASED PHONE SYSTEMS CHOCK FULL OF FEATURES

VoIP INTERNET-BASED PHONE SYSTEMS CHOCK FULL OF FEATURES VoIP INTERNET-BASED PHONE SYSTEMS CHOCK FULL OF FEATURES VoIP Internet-based phone systems chock full of features TABLE OF CONTENTS What is VoIP? Switching to VoIP is easy Business Telecom Features Improved

More information

Think like an Elm developer

Think like an Elm developer Think like an Elm developer Piper Niehaus Denver, CO, USA Backpacker / skier Nonprofit board chair Software Engineer at Pivotal Pivotal Tracker team Elm in Production since 2016 Internal Products and Services

More information

17655: Discussion: The New z/os Interface for the Touch Generation

17655: Discussion: The New z/os Interface for the Touch Generation 17655: Discussion: The New z/os Interface for the Touch Generation Thursday, August 13, 2015: 12:30 PM-1:30 PM Europe 2 (Walt Disney World Dolphin ) Speaker: Geoff Smith(IBM Corporation) 1 Trademarks The

More information

C++Builder - Frequently Asked Questions

C++Builder - Frequently Asked Questions C++Builder 2010 FAQ C++Builder - Frequently Asked Questions GENERAL QUESTIONS What is Embarcadero C++Builder? C++Builder is the only true RAD C++ environment and framework designed for ultra-fast development

More information

Increase business and grow profit with the APC Channel Partner Program

Increase business and grow profit with the APC Channel Partner Program Increase business and grow profit with the APC Channel Partner Program Targeted to your specific business and designed to help you compete in a changing marketplace What do you need to succeed? Attract

More information

6 counterintuitive strategies to put your list building efforts into overdrive

6 counterintuitive strategies to put your list building efforts into overdrive 6 counterintuitive strategies to put your list building efforts into overdrive Ant Carter is an online marketer, blogger and educator. Find out more about me, and the mission I have to free 1,000 people

More information

GNU OCTAVE BEGINNER'S GUIDE BY JESPER SCHMIDT HANSEN DOWNLOAD EBOOK : GNU OCTAVE BEGINNER'S GUIDE BY JESPER SCHMIDT HANSEN PDF

GNU OCTAVE BEGINNER'S GUIDE BY JESPER SCHMIDT HANSEN DOWNLOAD EBOOK : GNU OCTAVE BEGINNER'S GUIDE BY JESPER SCHMIDT HANSEN PDF GNU OCTAVE BEGINNER'S GUIDE BY JESPER SCHMIDT HANSEN DOWNLOAD EBOOK : GNU OCTAVE BEGINNER'S GUIDE BY JESPER SCHMIDT HANSEN PDF Click link bellow and free register to download ebook: GNU OCTAVE BEGINNER'S

More information

Your Clickbank Treasure Map

Your Clickbank Treasure Map Your Clickbank Treasure Map Brought To You By: Soren Jordansen & Clickbank Pirate 1/8 Clickbank The Introduction Thanks for downloading this report... you are obviously interested in learning how to make

More information

SOAP: Cross Platform Web Services Development Using XML PDF

SOAP: Cross Platform Web Services Development Using XML PDF SOAP: Cross Platform Web Services Development Using XML PDF Discover how to use SOAP to integrate virtually any distributed system, in Windows, Linux, and UNIX environments - with any of five leading programming

More information

A PRACTICAL GUIDE TO SHAREPOINT 2013: NO FLUFF! JUST PRACTICAL EXERCISES TO ENHANCE YOUR SHAREPOINT 2013 LEARNING! BY SAIFULLAH SHAFIQ

A PRACTICAL GUIDE TO SHAREPOINT 2013: NO FLUFF! JUST PRACTICAL EXERCISES TO ENHANCE YOUR SHAREPOINT 2013 LEARNING! BY SAIFULLAH SHAFIQ A PRACTICAL GUIDE TO SHAREPOINT 2013: NO FLUFF! JUST PRACTICAL EXERCISES TO ENHANCE YOUR SHAREPOINT 2013 LEARNING! BY SAIFULLAH SHAFIQ DOWNLOAD EBOOK : A PRACTICAL GUIDE TO SHAREPOINT 2013: NO FLUFF! SHAREPOINT

More information

GUARANTEED DIRECT REFERRALS

GUARANTEED DIRECT REFERRALS GUARANTEED DIRECT REFERRALS In any PTC direct referrals are 50% of the success equation. Direct references tend to be more reliable than rented referrals because they are more likely to be active clickers.

More information

The Laptop Repair Workbook: An Introduction To Troubleshooting And Repairing Laptop Computers PDF

The Laptop Repair Workbook: An Introduction To Troubleshooting And Repairing Laptop Computers PDF The Laptop Repair Workbook: An Introduction To Troubleshooting And Repairing Laptop Computers PDF This book will help you troubleshoot your laptop problem and take the most cost effective approach to repairing

More information

INTRODUCTION. In this guide, I m going to walk you through the most effective strategies for growing an list in 2016.

INTRODUCTION. In this guide, I m going to walk you through the most effective strategies for growing an  list in 2016. - Bryan Harris - INTRODUCTION In this guide, I m going to walk you through the most effective strategies for growing an email list in 2016. A lot of things are taught online that, quite honestly, just

More information

C#: Design Patterns: The Easy Way Standard Solutions For Everyday Programming Problems; Great For: Game Programming, System Administration, App

C#: Design Patterns: The Easy Way Standard Solutions For Everyday Programming Problems; Great For: Game Programming, System Administration, App C#: Design Patterns: The Easy Way Standard Solutions For Everyday Programming Problems; Great For: Game Programming, System Administration, App Programming,... & Database Systems (Design Patterns Series)

More information

Cameron Stewart Technical Publications Product Manager, xmatters. MadCap Flare native XML singlesource content authoring software

Cameron Stewart Technical Publications Product Manager, xmatters. MadCap Flare native XML singlesource content authoring software San Ramon, CA INDUSTRY Communications Software When we experimented with the features in our trial version of MadCap Flare, it became strikingly obvious that it was the product we needed. You could really

More information

Welcome Back! Without further delay, let s get started! First Things First. If you haven t done it already, download Turbo Lister from ebay.

Welcome Back! Without further delay, let s get started! First Things First. If you haven t done it already, download Turbo Lister from ebay. Welcome Back! Now that we ve covered the basics on how to use templates and how to customise them, it s time to learn some more advanced techniques that will help you create outstanding ebay listings!

More information

Hello, and welcome to another episode of. Getting the Most Out of IBM U2. This is Kenny Brunel, and

Hello, and welcome to another episode of. Getting the Most Out of IBM U2. This is Kenny Brunel, and Hello, and welcome to another episode of Getting the Most Out of IBM U2. This is Kenny Brunel, and I'm your host for today's episode which introduces wintegrate version 6.1. First of all, I've got a guest

More information

MIND THE GOOGLE! Understanding the impact of the. Google Knowledge Graph. on your shopping center website.

MIND THE GOOGLE! Understanding the impact of the. Google Knowledge Graph. on your shopping center website. MIND THE GOOGLE! Understanding the impact of the Google Knowledge Graph on your shopping center website. John Dee, Chief Operating Officer PlaceWise Media Mind the Google! Understanding the Impact of the

More information

Secrets of Profitable Freelance Writing

Secrets of Profitable Freelance Writing Secrets of Profitable Freelance Writing Proven Strategies for Finding High Paying Writing Jobs Online Nathan Segal Cover by Nathan Segal Editing Precision Proofreading Nathan Segal 2014 Secrets of Profitable

More information

A guide to GOOGLE+LOCAL. for business. Published by. hypercube.co.nz

A guide to GOOGLE+LOCAL. for business. Published by. hypercube.co.nz A guide to GOOGLE+LOCAL for business Published by hypercube.co.nz An introduction You have probably noticed that since June 2012, changes have been taking place with the local search results appearing

More information

Freecoms VoIP Mobile Community Telecom S. Ferrari, page n 1»

Freecoms VoIP Mobile Community Telecom S. Ferrari, page n 1» Freecoms VoIP Mobile Community Telecom S. Ferrari, page n 1» Multiservice Mobile VoIP Community Powerful multiservice package: Home and Mobile VoIP communication. Business and Private WEB Portal community

More information

Deloitte Global Mobile Consumer Survey India data, 2015

Deloitte Global Mobile Consumer Survey India data, 2015 Deloitte Global Mobile Consumer Survey India data, 2015 Deloitte Global Mobile Consumer Survey, 2015 1 Global Mobile Consumer Survey 2015: 6 continents, 31 countries, 49,500 respondents Norway Finland

More information

I m going to be introducing you to ergonomics More specifically ergonomics in terms of designing touch interfaces for mobile devices I m going to be

I m going to be introducing you to ergonomics More specifically ergonomics in terms of designing touch interfaces for mobile devices I m going to be I m going to be introducing you to ergonomics More specifically ergonomics in terms of designing touch interfaces for mobile devices I m going to be talking about how we hold and interact our mobile devices

More information

Transcript of the interview with Denny Huang, Managing Partner at TANG User experience Consulting, in Shanghai, China.

Transcript of the interview with Denny Huang, Managing Partner at TANG User experience Consulting, in Shanghai, China. connexions interview with DENNY HUANG Transcript of the interview with Denny Huang, Managing Partner at TANG User experience Consulting, in Shanghai, China. The interview was recorded for issue 5(1). It

More information

New Website The Essential Guide

New Website The Essential Guide johamlyn.com Web Design Web Development SEO hello@johamlyn.com New Website The Essential Guide I believe that all websites should be built on a solid foundation that can grow alongside your brand or business

More information

Get Twitter Followers in an Easy Way Step by Step Guide

Get Twitter Followers in an Easy Way Step by Step Guide Get Twitter Followers in an Easy Way Step by Step Guide See how I made $2300 in 3 Days using Twitter Traffic All in one guide for getting traffic via Twitter 1 Get Twitter Followers in an easy way Step

More information

Contractors Guide to Search Engine Optimization

Contractors Guide to Search Engine Optimization Contractors Guide to Search Engine Optimization CONTENTS What is Search Engine Optimization (SEO)? Why Do Businesses Need SEO (If They Want To Generate Business Online)? Which Search Engines Should You

More information

Web Hosting. Important features to consider

Web Hosting. Important features to consider Web Hosting Important features to consider Amount of Storage When choosing your web hosting, one of your primary concerns will obviously be How much data can I store? For most small and medium web sites,

More information

Starting Out With Java: From Control Structures Through Data Structures (2nd Edition) (Gaddis Series) PDF

Starting Out With Java: From Control Structures Through Data Structures (2nd Edition) (Gaddis Series) PDF Starting Out With Java: From Control Structures Through Data Structures (2nd Edition) (Gaddis Series) PDF Starting Out with Java: From Control Structures through Data Structures is designed to be used

More information

UTILIZING THE NEW ALDA WEBSITE (CHAPTER LEADERS GROUP) PRESENTER: BRIAN JENSEN SEPTEMBER 16, 2016

UTILIZING THE NEW ALDA WEBSITE (CHAPTER LEADERS GROUP) PRESENTER: BRIAN JENSEN SEPTEMBER 16, 2016 UTILIZING THE NEW ALDA WEBSITE (CHAPTER LEADERS GROUP) PRESENTER: BRIAN JENSEN SEPTEMBER 16, 2016 Today I will be explaining the issues involved in fixing and upgrading our website, and how we can use

More information

Empowering 21st Century Learning with EcoStruxure for Data Centers

Empowering 21st Century Learning with EcoStruxure for Data Centers Empowering 21st Century Learning with EcoStruxure for Data Centers 2 We believe that effective use of educational technology will help promote lifelong learning and foster academic excellence while preparing

More information

12 Key Steps to Successful Marketing

12 Key Steps to Successful  Marketing 12 Key Steps to Successful Email Marketing Contents Introduction 3 Set Objectives 4 Have a plan, but be flexible 4 Build a good database 5 Should I buy data? 5 Personalise 6 Nail your subject line 6 Use

More information

THE FUTURE OF PERSONALIZATION IS VISUAL WHITE PAPER

THE FUTURE OF PERSONALIZATION IS VISUAL WHITE PAPER WHITE PAPER The Future of Personalization is Visual 1 It s hard to believe that ecommerce has been around for more than two decades, and juggernaut sites like Amazon and ebay were first launched in the

More information

MSI Sakib - Blogger, SEO Researcher and Internet Marketer

MSI Sakib - Blogger, SEO Researcher and Internet Marketer About Author: MSI Sakib - Blogger, SEO Researcher and Internet Marketer Hi there, I am the Founder of Techmasi.com blog and CEO of Droid Digger (droiddigger.com) android app development team. I love to

More information

Read & Download (PDF Kindle) Microsoft SQL Server 2008 Administrator's Pocket Consultant

Read & Download (PDF Kindle) Microsoft SQL Server 2008 Administrator's Pocket Consultant Read & Download (PDF Kindle) Microsoft SQL Server 2008 Administrator's Pocket Consultant From the author and series editor of the immensely popular ADMINISTRATOR'S POCKET CONSULTANT series from Microsoft

More information

Moving from MailChimp to GetResponse Guide

Moving from MailChimp to GetResponse Guide Moving from MailChimp to GetResponse Guide Moving from MailChimp to GetResponse Guide Table of Contents Overview GetResponse account terminology Migrating your contact list Moving messages Moving forms

More information

program self-assessment tool

program self-assessment tool 10-Point Email Assessment (Based on FulcrumTech Proprietary Email Maturity) Your Website Email program self-assessment tool This brief self-assessment tool will help you honestly assess your email program

More information

Google Domination SEO Copywriting Secrets For Business Owners

Google Domination SEO Copywriting Secrets For Business Owners Page 1 of 5 06 FBI Consultancy PDF For 1000 Business Article This business support article has a minimum re-sale value of 50 or $70 It is provided FREE of charge to all consultants & business owners who

More information

Web Conferencing Service Reduces Company Travel Costs, Enhances Collaboration

Web Conferencing Service Reduces Company Travel Costs, Enhances Collaboration Microsoft Office System Customer Solution Case Study Web Conferencing Service Reduces Company Travel Costs, Enhances Collaboration Overview Country or Region: United States Industry: High-tech and electronics

More information

ShowMe Guides OpenCart 1.5 User Manual Ebooks Free

ShowMe Guides OpenCart 1.5 User Manual Ebooks Free ShowMe Guides OpenCart 1.5 User Manual Ebooks Free Revised and fully updated for 2013, and includes a subscription for free "What's New?" Updaters each time OpenCart is updated so your book is always current!

More information

T Mobile Manual Contract Deals Iphone 5s Work In India

T Mobile Manual Contract Deals Iphone 5s Work In India T Mobile Manual Contract Deals Iphone 5s Work In India cheap. I saw that the Apple Store in Canada was selling them unlocked. I bought the no-contract T-mobile iphone 6 from Apple's website and am using

More information

GALAXY S6: Samsung Galaxy S6 Unofficial User Guide - Discover How To Use Galaxy S6, Easy User Manual, Plus Advanced Tips And Tricks!

GALAXY S6: Samsung Galaxy S6 Unofficial User Guide - Discover How To Use Galaxy S6, Easy User Manual, Plus Advanced Tips And Tricks! GALAXY S6: Samsung Galaxy S6 Unofficial User Guide - Discover How To Use Galaxy S6, Easy User Manual, Plus Advanced Tips And Tricks! (S6 Edge, Android, Smartphone) Ebooks Free GALAXY S6Samsung Galaxy S6

More information

If you like this guide and you want to support the community, you can sign up as a Founding Member here:

If you like this guide and you want to support the community, you can sign up as a Founding Member here: Introduction Hey Sam here. Thanks for getting access to Vid Invision Enterprise. I m super excited that you ve come on board This guide is to help you to understand how to navigate the Vid Invision Enterprise

More information

MCSA Windows Server 2012 R2 Complete Study Guide: Exams , , , And PDF

MCSA Windows Server 2012 R2 Complete Study Guide: Exams , , , And PDF MCSA Windows Server 2012 R2 Complete Study Guide: Exams 70-410, 70-411, 70-412, And 70-417 PDF Prepare for the MCSA Windows Server 2012 R2 Exams Microsoft's new version of the MCSA certification for Windows

More information

Digital Workflow 10 Tech Rules to Guide You

Digital Workflow 10 Tech Rules to Guide You Last updated: 10/11/10 Digital Workflow 10 Tech Rules to Guide You Introduction Whether your goal is to become paperless, or just to get more out of the technology you use, you need to (1) find the easy

More information

XINSURANCE: Spreading the Word with SEO

XINSURANCE: Spreading the Word with SEO SEO Case Study SEO CASE STUDY XINSURANCE: Spreading the Word with SEO Everyone talks about SEO, but how many really know what it means and what to do to achieve results? For the team at XINSURANCE, finding

More information

ProgressTestA Unit 5. Vocabulary. Grammar

ProgressTestA Unit 5. Vocabulary. Grammar ProgressTestA Unit Vocabulary 1 Completethesentenceswithappropriate words.thefirstlettersofthewordshavebeen given. a Can you believe it? She s getting married to a man she has met on a s networking site!

More information

Web $trategy. Fundamentals. A Book About Practical Web Strategy for the Non-Geek Anders Tufvesson

Web $trategy. Fundamentals. A Book About Practical Web Strategy for the Non-Geek Anders Tufvesson Web $trategy Fundamentals A Book About Practical Web Strategy for the Non-Geek Anders Tufvesson Reproduction ban This work is protected by copyright law. Reproduction is prohibited other than as specified

More information

Why is it Difficult to Find a Good Free Web Host

Why is it Difficult to Find a Good Free Web Host From the SelectedWorks of Umakant Mishra February, 2012 Why is it Difficult to Find a Good Free Web Host Umakant Mishra Available at: https://works.bepress.com/umakant_mishra/102/ Why is it difficult to

More information

IOS 9 App Development Essentials: Learn To Develop IOS 9 Apps Using Xcode 7 And Swift 2 PDF

IOS 9 App Development Essentials: Learn To Develop IOS 9 Apps Using Xcode 7 And Swift 2 PDF IOS 9 App Development Essentials: Learn To Develop IOS 9 Apps Using Xcode 7 And Swift 2 PDF ios 9 App Development Essentials is latest edition of this popular book series and has now been fully updated

More information

Considerations for Mobilizing your Lotus Notes Applications

Considerations for Mobilizing your Lotus Notes Applications Considerations for Mobilizing your Lotus Notes Applications John Kingsley Teamstudio Technical Director Why Mobilize? It all started with email. Not any one email in particular, just the fact that you

More information

GOOGLE MOVES FROM ADVERTISING TO COMMISSION MODEL: What It Means For Your Business

GOOGLE MOVES FROM ADVERTISING TO COMMISSION MODEL: What It Means For Your Business GOOGLE MOVES FROM ADVERTISING TO COMMISSION MODEL: What It Means For Your Business Google s move into hotel booking has made headlines as a potential disruptor in the online booking space. But to many,

More information

The official TYPO3 partner program

The official TYPO3 partner program The official TYPO3 partner program Table of contents Partner Program... 4 Separate Yourself From The Competition... 4 Be Successful - Together... 4 Unique Benefits... 6 Partner Ranking In A Nutshell...

More information

WEB DESIGN SERVICES. Google Certified Partner. In-Studio Interactive CEO: Onan Bridgewater. instudiologic.com.

WEB DESIGN SERVICES. Google Certified Partner. In-Studio Interactive CEO: Onan Bridgewater. instudiologic.com. In-Studio Interactive CEO: Onan Bridgewater instudiologic.com sales@instudiologic.com info@instudiologic.com WEB DESIGN SERVICES Google Certified Partner 1. Brand Building Engagements that Drive Sales

More information

Guide to a Perfect Event Communication Plan - Professional event management

Guide to a Perfect Event Communication Plan  - Professional event management Guide to a Perfect Event Communication Plan www.lyyti.com - Professional event management re is usually a lot of talk about communication and how to make it more effective. Most companies think they are

More information

The ARRL Ham Radio License Manual Ebooks Free Download

The ARRL Ham Radio License Manual Ebooks Free Download The ARRL Ham Radio License Manual Ebooks Free Download All You Need to Become an Amateur Radio Operator!Discover the excitement of ham radio. The Amateur Radio Service offers a unique mix of public service,

More information

B4A: RAPID ANDROID APP DEVELOPMENT USING BASIC BY MR WYKEN SEAGRAVE

B4A: RAPID ANDROID APP DEVELOPMENT USING BASIC BY MR WYKEN SEAGRAVE B4A: RAPID ANDROID APP DEVELOPMENT USING BASIC BY MR WYKEN SEAGRAVE DOWNLOAD EBOOK : B4A: RAPID ANDROID APP DEVELOPMENT USING BASIC Click link bellow and free register to download ebook: B4A: RAPID ANDROID

More information

Process. Interface Design Introduction. Purpose and Goals of your Website. Module 2. Introduction

Process. Interface Design Introduction. Purpose and Goals of your Website. Module 2. Introduction Module 2 Introduction Before one can start building a website, the person must have a clear understanding of the mission, goals, and objectives of the site. Important questions to ask are why are you making

More information