John Boyer (IBM)IBM Systems Technical University - Day 1 morning

Banner-IBM-TechU-Orlando-2017

This week, I am presenting at the IBM Systems Technical University in Orlando, Florida, May 22-26, 2017. Day 1 included keynote sessions. Here is my recap for the morning.

General Session "The Quantum Age"

Amy Hirst, IBM Director of Systems Training, served as emcee for the General Session. The theme this week is "Power of Knowledge, Power of Technology, Power of You. You to the IBM'th power".

Chris Schnabel, IBM Q Offering Manager, explained what "IBM Q" is.

Chris feels "our intuition of what we can compute is wrong". Classical (non-Quantum) computing has evolved over past 100 years.

Consider Molecular geometry. The best supercomputer can only handle the smallest molecules, those with 40 to 50 electrons, and even then are unable to calculate bond lengths within 10 percent accuracy. Quantum computing can.

Another area is what computer scientists call the "Traveling Salesman Problem". If you had a list of 57 cities, what would be the optimal path to minimize the distance traveled to get to all of the cities. Doing an exhaustive search would be 10 to the 76th power. Dynamic Programming techniques provide some shortcuts, reducing this down to 10 to the 20th power, but still, that is impossible on most computers.

Chris mentioned that there are easy problems to solve in polynomial time, and hard problems that are exponential, in that they get worse and worse the bigger the input set. There will always be hard problems.

<blockqoute> "Nature isn't classical, dammit, and if you want to make a simulation of nature, you'd better make it quantum mechanical, and by golly it's a wonderful problem, because it doesn't look so easy."
-- Richard Feynman </blockqoute>

Nature encodes information, but not in ones and zeros. Quantum computers are measured on the number of Qubits, their error rate, etc. The three factors that IBM focuses on are Coherence, Controllability and Connectivity.

Chris explained how Superposition and Entanglement are used in Quantum Computers. I won't bore you with the details here, but rather save this for a future post.

  • Today: 5 to 16 Qubits (can be simulated with today's classical computers. 5 Qubits is the power of your typical laptop)
  • Near future: 50-100 Qubits (too big to simulate on supercomputers), with answers that are approximate or correct only 2/3 of the time.
  • Future: millions of Qubits, fault-tolerant to provide exact, precise answers consistently.

Quantum Computing opens up a new range of problems, what Chris call "Quantum Easy" problems. Problems that might take years to solve on classical supercomputers could be solved in seconds on a Quantum computer.

Chris showed a picture of [Colossus], the first digital electronic computer used in the 1940s. Quantum computing today is like 1940's of classical computing.

IBM is now working on Hybrid Quantum-Classical algorithms, for example:

  • Quantum Chemistry - can be used in material design, healthcare pharmaceuticals
  • Optimization - logistics/shipping, risk analytics

There are different ways to build a quantum computer. IBM chose a single-junction transmon design, using Josephson junctions. While the chips are small, the refrigerators they are contained in are huge, and have to keep the chips at very cold 15 milliKelvin temperature (minus 459 Fahrenheit)!

To get people excited about Quantum computing, IBM created the "IBM Q Experience" [ibm.com/ibmq] that allows the public to run algorithms on a basic 5 Qubit system using a simple drag-and-drop interface to put different transformational gates in sequence.

IBM Research team were shocked to see 17 publications in prestigious journals make practical use of this 5 qubit system! Since then, IBM now offers a Software Developers Kit (SDK) called QISkit (pronounced Cheese-kit) as a text-based alternative to the drag-and-drop interface.

Amy Hirst came back on stage to remind people to use Twitter hashtag #ibmtechu to follow the event. There are two more events like this planned for the end of the year. A Power/Storage conference in New Orleans, October 16-20, and another event focused on z Systems mainframe, November 13-17.

 

Pendulum Swings Back -- Understanding Converged and Hyperconverged Systems
s014068-Pendulum-Swings-Orlando-v1705c-cover
Slides are available on IBM Expert
Network on [Slideshare.net]

This presentation has an interesting back-story. At a client briefing, I was asked to explain the difference between "Converged" and "Hyperconverged" Systems, which I did with the analogy of a pendulum. I used the whiteboard, and then later made it into a single chart.

At the far left of the pendulum, I start with mainframe systems of the early 1950s that had internal storage. As the pendulum swings to the middle, I discuss the added benefits of external storage, from RAID protection and Cache memory to centralized management and backup.

To the far right of the pendulum, it swings over to networked storage, from NAS to SAN attached devices for flash, disk and tape. This offers excellent advantages, including greater host connectivity, and greater distances supported to help with things like disaster recovery.

Here is where the pendulum swings back. IBM introduced the AS/400 a long while ago, and more recently IBM PureSystems that combined servers, storage and switches into a single rack configuration. Other vendors had similar offerings, such as VCE Vblock, Flexpod from NetApp and Cisco, and Oracle Exadata.

Lately, the pendulum has swung fully back to internal storage, with storage-rich servers running specialized software on commodity servers. There are two kinds:

  • Pre-built systems like Nutanix, Simplivity or EVO:Rail which are x86 based server systems, pre-installed with software and internal flash and disk storage.
  • Software that can be deployed on your own choice of hardware, such as IBM Spectrum Accelerate, IBM Spectrum Scale FPO, or VMware VSAN.

So, over time, my single slide has evolved, and fleshed out into a full blown hour-long presentation!

 

IBM's Cloud Storage Options
s014067-IBM-COS-Orlando-v1705a-cover
Slides are available on IBM Expert
Network on [Slideshare.net]

Cloud storage comes in four flavors: persistent, ephemeral, hosted, and reference. The first two I refer to as "Storage for the Computer Cloud" and the latter two I refer to as "Storage as the Storage Cloud".

I also explained the differences between block, file and object access, and why different Cloud storage types use different access methods.

Finally, I covered some of our new public cloud storage offerings, using OpenStack Swift and Amazon S3 protocols to access objects off premises, including the new Cold Vault and Flex pricing on IBM Cloud Object Storage System in IBM Bluemix Cloud.

This was a great way to start the week!

technorati tags: , , , , , , , , , , , , , , , , , , , , , , , ,

John Boyer (IBM)Crowdsourced Testing

The rapid changes in today’s software delivery landscape have shifted the entire SDLC towards a more continuous release cycle and strategy. Almost every major company who handles their own software development is dealing with a convergence of speed and delivery for their applications and websites. Compounding this effect is the world of DevOps and Agile which are pushing for more integrated approaches and delivery systems. However, one thing is missing from the conversation: testing. Almost every part of the DevOps, Agile and Continuous Delivery worlds fail to address testing in a way that does not slow down the development process.

 

A Brief History:

From the early era of software development, developers have needed something or someone to test their software. There was a time when developers mostly relied on testing ad-hoc but the result was not satisfactory. They soon began to realize that they needed to hire staff who were dedicated to ensuring the quality of the end product.

As time has moved on, and products have become more complex, released faster and on more platforms, there has been a major push towards test automation. Test automation allows developers to program platforms such as Selenium or Gherkin to test if a feature or product is working as it was coded. This solution works to a certain degree but cannot eliminate the need for people to creatively explore and test the application or website in question. Most recently, the introduction of crowdsourced testing has enabled organizations to scale their exploratory testing and augment their in-house QA or automation strategies.

Real Life Examples:

Crowdsourcing, in and of itself, is not a new phenomenon. One only need to look at websites like Wikipedia which are created and maintained by the crowd. In addition, recently Google has enabled ‘Early Access’ option in Google Play Store. This feature is welcomed by the developers and the users as well because it allows companies to develop early beta versions for feedback. Crowdsourcing can also be seen in the world of crowdfunding sites such as Kickstarter. For testing however, crowdsourced models rely on professional testers who are traditionally located around the world to complete testing when the organization needs it.

 

Crowdsourced Testing vs. In-House QA:

There are some obvious benefits behind of crowdsourced testing.  If you have your own in-house QA, all of the testers are normally located in the same region or at least country. In the case of crowdsourced testing, all the testers reside in different locations and in different time zones. Some of the testers may check your application from the city, some of them do it from the countryside even. Thus, you get the actual result of your application’s performance. Crowdsourced testers work from their home and their network varies from person to person (ex: 2G/3G/4G LTE) and their device (Smartphone, Tablet etc.) as well so this changes the kind of testing you actually can receive versus testing in your own office.

 

Thirdly, your application may be released for various platforms. Here, the workers of a certain group might not have the capability to research the application in cross platforms. But crowdsourced testers are capable of doing this on every platform such as Android or iOS, some can try Windows or Mac etc.  Thus, you see that crowdsourced testing packs a punch over in-house QA.

 

Tester’s Benefit:

From the tester’s perspective, they gain the flexibility and freedom to test on their own time using their own devices when projects seem appealing. Rather than just outsourcing, crowdsourced testers can test on their free-time which does not impact their regular jobs although some testers are doing this kind of work exclusively. Additionally, testing on multiple platforms and products can expand the testers knowledgebase and thus make them a better tester.

 

Time & Money Savior:

In the old days of software development, developers had to wait for a long time to have their applications and code reviewed. They had no options for quick testing which slowed their releases down. But things are changed and now they have crowdsourced testers. Crowdsourced testing is not bound to a limited number of people and scales quite efficiently without not much more cost.

 

image

 

Limitations:

Where crowdsourcing falls short however, compared to automation, is in the testing of repetitive or predictable test cases. When functionality is not expected to change, automation can quickly and reliably provide confirmation that the code is working as tested. Automated test cases are easily written and programmed although they do require adjusting and tweaking as needed. Some of the most popular software testing solutions are open-source so the cost of implementation is quite low. Here are 5 to get you started:

  1. Selenium
  2. Robotium
  3. Sahi
  4. SoapUI
  5. Cucumber

 

Conclusion:

As the software world has changed, so has the world of testing. While DevOps and Agile rule the SDLC landscape they are quick to move toward automation as a way to conduct testing. However, exploratory testing and test case execution can also be completed using crowdsourced testing without slowing down the process. The future of software delivery will rely on being able to delivery quality applications and websites at the right time and this means a combination of high quality code and testing.   

John Boyer (IBM)Do you care about experience driving your Car? How about Email?

image
Most of the functions that a car performs or features it has are standard and we take them for granted. You can borrow your friend's car and get to the destination, no problem. The learning curve for using another brand of car is not long, if you bother. We know how it is supposed to work!
image
Isn't it the same with email? Most of the things we’ve come to expect in a modern webmail client, from mail features to folders to contact lists to a number of pluggable extensions, and reliable operation across devices are offered by many providers including open source alternatives. We have got used to using email across our personal and professional accounts.
We know how it is supposed to work!

 

But do we all use the same brand of car? Nooo! Why not? We spend a vital part of our day on commute and we want to have a great experience using our car! Likewise, do we spend a lot of
time accessing emails and collaboration tools in our workday? Yes, we do! We do care about our experience using the email!

 

Being a Verse user, let me take this opportunity to introduce IBM Verse. IBM Verse was created with a different experience for users in mind! It was designed for a new way to work in this new
age where mobility, mail and collaboration overload are king. Let me share how it has improved my way of working, saving me time and effort in a busy day by sharing highlights about a few key features.

Important Contacts (Important to me Bar)

image

The true value of the Important to me Bar is in all the scrolling and the eye scans it avoids. Even if you receive tons of emails, you cannot miss an email from your important customer, from your boss or from someone you flagged as important. The moment you have new mail from them, a red dot illuminates their icon. It stares at you. Impress your Boss with your responsiveness!

 

Phone Alerts of email from important contacts

image

 

 

You're on the road. Do you want to be alerted to any
email that comes in? Verse Mobile is more selective than
that. It will flag to your attention mail coming from
important contacts. You can deal with the rest when it is
convenient to you. Keep the noise
out and focus on what
is most important.

Quick calendar creation

image

 

Your day's calendar appears at all times at the bottom of your inbox screen. In fact, the calendar progresses with time, informing you of what is ahead, reminding you of night or next morning engagements.

A very handy feature of this calendar bar is the ability to schedule an impromptu meeting without leaving your inbox, in half the time than a regular meeting creation process. No need to switch context. Click on an available space, schedule and continue to work in your inbox.

 

 

Action buttons on the email inbox

image

 

 

 

Verse groups the three most common actions, Move to Trash, Remove from Inbox, and Mark as Needs Action, together and inline with the message in the Inbox. This saves a lot of time as moving the cursor further right on the screen is avoided most the time. This is a huge time saver when dealing with an accumulation of mail and, day to day activities, for discarding an information email after reading or to deal with an incoming query after you've had a chance to do your follow up. With such setting, just mark it as Needs Action (Today) and remove it from the inbox. Read more

 

Action Items

image

 

When you carve through your emails, some call for action on your part or from others. Verse allows you to flag an email for action so you can ensure it is responded timely.

 

When setting the due date, you can capture a note as a reminder or as a tag for faster subsequent handling. And, of course, when the due dates come, the famous red dot is on the Important to me Bar to remind you!

 

As I said previously using email forms a major part of our workday and experience using it matters. IBM Verse could provide the experience you are looking for! Test drive it and see!
image

 

John Boyer (IBM)Big Data To Prevent The Next Major Health Crisis Is Still Science Fiction

A city in Pennsylvania is making use of a Google powered AI system to exterminate pests. Called PestID, the mobile app is used by exterminators to capture photos of bugs at residential and business places and to instantly get all the necessary information like the nature of this pest and how to destroy them.

 

Elsewhere, Fitbits, the wearable pedometer that is popular among fitness enthusiasts is being used by researchers from the James Cook University in partnership with the Townsville city council in remote Queensland (Australia). The objective is to tag feral pests like pigs and buffaloes with the tracking device and use it to track their navigation movement. The researchers hope to use the information from these tracking device to know if the animal is sleeping, how far it moves and how fast it can navigate around the tough terrains of Cape York. The information gathered this way from dozens, if not hundreds, of pests could help determine patterns that could be used to kill pests that harm local human populations.

 

Tracking tools like those used by the researchers from James Cook University generate millions of data points that can be used to derive insightful data that can be used in controlling pest population. The AI technology, similar to what is used by PestID, is an extension of this and is used to compare sampling data against known benchmarks to identify threats.

 

So what does all of this mean for healthcare? Put simply, such data-based technologies could be used to prevent the next major health crisis. Sampling chemicals and microbes present in local water bodies like lakes or ponds, for instance, and benchmarking it against standard numbers could give researchers an idea of the changing ecosystem in the region. According to Moxie, rats and other similar pests can multiply at an alarming rate (one mouse, for instance, can give birth to over 100 mice in a year). The changing composition of chemicals in soil and water bodies can give researchers an idea about the increase or decrease in rat population locally.

 

While apps like PestID are today useful for identifying large known pests, they can also be used to capture and identify unknown microorganisms in the wild. Biologists frequently travel to remote rainforests in highly biodiverse regions of places like Borneo and the Amazon to capture new microbes that have not been identified before. It is from places like these that viruses like HIV, Zika, Sars and Ebola break out. By analyzing air, soil and water samples from various outbreak prone regions and comparing the microbes captured in the sample against those tagged in the system, it is possible to identify an outbreak before it happens.

 

Execution and cost remain a challenge though. Tracking devices like Fitbit can be used to cheaply and effectively track the location and navigational patterns of feral pests like pigs. Similar tracking devices that are much smaller could also be used on rats which have a life span of between one to two years. But how does one analyze the movement patterns of mosquitoes? Not only are mosquitoes quite tiny to deal with, they also have a much shorter lifespans. The average male mosquito lives for less than ten days while female mosquitoes can live for as long as two months. Capturing thousands of mosquitoes to embed GPS tags only to have to them lose utility after a couple of weeks can be prohibitively expensive.

 

The solution here is to deploy these GPS trackers in the food that these pests consume. Thousands of nano-sized GPS trackers in the food that these organisms consume could let researchers get into the bodies of these organisms. Upon death, these trackers get back into the food in the ecosystem only to be consumed by other organisms that are still alive.

 

All of this is science fiction at this point and there are way too many roadblocks at this point. The smallest GPS trackers available with us today is still too big for mosquitoes. Also, manufacturing thousands of these small trackers profitably is still a pipe-dream. Not to mention that we are yet to develop systems that can hold battery life for months at this scale.

 

Success in developing the requisite GPS hardware could pave the way for big data analytics and AI technology like those in PestID to swoop up microbes present in our air, water and soil to identify the growth of the next big health crisis before they take up lives on an epidemic scale.

John Boyer (IBM)ISIM: Reconciliation suspend user not working

PROBLEM:

During reconciliation with HR Feed System person with 'vacation' status going to suspend as person and all accounts. But when person going from vacation to 'active' - person is going to
active, but its accounts from ITIM, AD and custom service are still in suspend state. Only manual release of accounts is working.

 

ENVIRONMENT:

  •  ISIM 7.0.1.3 with HR Feed system,
  • AD service
  • One custom service

 

SOLUTION:

Kindly refer and follow this technote :

 

"ITDI HR Feed ? accounts not restored when erpersonstatus changed to 0"

http://www-01.ibm.com/support/docview.wss?rs=644&tcss=Newsletter&uid=swg21399364

 

 

 

 

John Boyer (IBM)IBM 科学家与“奇葩说”辩手蔡聪,聊人工智能如何打造无障碍世界

<section dir="ltr" style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important; color: rgb(62, 62, 62); font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 25.6000003814697px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"> <section style="margin: 0px; padding: 10px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important; display: inline-block; width: 670px; border: 1px solid transparent; background-color: rgb(239, 239, 239);"> <section style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important;"> <section style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important;"> <section style="margin: 0px; padding: 0px 5px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important; font-size: 15px;">

初次见面的你们匆匆“交(sao)换(guo)名(wei)片(xin)”,再次相遇却怎么也想不起来对方是谁,“尴尬值”满分有没有?

一逛超市就迷路,找一包薯片要半个小时?

下载了新菜谱准备给心爱的TA做顿美食,然鹅,边忙活边看菜谱,手忙脚乱“宝宝”心好累……

</section> </section> </section> </section> </section> <section dir="ltr" style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important; color: rgb(62, 62, 62); font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 25.6000003814697px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"> <section style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important;"> <section style="margin: 0px; padding: 0px 15px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important; font-size: 15px;">

 

这些都是你我在日常生活中常常遇到的“小插曲”。

各位“脸盲”、“路痴”、“手癌”的小伙伴们,你们的福音来了! (咣咣咣,敲黑板)

 

<section data-role="outer" label="Powered by 135editor.com" style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; color: rgb(62, 62, 62); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: 微软雅黑; font-size: 16px; background-color: rgb(255, 255, 255);">

近日,在《奇葩说》一鸣惊人的蔡聪,与用科技让盲人“看到”世界的女科学家浅川智惠子,就人工智能打造无障碍世界,进行了一场有“料”又有趣的对谈。

 

图像

 

点击查看完整版视频《人工智能打造无障碍世界》

 

科技让这个世界不再有“残疾人”


 

蔡聪站在《奇葩大会》的演讲台上,坚定地说出“这个世界不应该有‘残疾人’”,在他眼里,失明不过是人生换了一种新的活法

 

普通人的感官和身体能力都是有所局限的,比如步行很慢,所以有了汽车、飞机这些科技的进步。而残疾在他看来,也只不过是普通人的一些局限被更加凸显了。

 

先来一波冷知识——

- 短信服务诞生初衷,是为了解决失聪者打不了语音电话的问题

- 如今随处可见的电子书,源自80年代末为了方便盲人阅读而设计的电子盲文书

 

许许多多的设计最初是为方便残障人士,之后却受到了大众的支持和喜爱,成为改变生活的创新。

 

他对残疾的理解

与智惠子对科技的执着不谋而合

 


 

对于蔡聪而言,看书是他生命中不可或缺的爱好。然而,一部盲文版的《红楼梦》堆起来有天花板那么高,搬回家阅读是一项“不可能任务”。

 

同为盲人的智惠子对此也深有感触,为了改善盲人的生活,她在用“黑科技”打造信息无障碍的这件事上“一路开挂”:

 

最初,在“想读书”的信念下,智惠子参与发明了盲文点字显示器——大量盲文被浓缩在一个轻便易携的阅读器上。

 

图像

▲ 盲文点字显示器的前身——盲文文字处理系统

 

而智惠子参与开发的无障碍互联网浏览器,通过把网络资源由文字、图像转换成语音,更是为视障人士打开了通往互联网的大门。

图像

▲ Home Page Reader:鼠标悬停就能听取网页文本内容

 

随后,她的第三项无障碍环境发明——App NavCog(认知助手)成为了视障朋友们手机上的“智能导盲犬”。至此,视障人士的行走和交际变得更加自由、顺畅。

图像

▲ “认知助手”告诉智惠子:尼克走过来了,他看起来很高兴

 

<section style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important; color: rgb(62, 62, 62); font-family: 微软雅黑; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 25.6000003814697px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"> <section style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important;"> <section style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important;"> <section style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important; font-size: 15px; line-height: 2;">

通过耳机与智惠子“耳语”,“认知助手”帮助她实时识别位置、朝向,畅通无阻地在园区内行走,还能辨认迎面走来的同事和他的表情 (“脸盲”症看过来~)。

</section> </section> </section> </section>

 

不仅如此, “认知助手”还适用于购物中心、医院等各种生活场景,帮助盲人逛超市购物、看医生等(“路痴”再也不怕了好么~)

 

如今,在“认知助手”的帮助下,智惠子不仅可以无障碍的逛超市,找到货架,通过把摄像头对准商品,挑出最心水的那一款……

图像

▲ 在“认知助手”的帮助下,Chieko无障碍的挑选薯片

 

 

生活在无障碍的世界是怎样一种体验

 


 

未来,智惠子及其团队希望可以将“认知助手”应用到机场、医院、体育馆、办公室等更多场景。

 

怎么样,有没有发现科技创新的“神器”,不仅能成为视障人士们的“眼睛”,更能成为全人类的“望远镜”。

 

叮,未来将有一个更美好的无障碍世界,请注意查收!

 

--本文转载自 IBM 中国(微信号:IBMGCG)

</section> </section> </section> </section>

John Boyer (IBM)[ZOS] IBM OMEGAMON主机系统性能监控分析产品简介,内附官方微信订阅号

文章标题: [z/OS] IBM OMEGAMON主机系统性能监控分析产品简介,内附官方微信订阅号
文章所属团队: z Manage, Commerce and Cloud, China ID team
文章作者:王越
文章分类: z/OS
文章链接: 暂无
文章概述:

IBM® OMEGAMON® 系列产品提供综合的性能与可用性解决方案,主动分析和管理操作系统、数据库或者其他环境,帮助您从多个角度检测瓶颈和其他潜在的性能问题,快速隔离并解决问题。

IBM® OMEGAMON® 系列产品包括但不仅限于以下产品:
- IBM OMEGAMON for JVM on z/OS
- IBM OMEGAMON for Storage on z/OS
- IBM Tivoli OMEGAMON XE for DB2® Performance Expert on z/OS
- IBM Tivoli Composite Application Manager for Application Diagnostics
- IBM Tivoli OMEGAMON XE for CICS® on z/OS
- IBM Tivoli OMEGAMON Dashboard Edition on z/OS
- IBM Tivoli OMEGAMON XE for IMS™ on z/OS
- IBM Tivoli OMEGAMON XE for Mainframe Networks
- IBM Tivoli OMEGAMON XE for Messaging for z/OS
- IBM Tivoli OMEGAMON XE on z/OS

关注OMXE微信订阅号,订阅号不定期发布与OMEGAMON产品相关的技术文章、视频,技术文章涵盖了产品发布、功能介绍、产品答疑、信息体验等类别。


您还可以给OMXE订阅号的管理员留言,了解更多相关产品及使用信息。无论您是OMEGAMON产品的使用者,还是对OMEGAMON产品感兴趣,都欢迎关注我们的微信订阅号,小编们还会不定时发放福利噢~扫描以下二维码关注微信订阅号

image

 

John Boyer (IBM)Seeking course of a technological minuscule

The increase in adaptive technology implemented around parts of the world, has given a surge to the masses in buying laptops as portable computing devices, with a vast amount of different products being deployed by old players as well as newcomers in the market. Laptops have reinvented the way in which the users purchase technology, being dependent on the various physical features and functional attributes that make each machine special in its own categorical space. One way to determine a machine that is most suitable based upon you needs, is to refer to latest laptop reviews on different websites that are updated by expert professionals.

 

The starting point to look at while buying a laptop is the screen. Depending on your visibility power and how you prefer to observe general graphics, the screen can be chosen from the dimensions of 15inch to 17 inch. Extra support features add to the display’s characteristics, by increasing its resolution quality and improving the overall experience. Brands like Dell, Asus and Mac are the top three contenders in high resolution display. They utilize different hardware components on their motherboard, accelerating their potential beyond the ordinary and achieving greater results.

 

In this era of networking almost every individual user is connected to another person irrespective of his location via the internet, making connectivity a top priority while considering a new purchase. Network cards within the motherboard are responsible for setting up a connection, responsible for receiving the network packets and sending data over the network. The ability of myriad laptops to grasp wireless connection depends on the wireless adapters they come bundled with after manufacturing, determining the strength and capacity of the laptop to function during networking hours.

 

Battery quality is another important aspect to consider while testing a laptop before buying. At times all the laptops on display in a store function the same and its hard to distinguish a difference between them, especially when it comes to battery life which separates the weak from the strong when the going gets tough. Some laptops have bad batteries not capable of retaining any power, which makes them really unreliable and irrelevant in long term use, eventually adding to the dysfunctional working of the machine, and hindering daily work process of the user.

 

Although it is impossible for the buyer to perform extensive tests on a laptop inside a store, in-depth information about it can be obtained by visiting laptop review sites like laptop review which notes details and featured specifications of laptops, helping in zeroing in on potential models. Some sites also compare two different models from different companies which focuses on the pros and cons in choosing one product over the other. The reviewer also posts a final score on the product, pinpointing its strengths and weaknesses, turning into a guide that determines the best machine for the user. In such ways the globe of technology has been reduced into a much broader form by the web, for the curious seekers.

John Boyer (IBM)Blockchain in Telcos?

If you like me are hearing 'Blockchain this, blockchain that', it almost seems like blockchain will solve world peace, global hunger and feed your pets for you!  We're obviously at the 'peak of inflated expectations' of the Gartner hype cycle.

I saw a tweet yesterday from an ex-colleague at IBM yesterday that spoke about using blockchain to combat fraud in a Telco.   While I can see that as a possible use case, I was thinking about other opportunities for blockchain.

 

Perhaps I need to explain blockchain briefly so that those that don't understand it can also understand the Telecom use cases for blockchain. Wikipedia defines it like this:

"A blockchain... is a distributed database that maintains a continuously growing list of records, called blocks, secured from tampering and revision. Each block contains a timestamp and a link to a previous block. By design, blockchains are inherently resistant to modification of the data — once recorded, the data in a block cannot be altered retroactively. Through the use of a  peer-to-peer network and a distributed timestamping server, a blockchain database is managed autonomously. Blockchains are "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way. The ledger itself can also be programmed to trigger transactions automatically."

 

So, it's an immutable record of changes to something.  I was thinking about that yesterday and there were a number of use cases in Telecom that I could think of that could use blockchain.  I'm not suggesting that they should use blockchain or that it's needed, just that they could. These are the Use cases I came up with:

  • Fraud prevention : being immutable makes it harder to 'slip one by' the normal accounting checks and balances that any large company has.  I suppose the real question is 'exactly which records need to be stored in a blockchain to enable that fraud prevention?' The obvious one is the billing records.
  • Billing - maintaining state of post-paid billing accounts, who is making payments, billing amounts and other biulling events (such as rate changes, grace periods etc)
  • Tracking changes to the network. At the moment, many of the changes being made in a Telco's network may be made by staff, but increasingly, maintenance and management of the network is being outsourced to external companies and you want to keep en eye on them to ensure they're doing what they say they're doing.  In the new world of Software Defined Networks (SDN) utilising Network Function Virtualisation (NFV) to build and change the network architecture at a rate that we've not seen before, it becomes important for a Telco to be able to track changes to the network to diagnose faults and customer complaints. Over a 24 hour period, a path on a network that supports enterprise customer X may change tens of times - much higher frequency than would be possible if the network elements were physical. 
  • Tracking changes to accounts by customers and telco staff - I could imagine a situation where a customer claims that they didn't request a configuration change, but a blockchain based record of changes could be used to track beck through all the changes in a customer's account to determine what happened and when - potentially enabling a Telco to limit the liability to the customer... or vice versa...
  • Tracking purchases - A blockchain record of purchases would allow a CSP to rebuild a customer's liability from base information; provided there was an immutable record of the data records as well...
  • xDRs - any type of Data Record (CDRs, EDRs...) could be stored in a blockchain to facilittate rebuilding of a client's history and billing records from base data. The problem with using a blockchain to store xDRs is the size requirements.  I know that large CSPs in India for example produce between five and ten BILLION records per day. It wouldn't take long for that to build up to a very large storage requirement - even if you store the mediated data records, it's going to be very large. I guess the question is : 'what is the return on investment?' - it is worth while doing. I can't think of a business case to justify such an investment, but there may be one out there.
  • Assurance events - Recording records associated with trouble tickets and problem resolution.

I don't for a second think that all of these can be justified in terms of cost/benefit analysis, but I could see blockchain being used in these scenarios. 

 

Do you have any ideas? Please leave a comment below.

John Boyer (IBM)One value problem in DB2 query optimization

Column cardinality affects filer factor estimation of the predicate when distribution stats is not collected.
If your query includes a predicate like "WHERE COL != <value> " for a flag type column which typically has low cardinality, you may encounter a sudden plan change depending on the environment. Typically, COLCARD=1 is tricky, hence I call it one value problem in this blog entry.

For example, when COLCARD = 2 for column COL2, meaning number of distinct values in the COL2 is 2,  filter Factor of (Q2.COL2 <> 0) = 0.5.
This is because ( filter factor of "COL2 = <value>" ) = 1/(COLCARD) = 1/2 = 0.5, as the result, ( filter factor of "COL2 != <value>" ) = 1 - 1/(COLCARD) = 1 - 1/2 = 0.5

-Initial case: COLCARD= 2 and Filter Factor of (Q2.COL2 <> 0) = 0.5
UPDATE SYSSTAT.COLUMNS
SET COLCARD=2,
...
WHERE COLNAME = 'COL2' AND TABNAME = 'B' AND TABSCHEMA = 'B       ';

                Predicates:
                ----------
                5) Sargable Predicate,
                        Comparison Operator:            Not Equal (<>)
                        Subquery Input Required:        No
                        Filter Factor:                  0.5

                        Predicate Text:
                        --------------
                        (Q2.COL2 <> 0)

Similarly, if COLCARD varies from 2 to 10, FF (Filter factor) varies accordingly as follows.
         
COLCARD  FF of COL2 = <value>    FF of COL2 != <value>
------- ---------------------    ---------------------
2       1/2 ( = 0.5 )            1 - 1/2 ( = 0.5)
3       1/3 ( = 0.3333)          1 - 1/3 ( = 0.6667)
4       1/4 ( = 0.25)            1 - 1/4 ( = 0.76)
5       1/5 ( = 0.2)             1 - 1/5 ( = 0.8)
10      1/10( = 0.1)             1 - 1/10( = 0.9)
20      1/20( = 0.05)            1 - 1/20( = 0.95)

However, if COLCARD of COL2 = 1, DB2 does not apply the formula of ( 1 - 1/(COLCARD) ) for "COL2 !"= <value>" predicate, because FF = 0 makes cost comparison meaningless.
In stead, DB2 chooses 1/CARD for the "COL2 !"= <value>" predicate as a positive small number less than 0.5, where CARD if the table cardinality, i.e. number of rows in the table.

-Plan change: COLCARD=1 and Filter Factor of (Q2.COL2 <> 0) = 1e-06
UPDATE SYSSTAT.TABLES
SET CARD=1000000,
...
WHERE TABNAME = 'B' AND TABSCHEMA = 'B       ';

UPDATE SYSSTAT.COLUMNS
SET COLCARD=1,
...
WHERE COLNAME = 'COL2' AND TABNAME = 'B' AND TABSCHEMA = 'B       ';

                Predicates:
                ----------
                5) Sargable Predicate,
                        Comparison Operator:            Not Equal (<>)
                        Subquery Input Required:        No
                        Filter Factor:                  1e-06

                        Predicate Text:
                        --------------
                        (Q2.COL2 <> 0)

This is an assumption based on available stats, however, changing FF from 0.5 to 0.000001 is fairly drastic and may cause plan change.
 
Here's a sample scenario to demonstrate that just updating a row caused the plan change from HSJOIN to NLJOIN which may be sub-optimal.
The query text is:
$ cat s1.sql
select x.key from b.b x where x.col1 = 1 and x.col2 != 0 and x.key in ( select y.key from a.a y where y.col1 = 1 )
;

The initial plan with COLCARD=1 for COl2 is like
<HSJOIN><IXSCAN TABLE='B.B'/><IXSCAN TABLE='A.A'/></HSJOIN>

The plan after chainging to COLCARD=1 for COl2 by an UPDATE is like:
<NLJOIN><IXSCAN TABLE='B.B'/><IXSCAN TABLE='A.A'/></NLJOIN>

The command used for the test.

db2 update db cfg for sample using AUTO_SAMPLING off AUTO_STATS_VIEWS off AUTO_STMT_STATS off AUTO_RUNSTATS off AUTO_TBL_MAINT off AUTO_MAINT off
db2 terminate
db2stop force
db2start
db2 connect to sample
db2 -tvf exp1.sql
db2 "drop table a.a"
db2 "create table a.a ( key integer not null, col1 smallint not null) in userspace1"
db2 "create unique index a.ix0a on a.a (key)"
db2 "create        index a.ix1a on a.a (col1)"
db2 "drop table b.b"
db2 "create table b.b ( key integer not null, col1 smallint not null, col2 smallint not null) in userspace1"
db2 "create unique index b.ix0b on b.b (key)"
db2 "create        index b.ix1b on b.b (col1)"
db2 "load from expa.del of del insert into a.a"
db2 "load from expb.del of del insert into b.b"
db2 "runstats on table a.a and indexes all"
db2 "runstats on table b.b and indexes all"
db2look -d sample -e -z b -t b -m -o db2look.1.out
mkdir s1caemout
db2caem -d sample -sf s1.sql -o s1caemout

db2 "update b.b set col2=1 where key = 1"
db2 "runstats on table b.b and indexes all"
db2look -d sample -e -z b -t b -m -o db2look.2.out
mkdir s1caemout2
db2caem -d sample -sf s1.sql -o s1caemout2


The test data files are generated with following export commands:
$ cat exp1.sql
export to expa.del of del
with w1 as (
select row_number() over( order by a.tabname ) number from syscat.columns a, syscat.columns b
fetch first 1000000 rows only
)
, w2 as (
select
number key
,mod(number,1000) col1
from w1
)
select key, col1 from w2 order by col1, key;
;
export to expb.del of del
with w1 as (
select row_number() over( order by a.tabname ) number from syscat.columns a, syscat.columns b
fetch first 1000000 rows only
)
, w2 as (
select
number key
,mod(number,100) col1
,case number
when 1 then 0
else        1
end              col2
from w1
)
select key, col1, col2 from w2 order by col1, key, col2
;

The access plan graph with Rows Actual for after initial runstats. DB2 estimated number of rows from FETCH(3) = 5000 where Actual number of rows = 10000

Access Plan:
-----------
        Total Cost:             1583.12
        Query Degree:           1


                        Rows
                     Rows Actual
                       RETURN
                       (   1)
                        Cost
                         I/O
                         |
                          5
                         999
                       ^HSJOIN
                       (   2)
                       1583.12
                         NA
               /---------+----------\
            5000                     1000
            10000                    1000
           FETCH                    FETCH
           (   3)                   (   5)
           1385.76                  137.25
             NA                       NA
         /---+---\                /---+---\
      10000       1e+06        1000        1e+06
      10000        NA          1000         NA
     IXSCAN  TABLE: B         IXSCAN  TABLE: A
     (   4)         B         (   6)         A
     780.87        Q2         86.361        Q1
       NA                       NA
       |                        |
      1e+06                    1e+06
       NA                       NA
 INDEX: B                 INDEX: A
      IX1B                     IX1A
       Q2                       Q1


        3) FETCH : (Fetch)

                        Filter Factor:                  0.5

                        Predicate Text:
                        --------------
                        (Q2.COL2 <> 0)

                Output Streams:
                --------------
                        4) To Operator #2

                                Estimated number of rows:       5000
                                Actual number of rows:          10000


- After running "update b.b set col2=1 where key = 1" which made COL2 all value 1 and running runstats. The plan was changed because the filter factor was changed from 0.5 to 0.000001.
The big difference between estimated number of rows and actual number of rows was in FETCH(3) due to the filter factor 0.000001 whereas all the rows satisfy (Q2.COL2 <> 0).

Access Plan:
-----------
        Total Cost:             1402.79
        Query Degree:           1


                        Rows
                     Rows Actual
                       RETURN
                       (   1)
                        Cost
                         I/O
                         |
                        1e-05
                        1000
                       ^NLJOIN
                       (   2)
                       1402.79
                         NA
               /---------+----------\
            0.01                     0.001
            10000                     0.1
           FETCH                    FETCH
           (   3)                   (   5)
           1385.76                  23.9671
             NA                       NA
         /---+---\                /---+----\
      10000       1e+06          1          1e+06
      10000        NA            1           NA
     IXSCAN  TABLE: B         IXSCAN   TABLE: A
     (   4)         B         (   6)          A
     780.87        Q2         16.5197        Q1
       NA                       NA
       |                        |
      1e+06                    1e+06
       NA                       NA
 INDEX: B                 INDEX: A
      IX1B                     IX0A
       Q2                       Q1


        3) FETCH : (Fetch)


                        Filter Factor:                  1e-06

                        Predicate Text:
                        --------------
                        (Q2.COL2 <> 0)

                Output Streams:
                --------------
                        4) To Operator #2

                                Estimated number of rows:       0.01
                                Actual number of rows:          10000

- The solution is to collect DISTRUBITION stats either by manually or by AUTO_RUNSTATS configuration parameter. Distributions stats avoids the one value problem.


Here are questions and answers about the above steps for your reference.
Q1. Why the subquery "select x.key from b.b x where x.col1 = 1 and x.col2 != 0 and x.key in ( select y.key from a.a y where y.col1 = 1 )" results the joins.
A1. Because, DB2 rewrites the query to join as follows, then chooses optimal the plan. Optimized statement is the result of query rewrite.

Original Statement:
------------------
select
  x.key
from
  b.b x
where
  x.col1 = 1 and
  x.col2 != 0 and
  x.key in
  (select
     y.key
   from
     a.a y
   where
     y.col1 = 1
  )


Optimized Statement:
-------------------
SELECT
  Q2.KEY AS "KEY"
FROM
  "A ".A AS Q1,
  "B ".B AS Q2
WHERE
  (Q1.COL1 = 1) AND
  (Q2.KEY = Q1.KEY) AND
  (Q2.COL2 <> 0) AND
  (Q2.COL1 = 1)

Q2. What are the characteristics of the two input data files ?
A2. data for table a.a: key column is a sequential number from 1 to 1000000, col1 is modulo 1000 of key, ordered by col1
data for table b.b: key column is a sequential number from 1 to 1000000, col1 is modulo 100 of key, col2 is 1 except key = 1, ordered by col1.
So, 999999 rows had col2=1, col2=0 only for key=1 initially.

Q3. Why index A.IX1A on COL1 was used for table A.A in HSJOIN and why index A.IX0A on KEY was used for table A.A in NLJOIN ?
A3. These indexes were chosen for cheaper cost for each join.

Q4. Is there a way to disable subquery to join rewrite answered in A1?
A4. Yes, SUBQ2JOIN OPTION in OPTGUIDELINES allows you to do.

Q5. Does DISTRIBUTION stats always avoid the problem ?
A5. Yes, it does, if it is used in optimization, but, queries which do NOT respect distribution stats will still hit the problem. They are:
- The predicate in question uses parameter markers or host variables, without reopt enabled. e.x. ( COL2 != ? )
- Statement concentrator enabled databases. i.e.  STMT_CONC = LITERALS
Note, these type of queries are optimized for query compilation time. This is a trade off, less query compilation time, less optimization.

John Boyer (IBM)【IBM i ニュース 第86号】 Power Systems技術者向けセミナー 5/24-26開催(幕張)

【IBM i ニュース 第86号】 Power Systems技術者向けセミナー 5/24-26開催(幕張)

配信日: 2017年5月19日

 

イメージ

 

1. Top News

 

☆ Power Systemsテクニカル・ワークショップ(幕張)開催(5/24-26)

5月24日(水)~26日(金)3日間、IBM幕張事業所にて、「Power Systems テクニカル・ワークショップ2017」を開催いたします。

毎年恒例となったこのワークショップも、5回目となりました。従来の主要トピックであったIBM i に加え、AIXに携わっているより多くの方にご参加いただけるよう、Power Systemsの共通テクノロジーであるPowerVM 最新情報もお知らせします。日によってトピックが替わりますので、特定の1日のみのご参加も歓迎です。

ワークショップは従来どおり、米国IBM開発部門より講師を招き、お客様、ビジネス・パートナー様およびIBMグループの社員を対象として実施します。最新のPower SystemsとIBM i を開発者から直接学べるまたとない機会です。全てのセッションには日本語同時通訳が付きますので、どなたでもお気軽に、奮ってご参加くださいますようお願いいたします。

▼ 詳細はこちら

https://www-356.ibm.com/partnerworld/wps/servlet/ContentHandler/pw_com_evt_powersystems_seminar

 

2. お知らせ

 

☆ IBM i 7.1関連ソフトウェアの営業活動終了およびサポート終了のお知らせ

IBM i 7.1関連ソフトウェア製品について、2017年9月30日をもって営業活動を 終了、2018年4月30日をもってサービスを終了いたします。お早目にバージョン7.2 または 7.3 へのアップグレードをご検討ください。

▼ 詳細はこちら

http://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/5/760/JAJPJP17-0245/index.html&lang=jp&request_locale=ja

 

3. 技術情報

 

☆【技術情報1】IBM i におけるWatson API活用例のご紹介 

Watsonテクノロジーを活かした多様なサービスがWatson APIとしてクラウド上で提供されています。IBM i 上のRPGプログラムから、言語翻訳サービスを活用するための、解説付きサンプルプログラムを公開しておりますので、今後のWatson API活用のご参考にしてください。

▼ 詳細はこちら

https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=bd84ca90-6b53-48c6-946d-e030336961fc#fullpageWidgetId=We87a0ccfab3c_4f11_ab9e_9fd079fb31e0&file=5bac0224-1759-4695-8d0e-9f15e1afab89

 

☆【技術情報2】より簡単に IBM i からWatson Analyticsを活用いただけるようになりました

従来は中継用にUbuntu Linuxなどを設置する必要がありましたが、IBM i 上のデータを接続アダプターによって直接Watson Analyticsに連携できるようになりました。

▼ 詳細はこちら

https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=bd84ca90-6b53-48c6-946d-e030336961fc#fullpageWidgetId=We87a0ccfab3c_4f11_ab9e_9fd079fb31e0&file=84005931-f894-4018-ae20-f845d331011c

 

4. その他情報

 

☆ iCAFE連載記事ご紹介

RDi に加えて、もうひとつの IBM i 開発環境が利用可能になりました。これが今回ご紹介するOrionとgitです。それぞれのツールがどのようなものか、RDi や他の外部ツールとどう違うのかを解説することで、皆さんが最適な開発環境を選択する上でのヒントになればと思います。キーワードは「オープンネス」 です。

▼ 詳細はこちら

https://www.i-cafe.info/column/ibmi-oss-programming/evo006/

 

 

★「IBM i ニュース」の配信登録はこちら

 

 

John Boyer (IBM)【IBM AIX ニュース 第14号】 AIX+Flash事例:ゆうちょ銀行 財務会計システム基盤刷新

【IBM AIX ニュース 第14号】 AIX+Flash事例:ゆうちょ銀行 財務会計システム基盤刷新

配信日: 2017年5月17日

 

イメージ

 

[1] ゆうちょ銀行の財務会計システム基盤を刷新 -システムの大幅なパフォーマンス向上で業務効率改善を支援-

 

2017年3月30日、日本IBMは株式会社ゆうちょ銀行様の財務会計システムを支えるインフラ基盤を、IBM AIX搭載サーバーとオールフラッシュ/ストレージ仮想化によって刷新したことを発表しました。日計表の帳票出力が50倍、決算調整処理が6倍など、大幅なパフォーマンス向上と業務効率を改善しています。また、サーバー仮想化を中心とするシステム基盤の簡素化により、サーバーおよびネットワーク機器の台数を半減させ、監視運用等のシステムサービスにかかる負担を軽減しています。

■ 詳細はこちら↓

ニュースリリース

http://www-03.ibm.com/press/jp/ja/pressrelease/51955.wss

 

[2] 4月11日,4月25日,5月9日 製品発表のご案内

 

4月11日付: IBM PowerHA for AIX V7.1の営業活動終了、サポート終了

4月25日付: Power795のメモリーおよびプロセッサーの追加、等の営業活動終了

5月9日付: Powerクラウド環境管理ソフトウェア-IBM PowerVCの機能拡張、

Power Systemsのパフォーマンス情報、インベントリー、ログ情報をモバイル 端末から見ることができるSaaS製品-IBM Cloud Management Console for Power Systemなどを発表いたしました。

▼ AIXやIBM Power Systemsなどの製品発表情報はこちら↓

https://www-01.ibm.com/common/ssi/SearchResult.wss?

* 「20170411」と検索入力いただくと4月11日付の発表情報が表示されます。

 

[3] IBM AIX 6.1 最終のサービス・パックが公開中です!

 

IBM AIX 6.1の最終の更新となる、テクノロジー・レベル(Technology Level: TL)9に対するサービス・パック(Service Pack : SP) が4月14日より公開されています。最終の更新は、AIX 6.1 TL9 SP9(6100-09-09-1717)となります。更新の詳細については、Fix Central からご確認ください。 ※ AIX 6.1の標準サポートは 2017年4月30日をもって終了しております ※ ダウンロードするためには IBMソフトウェア・メンテナンス(SWMA)契約が必要となります

■ Fix Central へのアクセスはこちら↓

https://www-945.ibm.com/support/fixcentral

 

[4] JAXA x 電気通信大学 x IBMが、HPCの未来について対談 

 

超高速サーバー「Minsky」の先進性をいち早く評価・活用するJAXA、電気通信大学とIBMが、現在のスーパーコンピューターの抱える課題とその未来について対談しました。ぜひご覧ください。

■ 記事はこちら↓

https://www-01.ibm.com/marketing/iwm/dre/signup?source=urx-14142&S_PKG=ov57760&cm_mmc=Earned-_-Systems_Systems+-+High-Performance+Computing-_-JP_JP-_--Newsletter-PowerLC-Apr-2017_ov57760&cm_mmca1=000005YP&cm_mmca2=10000541&

 

[5] IBM POWER8搭載サーバーにアップグレードしませんか? POWER8搭載サーバーで、運用コストを最大50%削減

 

POWER8搭載サーバーは、重要な企業システムを高い信頼性と優れたコスト効率でサポートします。

■ 詳細はこちら↓

http://www-03.ibm.com/systems/jp/power/hardware/power8/

 

[6] YouTubeのIBM Japanチャンネルには日本語動画が充実のラインナップ!

 

ご存知でしたか? YouTubeには、日本IBMのチャンネルが提供されています。

日本語や日本語字幕で、国内外の様々な事例や最新技術情報をお伝えする動画を数多く登録しています。テレビや鉄道車両内の液晶モニターで流れている IBMのCMも、こちらでまとめてご覧頂けます。

■ IBMJapanChannelはこちら↓

https://www.youtube.com/user/IBMJapanChannel

■ IBMSYSTEMSJAPANはこちら↓

https://www.youtube.com/user/IBMSYSTEMSJAPAN

 

[7] 【研修案内】高可用性を学ぶ「PowerHA for AIX計画と導入」 

 

当コースでは、PowerHA V7.1の機能や仕組みを理解し、演習を通して基本的な 構成方法を習得していただけます。

● コース名:PowerHA for AIX計画と導入

● コース・コード:AN610

● 期間:4日間

● 開催期間:2017年05月30日~2017年06月02日

● 開催場所:茅場町 アイ・ラーニング研修センター

● 受講料:180,000円(税抜き)

■ 詳細とお申し込みはこちら↓

https://www.i-learning.jp/products/detail.php?course_code=AN610

 

 

★「IBM AIX ニュース」の配信登録はこちら

 

 

John Boyer (IBM)2017 Strategies For Increasing Customer Engagement

Customer engagement strategies are basically always going to change. The one thing that will never change is the fact that you want to be sure that your customers are always engaged. Advertising and marketing are evolving towards the ever growing need of the digital environment and businesses will need to adapt or die. Customers now first look online for brands and marketers are finding it quite hard to reach their customers since the competition tries to do the exact same thing.

 

Statistics show that the most successful companies in the world have over 70% of their revenue come from the existing customers. Finding the clients that are going to perfectly match services is vital for stability. The really good entrepreneur will always start with the problem that the customer has. Then, a solution is developed. This is what leads to success. How is this done?

 

Behavioral Marketing

 

This is a type of marketing that is not properly understood or even known by most people. Outreach has to be shaped around the consumer behavior noticed at the moment. Behavioral marketing stands out as an emerging and highly effective way to locate highly engaged users. 

 

Behavioral marketing is now gaining a lot of traction because of customer identification, among many others. Marketers gain a way to base strategies on the past behavior of customers. That automatically identifies the inaccessible customers and improves leads quality.

 

 For instance, let us say you promote Solar San Diego. In this case you can use behavioral marketing to see what types of people are most likely going to want to install solar panels in their home so you can target them directly. 

 

Thought Leaders And Influencers

 

A really effective way to boost brand credibility is to establish a working partnership with a person that does have the confidence and the trust of the audience. This is where influencer marketing steps in as a great thing to do. The popularity of influencer marketing is constantly growing and there are countless companies that are now reaching out to agencies or solo influencers that can manage influencer portfolios. Audience is very important in this case but if you do it right, it is a certainty success is going to become reality. 

 

You can also consider gaining some endorsements from existing clients or industry experts, those people that are industry leaders. When people see someone as an expert, brand support is something that becomes reality. Positioning companies or leaders is something that will help a lot on the long run. 

 

Conclusions

 

The two strategies that we mentioned are going to be really big in 2017. However, there are always different ways to increase customer engagement. You can so easily find those options that are the best based on the business you are running at the moment. Make sure that you are always going to learn all that you can about the different options you can take into account. What works great for one firm may not be suitable for yours. Adaptability is always important in business. 

 

 

 

 

John Boyer (IBM)IBM Support with Watson: Submitting an electronic ticket

image
 

IBM Support has integrated a cognitive solution powered by IBM Watson. Let's make our clients wildly successful!

 

See IBMElectronicSupport on YT: https://www.youtube.com/watch?v=zWc73jZeYxc

 

John Boyer (IBM)Configure Conditional Properties to Result in STOP SIGN?

I am trying to setup a Configure Conditional Properties on a column in an Application to validate data entered by the user. In particular I want specific segments of a GL ACCOUNT. So I am doing SUBSTR to validate.

 

In the "Condition is true" & "Condition is false" What Property and Values can I use to make my field get a Stop Sign on the column and a msg show to indicate the value in this column is incorrect? The same functionality that Maximo uses OOB on its own columns???? A doc that explains all these Properties and what their value options are would be great... I am looking in the control-registry.xml but its not much help when you don't know what you are looking for.

 

Using Maximo 7.6. Any help greatly appreciated.

 

Thanks,

Miller

John Boyer (IBM)Four Ways to Transform Your Business Marketing Strategy

marketing automation

In the world of business marketing, the drivers of change are evolving even more quickly than anticipated. Together, the trends collaborate to help define how we grow our businesses. Whether you utilize in-person or digital marketing--it can be difficult to stand out in a noisy world. The new normal is complex and fast. So, what can you do to keep up? Shift your thinking and your strategy.

Start with gratitude

In the hyper-fast global business environment, many organizations seem to forget one key aspect vital to success: gratitude. In essence, gratitude is an expression of appreciation. This feeling can become the foundation of a relationship that goes beyond the initial sale and drives loyalty. When a business stops conveying gratitude for their customers, then the loyalty starts to dissipate as well.

Gratitude can be a tweet, a special discount, a note or even a special event invite sent via a fax server. This makes it surprising and unique. Yet, it conveys--in every way possible--gratitude. You might get more sales through coupons and low prices, but then you become a peddler and not a trusted partner. Here are five ways to quickly and easily express your appreciation:

  • Video. Share videos that convey your gratitude towards your customers and their value to your business.

  • Fax. A thoughtful note, via fax, is a special method for communicating directly with your clients.

  • Twitter. You can retweet remarks. This shows an appreciation for someone's train of thought. You can also give public recognition such as #FollowFriday or #FF. This is a shout out, and another way to show appreciation.

  • Instagram. Repost pictures, share and like to acknowledge your followers and customers.

  • LinkedIn. Recommend someone, congratulate someone on their work anniversary or endorse someone.

Utilize marketing automation

This trend is no longer an option, it is essential. An increasing number of social networks and digital advertising options are making business marketing even more complex. One or two tweets and a few posts just isn't going to cut it in today's global market.

The good news is marketing automation gives you the tools to help manage your content and social media profiles. In fact, you have over 4,000 tools at your disposal. Here's what you should look at:

  • · "All in one" tools.

  • · Tools which grow your social networks

  • · Tools for moderating comments

Why we need artificial intelligence

AI shouldn't be frightening, if you understand how to use it to your benefit. The rise of technology has made us all video producers, photographers and writers sharing content by the billions. As a result, there is an explosion of data.

Here are 15 examples of AI in marketing provided by Econsultancy. To make sense of all the noise, we need machines. Here's why:

1. To collect information. There is just too much data to sort through manually.

2. We need AI to sort through the data and turn it into useful information.

3. Machines help us to take useful insights so that we can turn that into relevant content which our customers find valuable.

Experiment with new tactics

Don't be afraid to experiment. Of course, you want to have a consistent voice and brand, but you need to take risks in order to maintain success. If it doesn't work out, you simply move on to a different strategy.

You can't have the same strategy, decade after decade, otherwise your brand will turn into a dinosaur. It is important to remain flexible and change with the times. Continue experimenting, continue tweaking and stick with what works for the moment.

As you can see, business marketing isn’t a one-size-fits-all solution. You must experiment, show gratitude and modify your strategy to meet the needs of your current market. By studying and utilizing the above tips, you can start to grow your business into new markets and through new channels.

 

ProgrammableWebGoogle Announces Cloud IoT Core to Help Connect and Manage IoT Devices

The Internet of Things has seen significant growth in the last few years and enterprises are looking to manage their large device installations. It is not surprising to note that the big players in the cloud space have been positioning themselves as IoT platform providers, since they have many of the necessary services in place.

John Boyer (IBM)Troubleshooting: WebSphere Applications Agent - Cannot run predefined TCR reports due to the lack of historical table

Problem:
In an agent coexistence environment, when the WebSphere Applications agent is configured for integration with Tivoli Data Warehouse, which is based on IBM Tivoli Monitoring V6 infrastructure, the predefined TCR reports by ITCAM Agent for WebSphere Applications, Request Performance for an Application and Servlet-JSP Performance for an Application, cannot run successfully.

Cause:
Only the common attribute groups to WebSphere Applications agent and WebSphere Applications agent can be exported to Tivoli Data Warehouse in this coexistence environment. These two predefined reports are provided by ITCAM Agent for WebSphere Applications and the report data is based on the Application Health Status attribute group, which is no longer used by the WebSphere Applications agent for historical data collection.

Solution:
The Request Performance for an Application and Servlet-JSP Performance for an Application reported are not supported in the agent coexistence environment where the WebSphere Application agent is exporting historical data to Tivoli Data Warehouse. Do not run these two predefined reports. 

 

Tutorials Point

 

Subscribe and follow us for all the latest information directly on your social feeds:

 

 

image

 

image

 

image

 

 

  

Check out all our other posts and updates:

Academy Blogs: https://goo.gl/U7cYYY
Academy Videos: https://goo.gl/FE7F59
Academy Google+: https://goo.gl/Kj2mvZ
Academy Twitter : https://goo.gl/GsVecH


image

John Boyer (IBM)Troubleshooting - WebSphere Application Agent: GDCRequestListenerInvocationHandler exception in the trace-dc-bcm.log

Problem:

When the application server is stopped, a lot of error messages similar to the following are found in the trace-dc-bcm.log.

<Trace Level="ERROR">
<Time Millis="1476774023989"> 2016-10-18 15:00:23.989+08:00</Time>
<Server Format="IP">SuSE11-02.cn.ibm.com</Server>
<ProductId>CYN</ProductId>
<Component>CYN.trc.toolkit.gdc.GDCRequestListenerInvocationHandler</Component>
<ProductInstance>28610</ProductInstance>
<LogText><![CDATA[The popped request type id does not match the pushed one. The popped request type id is -1, while the pushed request type id is 2]]></
LogText>
<Source FileName="com.ibm.tivoli.itcam.gdc.GDCRequestListenerInvocationHandler" Method="handleRequestEnd()"/>
<Thread>WebContainer : 4</Thread>
<Principal>SuSE11-02/9.115.33.146</Principal>
</Trace>


Cause:

These messages appear because after the application server is stopped, the data collector starts to clear the thread context and the GDC cannot get the request type after the thread context is removed.

 

Solution:

These error messages can be ignored in the case of application server shutdown.

 

Tutorials Point

 

Subscribe and follow us for all the latest information directly on your social feeds:

 

 

image

 

image

 

image

 

 

  

Check out all our other posts and updates:

Academy Blogs: https://goo.gl/U7cYYY
Academy Videos: https://goo.gl/FE7F59
Academy Google+: https://goo.gl/Kj2mvZ
Academy Twitter : https://goo.gl/GsVecH


image

John Boyer (IBM)Availability of IBM Tivoli Netcool Performance Manager 1.4.3

Availability of IBM Tivoli Netcool Performance Manager 1.4.3

Tivoli Netcool Performance Manager 1.4.3 is available for download by the entitled customers from Passport Advantage.

See Download IBM Tivoli Netcool Performance Manager Version 1.4.3 for part numbers and downloadable files.

Tivoli Netcool Performance Manager 1.4.3 is bundled product that contains the following components:

Note: Wireline Component now has an additional Big Data Extension. The Big Data Extension is Hadoop - based, simplified microservice orchestration, configuration, and management system that is supported on Apache Ambari.

What's New?

For all the latest prerequisite and co-requisite software and hardware requirements, see:

Detailed System Requirements for IBM Tivoli Netcool Performance Manager 1.4.3

New features and enhancements in this release

Documentation

IBM Knowledge Center

PDF Documentation

John Boyer (IBM)WebSphere Application Server Performance

It is rightfully said that the websphere application server is considered to be one of the market-leader application server which is commonly used for Java applications. Besides that IBM has started an WebSphere product line and is the base runtime element for various IBM products. Now these products can simply range from the mobile servers like IBM Worklight Server, Operational Decision Management Servers like WebSphere ILOG JRules, Integration servers like WebSphere Enterprise Service Bus and the list goes on.

As these products have the same runtime, the recommendation and tuning tips are the same to an extent.

When Do You Have To Tune Performance?

It is important that the performance tuning has to happen quite early in the project. Also, certain amount of time must be just allocated for factors like stress and load testing. Here the load testing simply means testing the normal app load with regard to the type of requests and expected concurrent request.

Now the stress testing consist of testing outside the required load level and consist of testing through an extended period of time, like for 6 to 8 hours. Keep in mind that during the duration of such test, the goal is simply to measure as well as monitor the performance of the application and the vital behaviour of the servers.

Websphere Application Server Issues

● Failure of Application Server But startServer.log File Is Developed

Here the possible reason on why the problem occurs might be because the Java is corrupted. Also sometimes the issue can be due to the invalid JVM arguments that are often set on the JVM’s application server. Another reason might be due to the crashing of the startServer launcher or the corrupt sequence present in the Javasharedcache.

Sometimes for certain users, it might be due to the java.lang.UnsatisfiedLinkError and also because of the non-root user issues that is caused due to permission issue.

Solutions

To solve this issue, you can simply try to run the command ‘java-fullversion’ from the WAS HOME/java/jre/bin directory. Sometimes there are chances for this particular command to fail, in such case, the Java can lead to issues. Also, sometimes when the server is initiated, there are chances of seeing the messages like “The System is Unable To Find The Specific Path” or “No Public JRE found”.

● Setting Up of Invalid JVM Arguments On The JVM Application Server

Here the major reason for the error to rise is because of the specified Java arguments that are used for the application server JVM because of the requirement of the application or any of the requirements of the stack product. Also another major reason for the issue might be due to the required Java arguments that are applicable to the application server JVM because of the requirement of the application or the presences of the stack product needs.

Solutions

One method is to check out the maximum and minimum heap size values which are always set. Another solution is view or check out the server.xml file of the application server and find out if there are any kinds of specified JVM arguments which are invalid. Suppose if there is an invalid argument, then it is better if you try to remove it and check out when the server begins. Now if the server begins, then it is the major problem with any of the existing JVM properties.

● Corruption Of Java Class Cache

Sometimes there could be a possibility that the server’s Java cache can be corrupted. Here you need to keep in mind that the class cache is nothing but the area containing the shared memory which is of fixed size and also which can be persisti  ng simply above the JVM’s lifetime. In addition, the JVM don’t have the cache and also there is no slave or master JVM concept. Rather than that here, any number of the JVM can write as well as read to the concurrent cache.

Solution

Now you need to run the command WAS_HOME\profiles\profile_name\bin>clearClassCache.bat/sh command to just clear and remove the Java cache of the current issue of the WebSphere Application Server. But keep in mind that if you are deleting the Java cache right from the system level it will just delete the cache of the each instance of the Java.

Conclusion

No doubt, the troubleshooting performance issues can be even time consuming and tedious. The above procedures can provide a certain details on some of them and how to avoid them. 

Amazon Web ServicesNew AWS Training and Certification Portal

AWS Training and Certification can help you get more out of the AWS Cloud.

The new AWS Training and Certification Portal allows you to access and manage your training and certification activities, progress, and benefits – all in one place:

Previously, you had to rely on multiple websites to find and manage training and certification offerings. Now you have a central place where you can find and enroll in AWS Training, register for AWS Certification exams, track your learning progress, and access benefits based on the AWS Certifications you have achieved. This makes it easier for you to build your AWS Cloud skills and advance toward earning AWS Certification.

You can create a new account or simply log in with your existing Amazon account. If you already have an AWS Training account, you can migrate your existing AWS Training history into this new primary account. If you are an APN Partner, you can simply sign in using your APN Portal credentials. If you also had a Webassessor account, be sure to visit the Certification tab and merge this account too.

Once you are set up, you can rely on the AWS Training and Certification Portal to be your place to find the latest AWS training and certification offerings, built by AWS experts.

To learn more, read the AWS Training and Certification Portal FAQs.

Jeff;

 

Amazon Web ServicesAWS Knowledge Center Video: Preparing to Send a Snowball Back to AWS

Do you know about the AWS Support Knowledge Center? It contains answers to some of the most frequently asked questions and other requests asked of our support team. Many of the answers even include a short video that serves to illustrate the process or to provide additional info on the topic.

For example, I recently stepped in to our studio and created a new video called Preparing to Send a Snowball Back to AWS. In 90 action-packed seconds, this video shows you how to power down the Snowball, stow the cables, lock the back panel, and verify that the proper return address is on the built-in display:

Visit the Knowledge Center to see other videos and to find answers to other questions that you might have about AWS.

Jeff;

 

John Boyer (IBM)Maximo - How to configure Service Layers in Spatial 7.6

image 

Maximo - How to configure Service Layers in Spatial 7.6: A walk through of configuring service layers in Maximo 7.6 by Leandro Pastore

 

<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/Kl_pc_YbC0U" width="560"></iframe>

 

 

 

Jeremy Keith (Adactio)Sponsoring Patterns Day

It didn’t take long for Patterns Day to sell out (in the sense of the tickets all being sold; not in the sense of going mainstream and selling out to The Man).

I’m very pleased about the ticket situation. It certainly makes my life easier. Now I can concentrate on the logistics for the day, without having to worry about trying to flog tickets AKA marketing.

But I also feel bad. Some people who really, really wanted to come weren’t able to get tickets in time. This is usually because they work at a company where to have to get clearance for the time off, and the cost of the ticket. By the time the word came down from on high that they’ve got the green light, the tickets were already gone. That’s a real shame.

There is, however, a glimmer of hope on the horizon. There is one last chance to get tickets for Patterns Day, and that’s through sponsorship.

Here’s the deal: if I can get some things sponsored (like recordings of the talks, tea and coffee for the day, or an after-party), I can offer a few tickets in return. I can also offer your logo on the Patterns Day website, your logo on the slide between talks, and a shout-out on stage. But that’s pretty much it. I can’t offer a physical stand at the event—there just isn’t enough room. And I certainly can’t offer you a list of attendee details for your marketing list—that’s just wrong.

In order of priority, here’s what I would love to get sponsored, and here’s what I can offer in return:

  1. £2000: Sponsoring video recordings of the talks—4 tickets. This is probably the best marketing opportunity for your company; we can slap your logo at the start and end of each video when they go online.
  2. £2000: Sponsoring tea and coffee for attendees for the day—4 tickets. This is a fixed price, set by the venue.
  3. £2000+: Sponsoring an after-party near the conference—4 tickets. Ideally you’d take care of booking a venue for this, and you can go crazy decking it out with your branding. Two pubs right across from the conference venue have upstairs rooms you can book: The Joker, and The Hare And Hounds.

There you have it. There’s no room for negotiation, I’m afraid, but I think they’re pretty good deals. Remember, by sponsoring Patterns Day you’ll also have my undying gratitude, and the goodwill of all my peers coming to this event.

Reckon you can convince your marketing department? Drop me a line, let me know which sponsorship option you’d like to snap up, and those four tickets could be yours.

John Boyer (IBM)Laravel: It’s the Most Popular PHP Framework for a Reason

image

Five years ago, it seemed that PHP was on “life support.” Then quite surprisingly, new frameworks began to emerge, and PHP became “Lazarus.”

One of those frameworks was Laravel, developed by Taylor Otwell, and because of its simple yet elegant syntax, building apps with PHP suddenly became fun and popular. In terms of general benefits of Laravel, it is worth mentioning the following:

  • Free and Open Source
  • MVC Model

  • Modular Packaging System – Dedicated Dependency Manager (Composer)

  • Utilities for App deployment and Maintenance

  • Suitable for Beginning-Advanced Programmers

  • The largest Community Size (40K) of the Four Most Popular PHP Frameworks

  • A Documentation Website (Laravel.com) and Great Video Tutorials (Laracasts.com).

But the popularity of Laravel for developers really lies in the fact that all of the common tasks (repeated across projects) can be solved easily, so that they can move onto the creative tasks of writing custom functions faster. Of course, this means that delivery time is shorter and more cost-effective for the client.

Features and Benefits That Developers Will Love

Authentication and Authorization Systems

On the list of web owners’ important concerns is ensuring that all users are verified and that no unauthorized users gain access to resources (secured/paid). Laravel makes authentication easy and fast, because everything is already configured. And what’s more, Laravel offers a simple method of organizing authorization logic and controlling user access to resources.

Mail Service Integration

Laravel has a simple and very clean API over SwiftMailer library. It also offers drivers for Amazon SES, Mailgun, Mandrill, SMTP, and others, allowing sending mail through local or cloud based services. There is also support for sending notifications via multiple delivery channels, such as SMS and Slack.

Security

Laravel handles security within its framework, by using hashed and salted passwords – passwords will never save as plain text in the database. It includes a Bcrypt algorithm for encryption and, as well, protects against SQL injection via prepared SQL statements.

Kostyantyn Bondar, CEO of DarinX, a web and mobile app development agency, specializing in innovative software products notes that:

“When developing any application, security is paramount. The biggest threats are SQL injection, cross-site scripting, and cross-site request forgery. Laravel is certainly secure. The codebase is exceptionally guarded – code that has been vetted by a number of people. We can say firsthand that having these security features up front is critical. Trying to fix vulnerabilities after the deployment can cost as much as 30X more.”

Artisan

Developers interact with the Laravel framework by using a command line that will handle the project environment. Laravel has a command line tool – Artisan. This is what allows developers to perform most of those tedious and repetitive tasks, rather than having to perform them all manually.

Artisan can be used to create skeleton code along with the database architecture, build migrations. Developers can create their own commands, and perform tests through Artisan.

Error and Exception Handling

User satisfaction can be impacted by how an app deals with errors. If, for example, a user enters information in a form and then clicks a submit button, only for that function not to work, there is frustration. Most often, the error is the user’s fault, having failed to fill in a form field correctly. When this happens, an error message must be provided to the user explaining what needs to be corrected. Often, developers have to code these functions manually. Not with Laravel, however. Exception and error handling is already configured. Further, it is integrated with Monolog library – there is thus support of solid log handlers.

Speed

Speed is critical for user experience. One of the ways to enhance speed is through integration with the backend caching. Laravel supports several cache backends, including Redis and Memcached. This support is built in, so no manual integration has to be coded.

Testing Tasks

Unit testing must occur throughout any app development, and Laravel makes this easy and it is often far better than manual testing. Support for testing (PHPUnit) is included and an .xml file is already set up. There are simple methods for developers to mimic user behavior and test everything from requests to filling out forms and more.

Routing

Within an app, users will click links and assume they will be taken (routed) to what they want – perhaps a product description, or a subscription form. Effective URL routing is critical for any app, Laravel routes are all defined in the automatically loaded app/Http/routes.php file, and developers can easily define app routes.

Business Logic Code and Presentation Code Already Separated

The great thing about this is that layout designers can change a web page appearance without having to go to the developer. Because it is an MVC framework, the separation already exists.

Message Queue System

High traffic means more requests. If an app has not been configured for these events there is the risk that the web server will shut down. Data will be lost. To prevent this, many developers us a message queue system as a part of load balancing. Thus, the system will automatically delay, for example, a scheduled email for a later time, if too many requests are coming in. Laravel provides for this through a unified API that crosses multiple queue backends.

Configuration and Management of Task Schedules

Many tasks may need to be scheduled – a mass email, a cleanup of database tables, etc. Traditionally, developers have had to generate a Cron entry for each scheduled task. No longer. With Laravel’s command scheduler, only a single Cron entry is required.

External Packages

These are easily installed through Composer.

These are only 12 features of Laravel that simplify a developer’s life. Once a developer really gets into using it, s/he will discover many more benefits that will make building an app easy and fast. Clients are happier in this environment.

The big plusses of Laravel include its large collaborative community, it documentation website, and tutorials. Probably most attractive, though, is the fact that basic tasks common to all projects are already configured, leaving developers to focus on custom functions of individual clients.

 

John Boyer (IBM)Tai Lopez and The Art of Business Mentorship

We have all the information we need at our fingertips today. If you have a question, all you need to is to look for it in any search engine, and will get hundreds of answers in return. Access to technology allows new business owners and entrepreneurs to find solutions to problems and assistance from professionals online. They don’t need to read through entire books to get the information they need. That’s both an advantage and a disadvantage, and Tai Lopez recognized it.

 

Tai Lopez started out in the business world as almost every entrepreneur does. His initial ventures were failures that taught him valuable lessons about the world of business and how difficult it is to set up a new company. Somewhere along the way, he earned a certificate in financial planning and started to apply what he learned from his past experiences to real life.

 

He decided to share his experiences with others and help new entrepreneurs find their own way to success. Today, Tai Lopez has a massive following of business owners and entrepreneurs. The investor, advisor, and entrepreneur is very active on social media platforms and regularly posts YouTube podcasts, videos, and inspirational talks. He reaches around 1.4 million people from 40 different countries and attracts new readers regularly.

 

Tai Lopez has started the world’s largest bookclub and is a source of valuable information and content. He strives to read a new book every day and develop a deeper understanding of how business works. He believes in something called- creating VRIN content, which stands for value, rare, inimitable, and non-substitutable.

 

His personal experiences, travels, and tendency to read books have given him a unique perspective on life and the business world. He has made himself invaluable and has moved ahead of the competition to provide good information to his audience.

 

An Interesting Background Story

 

Most entrepreneurs go through unique struggles and challenges as they set up their business. Their life seems adventurous as they overcome challenges in their own way and find their own path towards success. Tai Lopez’s story is just as interesting because it’s rare for someone to promote book reading and mentorship so avidly. He believes that entrepreneurs should absorb the knowledge and wisdom of mentors and learn from their experiences.

 

Lopez grew up in the care of a poor mother and decided early on that he needed to learn how to succeed from people before him. He wanted to absorb the wisdom of successful entrepreneurs and businessmen from all over the world so he chose to travel. He reached out to several successful people and the world’s best minds and laid the foundation for his first successful series “The 67 Steps.”

 

According to him, a good life is a combination of health, wealth, happiness, and love. These four aspects are the pillars of success and it’s important to maintain the balance in them. He used social media to spread his brand, networked to expand his business, and created value to increase user engagement and that led to his incredible success.  

John Boyer (IBM)Fundamental Introduction to WordPress

WordPress is a CMS (Content Management System) for website development that was at first outlined as a blogging platform. Today WordPress can be conveyed for an assortment of various sites. WordPress is utilized for online journals, business destinations, photography locales, blog setup, and much more. Organizations that utilize WordPress range from little organizations to huge partnerships firms.

 

There are two renditions of WordPress, the free and the self-hosted adaptation. For this situation, we are alluding to self-hosted WordPress destinations. These locales live on your host's server, and not with WordPress.org. The primary focal points of WordPress are that it is open source, and in the event that you can dream it, somebody presumably as of now coded a module for it. There are no restrictions, to the usefulness of a WordPress site.

 

What's more, there are no deficiencies of free and paid for formats. There is something for each taste or need. A portion of the higher end formats are extremely mind boggling and are wonderfully planned. Free outlines and modules can be downloaded straightforwardly through WordPress. There are commercial centers for paid WordPress formats and modules.

 

WordPress is known to be steady and solid. It is likewise secure. Extra security modules can be downloaded and introduced. WordPress sparkles with its easy to use backend. Altering and including substance is a breeze. The substance can be pre-composed and booked for later discharges - An incredible approach to get ready posts.

 

WordPress is not difficult to learn. There are loads of books, instructional exercises and recordings accessible over the internet. Numerous assets are free. What's more, there are numerous discussions over forums where a client can discover answers, to any specialized issue that can emerge.

 

Client settings permit to set diverse levels of authorizations for clients, which is particularly convenient for bigger organizations or sites. It is anything but difficult to discover help and backing for WordPress locales. It is likely the most utilized Content Management System out there.

 

Setting up a website with WordPress is no issue, most if not all facilitating organizations. Most Web Hosts offer a disentangled establishment process in their backend. WordPress offers the client the alternative to deal with different locales with various spaces. This is an extraordinary contrasting option to multi-site facilitating.

 

Search engine bots index WordPress easily. There are numerous SEO (Website streamlining) modules accessible to enhance the web page in the search.

An extraordinary element that is frequently neglected is that configuration layouts can be changed. This allows the site proprietor to upgrade the destinations looks not far off, without touching the current substance.

 

WordPress is unquestionably the top decision in the event when it comes to substance administration frameworks for website hosting. 

John Boyer (IBM)Expert with 10 years of experience to compare web hosting

To choose the best of anything, you should seek the views of someone who knows the subject and has practiced.

So to compare web hosting services, we should listen to someone with a background in web hosting industry. What about the views of an expert with 10 years of experience in Internet marketing, who has used a number of different services?

Here are the key areas to consider

  • Support
  • Resource allocation
  • Website Features
  • Value for money

Web Hosting Support

One of the key areas for decision - making Web hosting is the support area. Good support is critical if you want your website to succeed. Not because the provider is constantly failing, but when you want your site to do something and need help to do so.

Resource allocation

A website requires two great resources to run. Disk space and bandwidth. Disk space is needed to store the files on the server. It is easier to calculate because you can work with the size of the files being loaded. Bandwidth is a monthly allocation of transfer space. In other words, when your site is being used, it is the time that your server performs while information is transferred.

Website Features

The website features can be divided into two categories when you compare web hosting service. One is the hardware used for the server on which your site will be hosted. You want your site to be reliable, and of course, a top hardware will help.

The second category is the ability of the software, such as scripts. As time goes on, you may want to improve your site with the use of scripts such as CGI and PHP, so it is important that when comparing Internet servers, see if you can run CGI scripts and PHP.

Value for money

At the end of the day, the price relationship - when compared quality website is a balance of all this against the amount charged for the services offered. This is often a matter of personal judgment, based on your own needs.

So what are the best options when you ask an expert of Internet marketer to compare hosting providers? Perform evaluation of web hosting service providers.

You need a service from Web hosting professional for your company or business? Meet the Best Hosting Service that is fast and reliable and let you create a successful website

John Boyer (IBM)How to enable multiple repository support in 3rd party integration with IBM Docs 2.0 CR2 and above

IBM Docs2.0 CR2 and above will support multiple repository in Editor Application and Viewer Application with 3rd party integration. Then one IBM Docs instance can integrate with multiple 3rd party applications concurrently. For example, two or more Box applications can connect to same IBM Docs instance.

Editor Application:

1. To support multiple repository in Editor Application, modify concord-config.json, and add the configure of following three classes for the supported repositories. Make sure the “id” is unique for each supported repository.

  • com.ibm.docs.directory.external.ExternalDirectory
  • com.ibm.docs.repository.external.rest.ExternalRestRepository
  • com.ibm.docs.authentication.filters.ExternalAuth

Following is an example to support two Box apps in IBM Docs Editor Application.

  • Configuration of com.ibm.docs.directory.external.ExternalDirectory. One “id” is box1 and another is box2.

{

              "config": {

                "s2s_token": "",

                "s2s_method": "oauth2",

                "keys": {

                  "org_id_key": "org_id",

                  "photo_url_key": "avatar_url",

                  "url_query_key": "ID",

                  "display_name_key": "name",

                  "name_key": "name",

                  "id_key": "id",

                  "email_key": "login"

                },

                "j2c_alias": "",

                "profiles_url": "https://api.box.com/2.0/users/{ID}",

                "token_key": "",

                "docs_callback_endpoint": "https://docs.test.com./docs/driverscallback",

                "oauth2_endpoint": "https://app.box.com/api/oauth2/token",

                "current_user_profiles_url": "https://api.box.com/2.0/users/me",

                "onbehalf_header": "",

                "customer_id": "box1.com"

              },

              "id": "box1",

              "class": "com.ibm.docs.directory.external.ExternalDirectory"

            },

            {

              "config": {

                "s2s_token": "",

                "s2s_method": "oauth2",

                "keys": {

                  "org_id_key": "org_id",

                  "photo_url_key": "avatar_url",

                  "url_query_key": "ID",

                  "display_name_key": "name",

                  "name_key": "name",

                  "id_key": "id",

                  "email_key": "login"

                },

                "j2c_alias": "",

                "profiles_url": "https://api.box.com/2.0/users/{ID}",

                "token_key": "",

                "docs_callback_endpoint": "https://docs.test.com/docs/driverscallback",

                "oauth2_endpoint": "https://app.box.com/api/oauth2/token",

                "current_user_profiles_url": "https://api.box.com/2.0/users/me",

                "onbehalf_header": "",

                "customer_id": "box2.com"

              },

              "id": "box2",

              "class": "com.ibm.docs.directory.external.ExternalDirectory"

            }

  • Configuration of com.ibm.docs.repository.external.rest.ExternalRestRepository. One “id” is box1 and another is box2.

            {

              "config": {

                "s2s_token": "",

                "s2s_method": "oauth2",

                "repository_home": "https://app.box.com",

                "token_key": "",

                "media_meta_url": "https://api.box.com/2.0/files/{ID}",

                "docs_callback_endpoint": "https:// docs.test.com /docs/driverscallback",

                "media_get_url": "https://api.box.com/2.0/files/{ID}/content",

                "oauth2_endpoint": "https://app.box.com/api/oauth2/token",

                "j2c_alias": "",

                "onbehalf_header": "",

                "customer_id": "box1.com",

                "media_set_url": "https://upload.box.com/api/2.0/files/{ID}/content"

              },

              "id": "box1",

              "class": "com.ibm.docs.repository.external.rest.ExternalRestRepository"

            },

            {

              "config": {

                "s2s_token": "",

                "s2s_method": "oauth2",

                "repository_home": "https://app.box.com",

                "token_key": "",

                "media_meta_url": "https://api.box.com/2.0/files/{ID}",

                "docs_callback_endpoint": "https://docs.test.com/docs/driverscallback",

                "media_get_url": "https://api.box.com/2.0/files/{ID}/content",

                "oauth2_endpoint": "https://app.box.com/api/oauth2/token",

                "j2c_alias": "",

                "onbehalf_header": "",

                "customer_id": "box2.com",

                "media_set_url": "https://upload.box.com/api/2.0/files/{ID}/content"

              },

              "id": "box2",

              "class": "com.ibm.docs.repository.external.rest.ExternalRestRepository"

            }

  • Configuration of com.ibm.docs.authentication.filters.ExternalAuth. One “id” is box1 and another is box2.

{

              "config": {

                "customer_id": "box1.com",

                "s2s_method": "oauth2",

                "bypass_sso": "true",

                "oauth2_authorize_endpoint": "https://account.box.com/api/oauth2/authorize"

              },

              "id": "box1",

              "class": "com.ibm.docs.authentication.filters.ExternalAuth"

            },

            {

              "config": {

                "customer_id": "box2.com",

                "s2s_method": "oauth2",

                "bypass_sso": "true",

                "oauth2_authorize_endpoint": "https://account.box.com/api/oauth2/authorize"

              },

              "id": "box2",

              "class": "com.ibm.docs.authentication.filters.ExternalAuth"

            }

2. If use OAuth2 has the s2s method, need to make sure the customer_id is unique also. “customer_id” will be used as unique key in Editor DB table CUSTOMER_CREDENTIAL. Use following commands to add OAuth credential to Editor DB.

On Editor server, go to folder ${WAS_INSTALL_ROOT}/profiles/AppSrv1/bin and run the following command:

  • Linux: ./wsadmin.sh -lang jython -username xx -password xx -f ${PATH}/customer_credential_mgr.py -action add -customer customer_id -key key -value "value"
  • Windows: wsadmin.bat -lang jython -username xx -password xx -f ${PATH}/customer_credential_mgr.py -action add -customer customer_id -key key -value "value"

where:

  • customer_credential_mgr.py is located in the IBM Docs Editor installation package, ${PATH} is the location of the file, for example, CN30NML.zip\IBMConnectionsDocsrepo\ native\DocsApp_2.0.0.zip\installer\docs\tasks\ (extract the necessary files before using it)
  • customer_id is the value specified in external customer_id in ${WAS_INSTALL_ROOT}/profiles/AppSrv1/config/cells/{cell}/IBMDocs-config/concord-config.json.
  • key could be oauth2_client_id or oauth2_client_secret and value should be the one that the repository server assigned to Editor application.

Note: The customer_id and key limitation is 256 bytes, and maximum value is 2048 bytes.

For example:

./wsadmin.sh -lang jython -username xx -password xx -f customer_credential_mgr.py -action

add -customer box1.com -key oauth2_client_id -value

"l7xxf61984f99f404575a781d47c6bfebdca"

./wsadmin.sh -lang jython -username xx -password xx -f customer_credential_mgr.py -action

add -customer box1.com -key oauth2_client_secret -value

"cc692ce34451418e86d9b231ee34af65"

 

Viewer Application:

1. To support multiple repository in Viewer Application, modify viewer-config.json, and add the configure of following three classes for the supported repositories. Make sure the “id” is unique for each supported repository.

  • com.ibm.docs.viewer.external.directory.ExternalDirectory
  • com.ibm.docs.viewer.external.repository.rest.ExternalRestRepository
  • com.ibm.docs.viewer.external.auth.ExternalAuth

Following is an example to support two Box apps in IBM Docs Viewer Application.

  • Configuration of com.ibm.docs.viewer.external.directory.ExternalDirectory. One “id” is box1 and another is box2.

{

              "config": {

                "s2s_token": "",

                "s2s_method": "oauth2",

                "keys": {

                  "org_id_key": "org_id",

                  "photo_url_key": "avatar_url",

                  "url_query_key": "ID",

                  "display_name_key": "name",

                  "name_key": "name",

                  "id_key": "id",

                  "email_key": "login"

                },

                "j2c_alias": "",

                "profiles_url": "https://api.box.com/2.0/users/{ID}",

                "token_key": "",

                "docs_callback_endpoint": "https://docs.test.com./viewer/driverscallback",

                "oauth2_endpoint": "https://app.box.com/api/oauth2/token",

                "current_user_profiles_url": "https://api.box.com/2.0/users/me",

                "onbehalf_header": "",

                "customer_id": "box1.com"

              },

              "id": "box1",

              "class": " com.ibm.docs.viewer.external.directory.ExternalDirectory "

            },

            {

              "config": {

                "s2s_token": "",

                "s2s_method": "oauth2",

                "keys": {

                  "org_id_key": "org_id",

                  "photo_url_key": "avatar_url",

                  "url_query_key": "ID",

                  "display_name_key": "name",

                  "name_key": "name",

                  "id_key": "id",

                  "email_key": "login"

                },

                "j2c_alias": "",

                "profiles_url": "https://api.box.com/2.0/users/{ID}",

                "token_key": "",

                "docs_callback_endpoint": "https://docs.test.com/docs/driverscallback",

                "oauth2_endpoint": "https://app.box.com/api/oauth2/token",

                "current_user_profiles_url": "https://api.box.com/2.0/users/me",

                "onbehalf_header": "",

                "customer_id": "box2.com"

              },

              "id": "box2",

              "class": " com.ibm.docs.viewer.external.directory.ExternalDirectory "

            }

  • Configuration of com.ibm.docs.viewer.external.repository.rest.ExternalRestRepository. One “id” is box1 and another is box2.

            {

              "config": {

                "s2s_token": "",

                "s2s_method": "oauth2",

                "repository_home": "https://app.box.com",

                "token_key": "",

                "media_meta_url": "https://api.box.com/2.0/files/{ID}",

                "docs_callback_endpoint": "https:// docs.test.com /viewer/driverscallback",

                "media_get_url": "https://api.box.com/2.0/files/{ID}/content",

                "oauth2_endpoint": "https://app.box.com/api/oauth2/token",

                "j2c_alias": "",

                "onbehalf_header": "",

                "customer_id": "box1.com",

                "media_set_url": "https://upload.box.com/api/2.0/files/{ID}/content"

              },

              "id": "box1",

              "class": " com.ibm.docs.viewer.external.repository.rest.ExternalRestRepository "

            },

            {

              "config": {

                "s2s_token": "",

                "s2s_method": "oauth2",

                "repository_home": "https://app.box.com",

                "token_key": "",

                "media_meta_url": "https://api.box.com/2.0/files/{ID}",

                "docs_callback_endpoint": "https://docs.test.com/viewer/driverscallback",

                "media_get_url": "https://api.box.com/2.0/files/{ID}/content",

                "oauth2_endpoint": "https://app.box.com/api/oauth2/token",

                "j2c_alias": "",

                "onbehalf_header": "",

                "customer_id": "box2.com",

                "media_set_url": "https://upload.box.com/api/2.0/files/{ID}/content"

              },

              "id": "box2",

              "class": " com.ibm.docs.viewer.external.repository.rest.ExternalRestRepository "

            }

  • Configuration of com.ibm.docs.viewer.external.auth.ExternalAuth. One “id” is box1 and another is box2.

{

              "config": {

                "customer_id": "box1.com",

                "s2s_method": "oauth2",

                "bypass_sso": "true",

                "oauth2_authorize_endpoint": "https://account.box.com/api/oauth2/authorize"

              },

              "id": "box1",

              "class": " com.ibm.docs.viewer.external.auth.ExternalAuth "

            },

            {

              "config": {

                "customer_id": "box2.com",

                "s2s_method": "oauth2",

                "bypass_sso": "true",

                "oauth2_authorize_endpoint": "https://account.box.com/api/oauth2/authorize"

              },

              "id": "box2",

              "class": "com.ibm.docs.viewer.external.auth.ExternalAuth"

            }

2. If use OAuth2 has the s2s method, need to create j2c_alias in WAS console for each repository. The j2c_alias’s name should be viewerAuth_<id>. For example, viewerAuth_box1.  “User ID” is oauth2_client_id, and “Password” is oauth2_client_secret.

 

John Boyer (IBM)Things to know before installing Sametime Limited Use 9.0

1. What's the WAS iFix requirement before installing Sametime System Console?
A. 11 iFixes For WAS has been superseded by Fix pack 3 for Websphere Application Server 8.5.5

For more details, refer to Technote #1963814: http://www-01.ibm.com/support/docview.wss?uid=swg21963814

2. Should Sametime Community Servre must be installed on a different machine?
A. No, Community server can be installed on same machine with WAS/SSC.

3. Is new DB2 server required or can be created on existing db2 10.5 instance?
A. No, just need to create STSC database on existing instance

4. If Starting Domino by Service. How to check status?
A. Please take a look at Domino\Data\IBM_TECHNICAL_SUPPORT\console.log

When you see string like : "Sametime: Server startup successful. "  it means Sametime server has been started.

5. Why should admin create full-text index and how to create Full-text Index?

A. Creating full text index can avoid user from encountering performance issue when looking up user.

Please have Domino admin open Domino directory (names.nsf) on the LDAP server,

Click "View" > "Search in this view"

Click "Index" and click OK to create full-text index.

John Boyer (IBM)IBM Doc Buddy - instant help with product error messages right from your smartphone

IBM® Doc Buddy, a no charge mobile application that enables retrieving support documentation for IBM z Systems products, can help you resolve problems faster and improves the total information experience.

After you install the application on your smart phone or tablet, you can search for the error messages issued from IBM z Systems products within seconds!

IBM Doc Buddy provides the following features:

  • The application enables looking up message documentation without Internet connections after the initial setup. To download z/TPF message documentation, select the Menu icon on the left corner, select the Components tab, search z/TPF in the Components page, and download the versions of z/TPF message documentation that you want. After you download z/TPF message documentation, you can retrieve the messages by entering the message IDs without Internet connections.

imageimage

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  •  The application supports online search. You can get instant search results if you are connected to the Internet. The application enables the online search by default in Settings. The application includes links to the relevant product Support Portals and contact information. After reading one message, you can access the Support Portal of the product that you are working with or call a relevant contact for further debugging information.

imageimage

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • The application provides an overview of features for first-time users of the application to quickly get started. After you install the application, you can quickly glance through the handy 3-panel display to understand the key features of IBM Doc Buddy.

imageimageimage

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Contact IBM Doc Buddy support at sptast@cn.ibm.com if you have more questions or concerns. More information about IBM Doc Buddy is available on https://ibmdocbuddy.mybluemix.net/. Scan the QR code to download and install the application.

image

 

 

John Boyer (IBM)User function return character

Hi,

 

Is there a reason that user function returns only double. I'd find it very usefull if it could return characters.

I'd use it e.g. of having values for some of the run-time parameters in a separate "run definition file".

 

Sami

John Boyer (IBM)IBM BigFix Compliance: New CIS Checklist for SUSE Linux Enterprise Server 12, published 2017-05-22

Product: 
IBM BigFix Compliance


Title: 
New CIS Checklist for SUSE Linux Enterprise Server 12


Security Benchmark: 
CIS SUSE Linux Enterprise Server 12 Benchmark, V2.0.0


Published Site: 
CIS Checklist for SUSE 12, site version 2
(The site version is provided for air-gap customers.)


Details:
·    Both analysis and remediation checks are included
·    Some of the checks allow you to use the parameterized setting to enable customization for compliance evaluation. Note that parameterization and remediation actions require the creation of a custom site.  

 

Actions to take:
·    To subscribe to the above site, you can use the License Overview Dashboard to enable and gather the site. Note that you must be entitled to the BigFix Compliance product and you must be using IBM BigFix version 9.2 and later. 

 

More information: 
To know more about the IBM BigFix Compliance SCM checklists, please see the following resources:
·    IBM Developer Works:
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli%20Endpoint%20Manager/page/SCM%20Checklists

·    Checklist Release Announcements: 
·    IBM BigFix Blog:
https://www.ibm.com/developerworks/community/blogs/a1a33778-88b7-452a-9133-c955812f8910?lang=en

·    IBM BigFix Forum:
https://forum.bigfix.com/c/release-announcements/compliance

We hope you find this latest release of SCM content useful and effective. Thank you!
 
 -- The IBM BigFix Compliance team

John Boyer (IBM)Missing MESA for custom service/adapter development? Try Apache Maven

IBM planned to withdraw Mesa Editor and Studio, a services development kit and it will enter retired status as on the next modification or major release (after v5.2.6). I'm aware that there's a big portion of customers / software developers out there who fell in love with MESA Studio SDK and are looking for MESA alternatives for extending IBM Sterling B2B Integrator for their complex file transfer requirements. Although there are no as-is alternatives to MESA in the market at the moment but Apache Maven can help customers / developers in providing important features and simplifies custom service development.

 

I felt there is a need for "Hello, world!" program which will help the customers / software developers to get acquainted with the MESA Studio SDK alternative. Since, it is a hello world program - lets' take a simple scenario that retrieves a service parameter and updates process data. The example I have used is very simple but it still illustrates how to write and build a custom service using Apache Maven/Eclipse. IBM Software Services may be engaged for developing complex customized java extensions to IBM Sterling B2B Integrator, and to minimize risks and to maximize ROI.

 

1) Prerequisities

1.1) IBM JDK 1.7

1.2) Eclipse - Neon Release (4.6.0)

1.3) IBM Sterling B2B Integrator v5.2.6.x

 

2) Create a maven project

image

 

image

 

image

 

image

 

 

3) Update java build path with below jars

image

 

4) Create local-maven-repo (local repository),folder structures(servicedefs, src->main->assembly)

image

 

 

5) HelloWorld.java

Create the HelloWorld.java application file. The file will be created in the directory HelloWorld/src/com.ibm.custom/com/ibm/custom/. Copy and paste the code below into the HelloWorld.java application. “processData(..)” is the entry point for the custom service.

 

image

 

6) HelloWorldService.xml

Create the HelloWorldService.xml file. The file will be created in the directory HelloWorld/resources/servicedefs/. Copy and paste the code below into the HelloWorldService.xml file. This file contains the definition of service and parameters.

 

image

 

7) Maven Assembly Plugin - default.xml

Create the Maven Assembly Plugin - default.xml file. The file will be created in the directory HelloWorld/src/main/assembly/. Copy and paste the code below into the default.xml file.

image

 

8) pom.xml

Copy and paste the code below into pom.xml

 

imageimage

image

 

 

9) HelloWorld-0.1-bin.jar

9.1) Check for compilation errors.

9.2) Right-click on pom.xml->Run As->Maven install which creates service jar – HelloWorld-0.1-bin.jar in "target" folder.

 

image

image

 

 

Acknowledgements

Thanks to Bharat Balothia, Senior Solution Architect for giving me an alternative idea to MESA Studio SDK to speed up the custom service development.

 

Disclaimer
Please do not cite, circulate, or copy without permission of the author. The views expressed are solely my own and do not express the views or opinions of my employer. I shall not be accountable for and does not accept any liability or responsibility whatsoever for any inaccuracies, omissions, errors, misleading information, loss or damage howsoever arising (including without limitation, incidental, punitive, exemplary, special or consequential damages, loss of profit or damages resulting from lost data or business interruption), be it by negligence or otherwise, or expense resulting from:-
                        - Using the information and contents of this article whether with or without authorization;
                        - Relying on the information and contents of this article, whether downloaded or not;
                        - The performance, operation, functionality, non performance, unavailability, inaccessibility, or corruption of this article;
                        - Refer vendor specific documentation for any kind of latest information;

 

John Boyer (IBM)Interim Fix for Maximo Integration Framework (MIF) 7.6.0.5 Build 005 now available

The Interim Fix for Maximo Integration Framework (MIF) 7.6.0.5 Build 005 is now available.
IF005 (MIF_7605_IFIX.20170509-1433.im.zip) is cumulative of all prior Interim Fixes for Maximo Integration Framework (MIF) 7.6.0.5.
Here is the location to download this interim fix:
http://www.ibm.com/support/fixcentral/swg/quickorder?parent=ibm%7ETivoli&product=ibm/Tivoli/IBM+Maximo+Asset+Management&release=7.6.0.5&platform=All&function=fixId&fixids=7.6.0.5-TIV-MIF-IFIX005&includeSupersedes=0&source=fc

 

 

ListofAPARS.xlsx|View Details

John Boyer (IBM)Interim Fix for Maximo for Oil and Gas 7.6.1.0 Build 007 now available

The Interim Fix for Maximo for Oil and Gas 7.6.1.0 Build 007 is now available.
IF007 (7.6.1.0-TIV-MAMOG-IF007) is cumulative of all prior Interim Fixes for Maximo for Oil and Gas 7.6.1.0.
Here is the location to download this interim fix:
http://www.ibm.com/support/fixcentral/swg/quickorder?parent=ibm%7ETivoli&product=ibm/Tivoli/Maximo+for+Oil+and+Gas&release=7.6.1.0&platform=All&function=all&source=fc

 

 

readme_hse_oilandgas_7.6.1.0_interim_fixes.txt|View Details

John Boyer (IBM)Interim Fix for Maximo Health, Safety and Environment Manager 7.6.1.0 Build 007 now available

The Interim Fix for Maximo Health, Safety and Environment Manager 7.6.1.0 Build 007 is now available.
IF007 (7.6.1.0-TIV-MAMHSE-IF007) is cumulative of all prior Interim Fixes for Maximo Health, Safety and Environment Manager 7.6.1.0.
Here is the location to download this interim fix:
http://www.ibm.com/support/fixcentral/swg/quickorder?parent=ibm%7ETivoli&product=ibm/Tivoli/Maximo+Health,+Safety+and+Environment+Manager&release=7.6.1.0&platform=All&function=all&source=fc

 

 

readme_hse_oilandgas_7.6.1.0_interim_fixes.txt|View Details

John Boyer (IBM)Interim Fix for Maximo Asset Management 7.6.0.7 Build 002 now available

The Interim Fix for Maximo Asset Management 7.6.0.7 Build 002 is now available.
IF002 (TPAE_7607_IFIX.20170505-1619.im.zip) is cumulative of all prior Interim Fixes for Maximo Asset Management 7.6.0.7.
Here is the location to download this interim fix:
http://www.ibm.com/support/fixcentral/swg/quickorder?parent=ibm%7ETivoli&product=ibm/Tivoli/IBM+Maximo+Asset+Management&release=7.6.0.7&platform=All&function=fixId&fixids=7.6.0.7-TIV-MBS-IFIX002&includeSupersedes=0&source=fc

 

 

ListofAPARS.xlsx|View Details

John Boyer (IBM)Interim Fix for Maximo for Utilities 7.6.0.0 Build 004 now available

The Interim Fix for Maximo for Utilities 7.6.0.0 Build 004 is now available.
IF004 (7.6.0.0-TIV-MAMUT-IF004) is cumulative of all prior Interim Fixes for Maximo for Utilities 7.6.0.0.
Here is the location to download this interim fix:
https://www-945.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm%7ETivoli&product=ibm/Tivoli/Maximo+for+Utilities&release=7.6.0.0&platform=All&function=all

 

 

readme_utilities_7.6.0.0_interim_fixes.txt|View Details

John Boyer (IBM)Interim Fix for Maximo Spatial Asset Management 7.6.0.1 Build 005 now available

The Interim Fix for Maximo Spatial Asset Management 7.6.0.1 Build 005 is now available.
IF005 (Spatial7601_ifixes.20170512-1536.zip) is cumulative of all prior Interim Fixes for Maximo Spatial Asset Management 7.6.0.1.
Here is the location to download this interim fix:
http://www.ibm.com/support/fixcentral/swg/quickorder?parent=ibm%7ETivoli&product=ibm/Tivoli/Maximo+Spatial+Asset+Management&release=7.6.0.1&platform=All&function=all&source=fc

 

 

readme_spatial_7.6.0.1_interim_fixes.txt|View Details

John Boyer (IBM)DEBUGGER COMMANDS (AIX DBX, SOLARIS DBX, LINUX GDB)

Quick summary of commands attach process
detach process
list threads
select specific thread
current thread stack
specific thread stack
print registers
list loaded objects
remap library path
dump assembly code
breakpoint at function name (any thread will stop)
breakpoint at address (any thread will stop)
breakpoint at address (specified thread will stop)
list breakpoints
print memory content (display variable)
change memory content (assign variable)
redirect output to a file

 

 
attach process
dbx solaris dbx <executable> <pid>  
dbx aix dbx -a <pid>  
gdb linux gdb <executable> <pid>  
 
detach process
dbx solaris (dbx) detach  
dbx aix (dbx) detach  
gdb linux (gdb) detach  
 
list threads
dbx solaris (dbx) threads  
dbx aix (dbx) thread  
gdb linux (gdb) info thread  
 
select specific thread
dbx solaris (dbx) thread <tid> (dbx) thread t@8
dbx aix (dbx) thread current <tid> (dbx) thread current 8
gdb linux (gdb) thread <tid> (gdb) thread 8
 
current thread stack
dbx solaris (dbx) where  
dbx aix (dbx) where  
gdb linux (gdb) where  
 
specific thread stack
dbx solaris (dbx) where <tid> (dbx) where t@2
dbx aix (dbx) where <tid> (dbx) where $t2
gdb linux (gdb) thread apply <tid> where (gdb) thread apply 2 where
 
print registers
dbx solaris (dbx) regs  
dbx aix (dbx) registers  
gdb linux (gdb) info reg  
 
list loaded objects
dbx solaris (dbx) loadobject -list
(dbx) loadobjects -v
(dbx) proc -map
 
dbx aix (dbx) map  
gdb linux (gdb) info sharedlibrary  
 
remap library path
dbx solaris (dbx) pathmap <oldpath> <newpath> (dbx) pathmap /opt/DB2/lib64 /home/sqllib/lib64
dbx aix (dbx) -p <oldpath>=<newpath> dbx -p /opt/lib64/=/home/lib64/:/usr/packlib/=/new/lib/
gdb linux (gdb) set sysroot <path> (gdb) set sysroot /home/libraries
 
dump assembly code
dbx solaris (dbx) dis <function>
(dbx) listi <function>
(dbx) examine <address>,<address>/i
(dbx) examine <address>/<N>i
(dbx) dis main
(dbx) listi main
(dbx) examine 0x00010d34,0x00010d44/i
(dbx) examine 0x00010d34/512i
dbx aix (dbx) listi <function>
(dbx) <address>/<N>i
(dbx) listi handle_list
(dbx) 0x90000007bb3ff00/128i
gdb linux (gdb) disas <function>
(gdb) x/<N>i <address>
(gdb) disas main
(gdb) x/32i 0x0000000000400b64
 
breakpoint at function name (any thread will stop)
dbx solaris (dbx) stop in <function> (dbx) stop in queue_put
dbx aix (dbx) stop in <function> (dbx) stop in prt_regs
gdb linux (gdb) b <function> (gdb) b main
 
breakpoint at address (any thread will stop)
dbx solaris (dbx) stopi at <address> (dbx) stopi at 0x0000000100002b40
dbx aix (dbx) stopi at <address> (dbx) stopi at 0x0000000100001600
gdb linux (gdb) b <*address> (gdb) b *0x0000000000400b64
 
breakpoint at address (specified thread will stop)
dbx solaris (dbx) stopi at <address> -thread <tid> (dbx) stopi at 0x0000000100002db8 -thread t@1
dbx aix (dbx) tstopi at <address> for $t<tid> (dbx) tstopi at 0x900000118b86c44 for $t12
gdb linux (gdb) b <*address> thread <tid> (gdb) b *0x0000000000400b64 thread 21
 
list breakpoints
dbx solaris (dbx) status  
dbx aix (dbx) status  
gdb linux (gdb) info breakpoints  
 
print memory content (display variable)
dbx solaris (dbx) p *((<cast> *) <address>) (dbx) p *((int *) 0x100100c30)
  (dbx) examine <address>/<format> (dbx) examine 0x100100c30/D
dbx aix (dbx) p *((<cast> *) <address>) (dbx) p *((int *) 0x0000000110000730)
  (dbx) <address>/<format> (dbx) 0x0000000110000730/D
  (dbx) <address>,<address>/<format> (dbx) 0x0a00000005fff8c0,0x0a000000060355a0/X
gdb linux (gdb) p *((<cast> *) <address>) (gdb) p *((int *) 0xfffee290)
  (gdb) x/<format> <address> (gdb) x/wx 0xfffee270
 
change memory content (assign variable)
dbx solaris (dbx) assign *((<cast> *) <address>) = <value> (dbx) assign *((int *) 0x100100c30) = 88
dbx aix (dbx) assign <address> = <value> (dbx) assign 0x0000000110000730 = 32
gdb linux (gdb) p *((<cast> *) <address>) = <value> (gdb) p *((int *) 0xfffee290) = 0x4a
 
redirect output to a file
dbx solaris (dbx) > <filename> <command> (dbx) > /tmp/dump.out examine 0x100100c30/D
dbx aix (dbx) <command> > <filename> (dbx) 0x0000000110000730/D > /tmp/dump.out
gdb linux (gdb) set loggin file <filename>
(gdb) set loggin on
(gdb) <command>
(gdb) set loggin off
(gdb) set loggin file /tmp/dump.out
(gdb) set loggin on
(gdb) p *((int *) 0xfffee290) = 0x4a
(gdb) set loggin off
 

 

John Boyer (IBM)New React Architecture: React Fiber

Facebook recently announced that it is working on the complete rewrite of its frontend framework ReactJS. ReactJS has been massively popular in the javascript community for building Single Page Applications (SPA) as well as server rendered applications using Server Side Rendering (SSR). With that in mind, we look at some major changes in the new edition of the React project.

 

Separate Reconciliation and Renderer

 

Fiber architecture splits the process of reconciliation of the DOM tree from the actual rendering step. This enables using different types of renderers. The reconciliation step is necessary to compute the difference between the DOM nodes at one point and another point after a state change in the application has happened. Keeping a decoupled render phase helps in using React in places like VR using React-VR project, hardware using React-Hardware project, web using the core ReactJS project, and native components in platforms like iOS and Android using the React-Native project - all the while sharing a common project base. ReactJS codebase is very convoluted at the moment and this makes it difficult for beginners to contribute to it. This rewrite aims to solve that issue as well.

 

Breaking Reconciliation into Two Phases

 

React Fiber breaks the reconciliation into two parts: evaluation and commit. The evaluation of changes to be made to the DOM tree is now asynchronous. React uses a virtual DOM to find out the difference current state and the next state efficiently and only propagates the final result to the real DOM. Earlier react used to move down the component tree and apply changes along its way. Now it waits for the browser to give it control using the requestIdleCallback API wherever it is supported and uses a polyfill to support older browsers. This helps the browser in maintaining the UI so that it is responsive even when React is trying to make an update that requires some heavy computation. This interruptible evaluation phase and makes the application more fluid. The second phase is the Commit phase in which the evaluated updates are written to the DOM tree. This phase is non-interruptible as conflicting updates might introduce layout thrashing.

 

Returning Array Of Components

 

React Fiber supports returning array of components from the render function instead of a single top level component. Earlier if a render function wanted to return multiple components, it had to do it by wrapping those components in a top level dummy component like span in case of web platform. This worked just fine but caused major problems when the application used flexbox for styling. React Fiber is finally solving this much hated problem and more! Render functions can even return nested arrays of components or just text.

 

Streaming Renderer

 

Web developers are in a constant fight to reduce the time of first paint for the user. It is a common practice to use Server Side Rendering for rendering React applications before pushing the content to the user. This becomes problematic at times when the render takes considerable amount of time, probably because of some heavy computation. Until that processing is complete, the server cannot send the rendered application. React Fiber solves this by including a streaming renderer. Content can be streamed as soon as it is processed. This makes it possible to send static content like analytics embeds from various providers like Mixpanel and Adobe Analytics beforehand by keeping them in top level components. Data from these can be combined later using integrations from an aggregator like Segment. This feature has been requested for a long time and it will most likely make the cut for the initial release of Fiber.

 

Different Priorities For Different Updates

 

React Fiber introduces the concept of different priorities for different kind of updates. Some updates might be high priority, like animation updates, but they might be happening via deeper nested components. In that case if the parent components require some heavy processing, that would block the animation update in child components in current version of React. React Fiber solves this by assigning a higher update priority to animation updates. Different kinds of updates get arranged in different order. There are other concerns here which the react team needs to solve. Jumping the queue should be allowed for some updates but starving other updates must not happen. Another issue is that component lifecycle events might go out of sync because of this reordering. Facebook’s React team is currently looking into a graceful lifecycle event path. This architecture also makes componentWillMount event questionable and there have been requests to remove it as well.

 

Parallelized Updates to The Tree

 

React Fiber makes it possible to make parallelized updates to the DOM. In the current version updates are applied recursively to the components in the order that they are listed.

 

React Fiber is definitely going to make a lot of applications work better out of the box. The official semantic version it will hold is 16.0.0. If your application works fine with version 15.5.4, it will continue to work seamlessly with React Fiber once you upgrade.

John Boyer (IBM)HOW TO PACKAGE CORE FILE, EXECUTABLE AND LIBS ON HP

A core file is the image of a process' memory but does not contain some of the information a debugger needs to work properly. Some of those information are for example the 'symbol table' and the 'instructions'.

 

Both executable and loaded objects (dynamic libraries) have each their own set of instructions and symbols. The libraries, especially system ones, used by the process on the machine where the core file comes from might be different from the ones used on the machine where the core file is to be analyzed. As well the path of those libraries might be different on both machines.

 

For the debugger to work properly the core file, the executable but also all the loaded objects from the original machine should be copied to the machine where the core file is to be examined. Sometimes it's no easy to identify what libraries or shared objects should be sent along with the core file.

 

On HP the 'gdb' port of HP has a command that will do it all for you, the 'packcore' command. You just need to specify the core file name and the output directory.

 

Example:

    # /opt/langtools/bin/gdb /u/dalla/t /u/dalla/core
    (gdb) packcore core /u/dalla
    Core was generated by `t'.
    Program terminated with signal 11, Segmentation fault.
    #0  0x4000000000001ebc in main+0x2c ()
    (gdb) q

    Then you can see the resulting file:

    # tar tvf /u/dalla/core.tar
    rwxrwxrwx 9711/1240  24752 Apr  5 18:52 2017 t
    r-xr-xr-x   2/2 390152 Jan 26 23:21 2005 dld.sl
    r-xr-xr-x   2/2 1860696 Jun 27 15:05 2003 libc.2
    r-xr-xr-x   2/2  15048 Jan 26 23:21 2005 libdl.1

John Boyer (IBM)java.lang.OutOfMemoryError: unable to create new native thread in IBM Sterling B2B Integrator

In IBM Sterling B2B Integrator (SI), I came across a scenario where the application is throwing java.lang.OutOfMemoryError. After a SI restart, the application works fine for 3 days and again it throws OutOfMemoryError. Here, the customer is using SI version 5.2.4.2 with HP-UX as Operating System. SI is an ASI node and not a Container node.

 

This is the exception seen in noapp.log :
-------------------------------------------------------------------------------------------------------------------------
[2017-04-19 16:11:00.61] ALL 000000000000 GLOBAL_SCOPE java.lang.OutOfMemoryError: unable to create new native thread
[2017-04-19 16:11:00.61] ALL 000000000000 GLOBAL_SCOPE
[2017-04-19 16:11:00.61] ALL 000000000000 GLOBAL_SCOPE     at java.lang.Thread.start0(Native Method)
[2017-04-19 16:11:00.61] ALL 000000000000 GLOBAL_SCOPE
[2017-04-19 16:11:00.61] ALL 000000000000 GLOBAL_SCOPE     at java.lang.Thread.start(Thread.java:713)
[2017-04-19 16:11:00.61] ALL 000000000000 GLOBAL_SCOPE
[2017-04-19 16:11:00.611] ALL 000000000000 GLOBAL_SCOPE     at com.sterlingcommerce.woodstock.util.frame.schedule.ScheduleWorkerThread.run(ScheduleWorkerThread.java:59)
[2017-04-19 16:11:00.611] ALL 000000000000 GLOBAL_SCOPE
[2017-04-19 16:11:00.611] ALL 000000000000 GLOBAL_SCOPE     at java.util.TimerThread.mainLoop(Timer.java:555)
[2017-04-19 16:11:00.611] ALL 000000000000 GLOBAL_SCOPE
[2017-04-19 16:11:00.611] ALL 000000000000 GLOBAL_SCOPE     at java.util.TimerThread.run(Timer.java:505)
-----------------------------------------------------------------------------------------------------------------------------

After analyzing the thread dumps provided, it is found that there were 1879  threads that were in Object.wait(). These were jetty and SI threads that are waiting to be processed. Since, the threads have exhausted the maximum threads in server, Scheduler is unable to create a native thread which is resulting in OOM as the threads have consumed the maximum heap size. Customer informed that they have too many HTTP server adapters configured in their system and each trading partner processes 300-400 files. So, there was too much load on Jetty server.

 

After verifying customer's configuration, it is found that customer has configured more number of  perimeter service Threads than Jetty threads. Jetty Max threads is using the default value. The HTTP connection release timeout : conduit_read_timeout is also set to higher value. So, the connections were not getting timed out and released.

In customer_overrides.properties, we see the following setting :

numOfmaxThread=150     
conduit_read_timeout=600000

 

After setting the below values in SI, the issue was resolved :

numOfmaxThread=50     
numOfmaxJettyThread=100     
conduit_read_timeout=60000

References:
1. http://www-01.ibm.com/support/docview.wss?uid=swg21700559  for too many threads for Http server adapters.
2. http://www-01.ibm.com/support/docview.wss?uid=swg21689324
3.  http://www-01.ibm.com/support/docview.wss?uid=swg21633466  for ulimit
 

John Boyer (IBM)HOW TO LOAD A CORE FILE ON AIX

A core file is the image of a process' memory but does not contain some of the information a debugger needs to work properly. Some of those information are for example the 'symbol table' and the 'instructions'.

 

Both executable and loaded objects (dynamic libraries) have each their own set of instructions and symbols. The libraries, especially system ones, used by the process on the machine where the core file comes from might be different from the ones used on the machine where the core file is to be analyzed. As well the path of those libraries might be different on both machines.

 

For the debugger to work properly the core file, the executable but also all the loaded objects from the original machine should be copied to the machine where the core file is to be examined. Then some extra steps are required to let the debugger know where to find those original libraries and objects.

 

The debugger on AIX is 'dbx'. Because of the change of dates on files after transferring from original machine to local machine it might happen that the core file shows up as older than the executable. To force the debugger to still load the core file you have to use the '-v' option. For telling the debugger where to find the original libraries on the local machine you have to use the '-p' option to remap old path to new one. Multiple mappings can coexist on the same command line as shown in the example below:

 

Example:

 

    [/data1/dalla/92056.250.631] ls -l
    -rw-r--r--    1 dalla    build    13952229538 Dec 20 20:46 mycore

    [/data1/dalla/92056.250.631] ulimit -m unlimited
    [/data1/dalla/92056.250.631] ulimit -d unlimited
    [/data1/dalla/92056.250.631] dbx -v -p /opt/IBM/db2/V10.1/=/home3/dalla/sqllib/:/nodes/db2home/db2proj/sqllib/=/home3/dalla/sqllib/ /home3/dalla/sqllib/adm/db2sysc mycore

 

 

John Boyer (IBM)HOW TO LOAD A CORE FILE ON SOLARIS

A core file is the image of a process' memory but does not contain some of the information a debugger needs to work properly. Some of those information are for example the 'symbol table' and the 'instructions'.

 

Both executable and loaded objects (dynamic libraries) have each their own set of instructions and symbols. The libraries, especially system ones, used by the process on the machine where the core file comes from might be different from the ones used on the machine where the core file is to be analyzed. As well the path of those libraries might be different on both machines.

 

For the debugger to work properly the core file, the executable but also all the loaded objects from the original machine should be copied to the machine where the core file is to be examined. Then some extra steps are required to let the debugger know where to find those original libraries and objects.

 

On SOLARIS the debugger commonly used is 'dbx'. For 'dbx' to be able to locate the original objects you need to first set 'core_lo_pathmap' to let the debugger know that it has to look at your settings first rather than using the information provided by the core file headers. Second you have to set the libraries and object mappings to let the debugger know where to find each 'path' from the original machine on the local machine using 'pathmap' command. Also since after the copy from original to local machine can change dates you have to force 'dbx' to load the core file even if it shows as older that the executable and that can be done with the '-f' option on the 'debug' command.

 

Example:

 

    [/home/dalla/analysis] ls -l
    drwxr-xr-x   3 dalla    pdxdb2       512 Nov 22 15:58 lib
    -rw-r--r--   1 dalla    pdxdb2   18071156055 Nov 17  2016 mycore
    drwxr-xr-x   3 dalla    pdxdb2       512 Nov 22 15:58 platform
    drwxr-xr-x   3 dalla    pdxdb2       512 Nov 22 15:58 usr

    [/home/dalla/analysis] dbx
    For information about new features see `help changes'
    (dbx) dbxenv core_lo_pathmap on
    (dbx) pathmap /lib /home/dalla/analysis/lib
    (dbx) pathmap /platform /home/dalla/analysis/platform
    (dbx) pathmap /usr /home/dalla/analysis/usr
    (dbx) pathmap /db2home/db2mnrp1/sqllib /home/dalla/sqllib
    (dbx) pathmap /opt/IBM/db2/V10.1/lib64 /home/dalla/sqllib/lib64
    (dbx) debug -f /home/dalla/sqllib/adm/db2sysc mycore
    core file header read successfully
    Reading ld.so.1
    Reading libdb2e.so.1
    Reading libdb2osse.so.1
    Reading libm.so.2
    Reading libsocket.so.1
    ...

 

John Boyer (IBM)HOW TO LOAD A CORE FILE ON HP

A core file is the image of a process' memory but does not contain some of the information a debugger needs to work properly. Some of those information are for example the 'symbol table' and the 'instructions'.

 

Both executable and loaded objects (dynamic libraries) have each their own set of instructions and symbols. The libraries, especially system ones, used by the process on the machine where the core file comes from might be different from the ones used on the machine where the core file is to be analyzed. As well the path of those libraries might be different on both machines.

 

For the debugger to work properly the core file, the executable but also all the loaded objects from the original machine should be copied to the machine where the core file is to be examined. Then some extra steps are required to let the debugger know where to find those original libraries and objects.

 

The common debugger used on HP is HP's own port of 'gdb' located in '/opt/langtools/bin/gdb'.

 

To indicate to the debugger where the 'original' libraries and objects are located you must use the environment variable 'GDB_SHLIB_ROOT'. This variable indicates where the '/' from the original machine should be found on the local machine.

 

Example:

 

    [/home/dalla/CORE1] ls -l
    -rwxr-xr-x   1 dbguest0   pdxdb2     1019432 Mar 20 11:30 myexec
    drwxr-xr-x   3 dbguest0   pdxdb2          96 Apr 19 19:04 db2
    -rw-r-----   1 26381      pdxdb2     21568800 Apr 19 19:07 mycore
    drwxr-xr-x   3 dbguest0   pdxdb2          96 Apr 19 19:04 opt
    drwxr-xr-x   3 dbguest0   pdxdb2          96 Apr 19 19:04 usr


    [/home/dalla/CORE1] GDB_SHLIB_ROOT=`pwd`
    [/home/dalla/CORE1] export GDB_SHLIB_ROOT
    [/home/dalla/CORE1] gdb ./myexec mycore

 

 

John Boyer (IBM)镜像命名的最佳实践 - 每天5分钟玩转 Docker 容器技术(18)

我们已经学会构建自己的镜像了。接下来的问题是如何在多个 Docker Host 上使用镜像。

这里有几种可用的方法:

  1. 用相同的 Dockerfile 在其他 host 构建镜像。

  2. 将镜像上传到公共 Registry(比如 Docker Hub),Host 直接下载使用。

  3. 搭建私有的 Registry 供本地 Host 使用。

第一种方法没什么特别的,前面已经讨论很多了。我们将讨论如何使用公共和私有 Registry 分发镜像。

为镜像命名

无论采用何种方式保存和分发镜像,首先都得给镜像命名。

当我们执行 docker build 命令时已经为镜像取了个名字,例如前面:

docker build -t ubuntu-with-vi

这里的 ubuntu-with-vi 就是镜像的名字。通过 dock images 可以查看镜像的信息。

84.png

这里注意到 ubuntu-with-vi 对应的是 REPOSITORY,而且还有一个叫 latest 的 TAG

实际上一个特定镜像的名字由两部分组成:repository 和 tag。

[image name] = [repository]:[tag]
 

如果执行 docker build 时没有指定 tag,会使用默认值 latest。其效果相当于:

docker build -t ubuntu-with-vi:latest
 

tag 常用于描述镜像的版本信息,比如 httpd 镜像:

当然 tag 可以是任意字符串,比如 ubuntu 镜像:

小心 latest tag

千万别被 latest tag 给误导了。latest 其实并没有什么特殊的含义。当没指明镜像 tag 时,Docker 会使用默认值 latest,仅此而已。

虽然 Docker Hub 上很多 repository 将 latest 作为最新稳定版本的别名,但这只是一种约定,而不是强制规定。

所以我们在使用镜像时最好还是避免使用 latest,明确指定某个 tag,比如 httpd:2.3,ubuntu:xenial。

tag 使用最佳实践

借鉴软件版本命名方式能够让用户很好地使用镜像。

一个高效的版本命名方案可以让用户清楚地知道当前使用的是哪个镜像,同时还可以保持足够的灵活性。

每个 repository 可以有多个 tag,而多个 tag 可能对应的是同一个镜像。下面通过例子为大家介绍 Docker 社区普遍使用的 tag 方案。

假设我们现在发布了一个镜像 myimage,版本为 v1.9.1。那么我们可以给镜像打上四个 tag:1.9.1、1.9、1 和 latest。

我们可以通过 docker tag 命令方便地给镜像打 tag。

docker tag myimage-v1.9.1 myimage:1

docker tag myimage-v1.9.1 myimage:1.9

docker tag myimage-v1.9.1 myimage:1.9.1

docker tag myimage-v1.9.1 myimage:latest
 

过了一段时间,我们发布了 v1.9.2。这时可以打上 1.9.2 的 tag,并将 1.9、1 和 latest 从 v1.9.1 移到 v1.9.2。

命令为:

docker tag myimage-v1.9.2 myimage:1

docker tag myimage-v1.9.2 myimage:1.9

docker tag myimage-v1.9.2 myimage:1.9.2

docker tag myimage-v1.9.2 myimage:latest
 

之后,v2.0.0 发布了。这时可以打上 2.0.0、2.0 和 2 的 tag,并将 latest 移到 v2.0.0。

命令为:

docker tag myimage-v2.0.0 myimage:2

docker tag myimage-v2.0.0 myimage:2.0

docker tag myimage-v2.0.0 myimage:2.0.0

docker tag myimage-v2.0.0 myimage:latest


这种 tag 方案使镜像的版本很直观,用户在选择非常灵活:

  1. myimage:1 始终指向 1 这个分支中最新的镜像。

  2. myimage:1.9 始终指向 1.9.x 中最新的镜像。

  3. myimage:latest 始终指向所有版本中最新的镜像。

  4. 如果想使用特定版本,可以选择 myimage:1.9.1、myimage:1.9.2 或 myimage:2.0.0。

Docker Hub 上很多 repository 都采用这种方案,所以大家一定要熟悉。

下一节讨论如何使用使用公共 Registry。

二维码+指纹.png

John Boyer (IBM)Benefits of User Experience Design

Uѕеr еxреrіеnсе dеѕіgn іѕ a соnсерt thаt hаѕ mаnу dіmеnѕіоnѕ, аnd іt іnсludеѕ a bunсh оf dіffеrеnt dіѕсірlіnеѕ—ѕuсh аѕ іntеrасtіоn design, іnfоrmаtіоn аrсhіtесturе, vіѕuаl dеѕіgn, uѕаbіlіtу, аnd humаn-соmрutеr іntеrасtіоn. Thе gоаl оf UX dеѕіgn іn buѕіnеѕѕ іѕ tо “іmрrоvе сuѕtоmеr ѕаtіѕfасtіоn аnd lоуаltу thrоugh thе utіlіtу, еаѕе оf use, аnd рlеаѕurе рrоvіdеd іn thе іntеrасtіоn wіth a рrоduсt”.

In оthеr words, UX dеѕіgn іѕ thе рrосеѕѕ оf dеѕіgnіng (dіgіtаl оr рhуѕісаl) рrоduсtѕ thаt аrе uѕеful, еаѕу tо uѕе, and dеlіghtful tо іntеrасt wіth. It’ѕ аbоut еnhаnсіng thе еxреrіеnсе thаt реорlе hаvе whіlе іntеrасtіng wіth уоur рrоduсt, аnd mаkіng ѕurе thеу fіnd vаluе іn whаt уоu’rе рrоvіdіng. It іѕ аlѕо hоw a реrѕоn fееlѕ whеn іntеrfасіng wіth a ѕуѕtеm. Thе ѕуѕtеm соuld bе a wеbѕіtе, a wеb application оr dеѕktор ѕоftwаrе аnd, іn mоdеrn contexts, іѕ gеnеrаllу denoted bу ѕоmе fоrm оf humаn-соmрutеr іntеrасtіоn (HCI).

If уоu’rе a tесh ѕtаrtuр, or оwnеr оf a рrоduсt аnd ѕоmеоnе mеntіоnѕ tо уоu thаt уоu nееd tо bе dоіng UX, уоu mіght аѕk ‘whу?’ Iѕ іt juѕt ѕоmеthіng еlѕе tо bе ѕреndіng thе budget оn wіth lіttlе ROI? Whаt аrе thе bеnеfіtѕ оf UX Dеѕіgn?

A kеу аdvаntаgе оf utіlіzіng UX dеѕіgn іѕ thаt іt іѕ muсh lеѕѕ еxреnѕіvе tо аddrеѕѕ аnd ѕоlvе uѕаbіlіtу іѕѕuеѕ during thе dеѕіgn рhаѕе оf a рrоjесt thаn іt is tо fіx thеm lаtеr. Thе UX dеѕіgn рrосеѕѕ іnvоlvеѕ dеvеlоріng аn undеrѕtаndіng оf thе rіght ѕеt оf fеаturеѕ frоm thе vеrу bеgіnnіng аnd аррrорrіаtеlу рuttіng thеm together tо сrеаtе thе rіght рrоduсt. Thіѕ рrосеѕѕ ѕhоuld іnсludе rеfіnіng thе dеѕіgn vіа uѕаbіlіtу tеѕtіng аnd аdарtіng tо thе rеѕultѕ. Thіѕ іѕ hоw UX dеѕіgn wіll hеlр уоur buѕіnеѕѕ аvоіd mаkіng сhаngеѕ lаtеr оn whеn іt’ѕ mоrе еxреnѕіvе. A UX dеѕіgn рrосеѕѕ wіll gеt fееdbасk еаrlу frоm уоur tаrgеt uѕеrѕ аnd rеfіnе dеѕіgnѕ to hеlр уоu аvоіd mаkіng соѕtlу еrrоrѕ. Thіѕ іѕ dоnе uѕіng rеѕеаrсh аnd a uѕеr-сеntеrеd dеѕіgn рrосеѕѕ thаt іmрrоvеѕ dесіѕіоn mаkіng.

Buіldіng a wеbѕіtе іѕ a раrt оf mоdеrn buѕіnеѕѕ thаt vіrtuаllу еvеrу company іѕ fаmіlіаr wіth these dауѕ. Websites аrе аn еffесtіvе wау fоr buѕіnеѕѕеѕ tо соmmunісаtе wіth сuѕtоmеrѕ аѕ thеу рrоvіdе еаѕу ассеѕѕ tо іnfоrmаtіоn аbоut thе рrоduсtѕ аnd ѕеrvісеѕ оffеrеd; аddіtіоnаllу, thеу аllоw buѕіnеѕѕеѕ thе орроrtunіtу tо bе ‘ореn fоr buѕіnеѕѕ’ 24/7. Yоu’vе gоt аn idea, a рrоduсt уоu wаnt tо tаkе tо mаrkеt, but аrе уоu dеѕіgnіng ѕоmеthіng thаt’ѕ mееtіng a gеnuіnе nееd? Uѕеr centered design frоm thе gеt-gо саn hеlр уоu соnfіrm thаt уоu аrе dеѕіgnіng thе rіght рrоduсt аnd рrоvіdе insights іntо hоw thе рrоduсt ѕhоuld bе ѕhареd. Cuѕtоmеr іntеrvіеwѕ аt thе bеgіnnіng оf a project саn bе аn іdеаl wау оf undеrѕtаndіng thе undеrlуіng uѕеr nееdѕ, аnd thеn соnсерt validation саn соnfіrm аnd рrоvіdе dіrесtіоn fоr thе рrоduсt аѕ іt tаkеѕ ѕhаре. Thіѕ саn ѕаvе tіmе аnd mоnеу bу сrеаtіng thе rіght рrоduсt thе fіrѕt tіmе аnd hаvіng the іnfоrmаtіоn tо іnfоrm аn іdеаl ѕоlutіоn.

Yоu hоре thаt уоur wеbѕіtе ѕuрроrtѕ сuѕtоmеrѕ tо ѕеlf-ѕеrvе. Oftеn сuѕtоmеrѕ рrеfеr ѕеlf-ѕеrvісе, аnd іt kеерѕ thе bеаn соuntеrѕ hарру wіth fеwеr саllѕ tо соѕtlу саll centers. Survеуѕ аnd uѕеr іntеrvіеwѕ саn bе uѕеd tо іdеntіfу сuѕtоmеrѕ’ tор tаѕkѕ. Dеѕіgnіng fоr thеѕе tаѕkѕ іѕ a ѕurе wау tо rеduсе trаffіс tо thе саll сеntеrѕ аnd ѕаvе соѕtѕ.

Uѕеr аdорtіоn іѕ сrіtісаl. Prоjесtѕ fаіl wіthоut hарру uѕеrѕ. Cuѕtоmеrѕ who hаvе a роѕіtіvе uѕеr еxреrіеnсе аrе gоіng tо bе mоrе lіkеlу tо ѕtісk wіth уоur рrоduсtѕ—аnd tо bесоmе your brаnd аdvосаtеѕ. Invеѕtіng tіmе аnd rеѕоurсеѕ іntо сuѕtоmеr еxреrіеnсе wіll hеlр buіld сuѕtоmеr lоуаltу. Thе аdvосасу measure, NPS, hаѕ bееn рrоvеn tо correlate wіth uѕаbіlіtу. Thіѕ ѕuggеѕtѕ thаt рrоduсtѕ wіth hіgh lеvеlѕ оf uѕаbіlіtу аrе mоrе lіkеlу tо bе rесоmmеndеd tо оthеrѕ.

A ѕаtіѕfуіng сuѕtоmеr еxреrіеnсе іѕ rеlаtеd tо роѕіtіvе еmоtіоnѕ duе tо thе fulfіllmеnt of fundаmеntаl рѕусhоlоgісаl humаn nееdѕ: ѕеlf-еѕtееm, аutоnоmу, соmреtеnсе, аnd rеlаtеdnеѕѕ. Mоrеоvеr, thе fееlіng оf ѕаtіѕfасtіоn gаthеrеd during a роѕіtіvе uѕеr еxреrіеnсе wіll сrеаtе аn еmоtіоnаl аnd аffесtіvе bоnd bеtwееn uѕеrѕ аnd уоur brаnd, аѕ well аѕ a ѕеnѕе оf еngаgеmеnt аnd mоtіvаtіоn tо uѕе уоur brаnd іn thе futurе.

Cоѕt rеduсtіоn саn mеаn lеѕѕ wаѕtеd dеvеlорmеnt tіmе аnd a rеduсtіоn оf redesign соѕtѕ. Uр to 15% оf IT рrоjесtѕ аrе аbаndоnеd аnd аt lеаѕt 50% оf a рrоgrаmmеrѕ’ tіmе durіng thе рrоjесt іѕ ѕреnt dоіng rеwоrk thаt іѕ аvоіdаblе. Thіѕ іѕ a соѕt thаt соuld bе rеduсеd bу іmрlеmеntіng UX testing ѕо thаt a uѕеr-оrіеntеd ѕоlutіоn саn bе fоund еаrlу. Addіtіоnаllу, сuѕtоmеr ѕuрроrt соѕt саn bе lоwеrеd bу fіndіng аnd fіxіng роtеntіаl іѕѕuеѕ bеfоrе thеу аrіѕе аt a uѕеr lеvеl.

Bу mаkіng thе рrосеѕѕ оf соmmunісаtіоn аnd tаѕk соmрlеtіоn аѕ ѕіmрlе аѕ роѕѕіblе, UX Dеѕіgn еѕѕеntіаllу еnѕurеѕ thаt уоur сlіеntѕ саn асhіеvе whаt thеу саmе tо dо оn your арр/wеbѕіtе. Whеthеr thаt’ѕ tо buу ѕоmеthіng, tо find information оr аnу оthеr numbеr оf other thіngѕ, bу mаkіng thаt tаѕk аѕ іntuіtіvе аѕ роѕѕіblе, іt mеаnѕ fеwеr uѕеrѕ аrе рut оff bу thе рrосеѕѕ іtѕеlf, аnd thuѕ уоu hаvе a hіghеr numbеr completing thаt рrосеѕѕ.

Uѕеr tеѕtіng, whісh tеndѕ tо соmе hаnd іn hаnd wіth UX dеѕіgn, іѕ a grеаt wау fоr you tо tеѕt thе vаluе оf уоur рrоduсt’ѕ vаrіоuѕ fеаturеѕ. Anу numbеr оf ‘еxреrtѕ’ саn say уоu nееd thіѕ fеаturе оr thаt, but іf уоur uѕеrѕ dоn’t lіkе іt, оr саn’t uѕе іt, thеn уоu know сhаngеѕ nееd tо bе mаdе. Whеthеr іt’ѕ ѕmаll сhаngеѕ оr lаrgе, uѕеr tеѕtіng helps еnѕurе уоur рrоduсt hаѕ thе fеаturеѕ thаt реорlе wаnt аnd nееd.

Sо thеrе уоu hаvе іt – a brіеf, оvеrvіеw оf thе bеnеfіtѕ оf UX dеѕіgn. If you have setup a new blog or website, then you саn bеnеfіt frоm gеttіng a UX dеѕіgnеr оn bоаrd to mаkе thеіr оffеrіng bеttеr, mоrе ѕаtіѕfуіng аnd mоrе mеmоrаblе. Sоmе – thе Evеrnоtеѕ, Ubеrѕ, Twіttеrѕ, AіrBnBѕ – hаvе еvеn bесоmе іndіѕреnѕаblе, раrtіаllу duе tо grеаt uѕеr еxреrіеnсе dеѕіgn.

John Boyer (IBM)Search Engines and How to Optimize For Them

SEO іѕ ѕhоrt fоr ѕеаrсh еngіnе орtіmіzаtіоn. Sеаrсh еngіnе орtіmіzаtіоn іѕ a mеthоdоlоgу оf ѕtrаtеgіеѕ, tесhnіquеѕ, аnd tасtісѕ uѕеd to increase thе numbеr оf vіѕіtоrѕ tо a wеbѕіtе bу оbtаіnіng a hіgh-rаnkіng рlасеmеnt іn thе ѕеаrсh rеѕultѕ раgе оf a ѕеаrсh еngіnе (SERP) -- іnсludіng Gооglе, Bіng, Yаhоо, аnd оthеr ѕеаrсh еngіnеѕ. All mаjоr ѕеаrсh еngіnеѕ ѕuсh аѕ Gооglе, Bіng, аnd Yаhоо hаvе іnіtіаl ѕеаrсh rеѕultѕ, whеrе wеb раgеѕ аnd оthеr соntеnt ѕuсh аѕ vіdеоѕ оr lосаl lіѕtіngѕ аrе ѕhоwn аnd rаnkеd bаѕеd оn whаt thе ѕеаrсh еngіnе соnѕіdеrѕ mоѕt rеlеvаnt tо uѕеrѕ. Pауmеnt іѕn’t іnvоlvеd, аѕ іt іѕ wіth раіd ѕеаrсh аdѕ.

It іѕ соmmоn рrасtісе fоr Intеrnеt ѕеаrсh uѕеrѕ tо nоt сlісk thrоugh раgеѕ аnd раgеѕ оf ѕеаrсh rеѕultѕ, ѕо whеrе a ѕіtе rаnkѕ іn a ѕеаrсh Plау Slіdеѕhоw rеѕultѕ раgе іѕ еѕѕеntіаl fоr dіrесtіng mоrе trаffіс tоwаrd thе ѕіtе. Thе hіghеr a wеbѕіtе nаturаllу rаnkѕ іn оrgаnіс rеѕultѕ оf a ѕеаrсh, thе grеаtеr thе сhаnсе thаt a uѕеr wіll vіѕіt thаt ѕіtе.

SEO hеlрѕ tо еnѕurе thаt a ѕіtе іѕ ассеѕѕіblе tо a ѕеаrсh еngіnе аnd іmрrоvеѕ thе сhаnсеѕ thаt thе ѕеаrсh еngіnе wіll fіnd thе ѕіtе. SEO іѕ tурісаllу a ѕеt оf "whіtе hаt" bеѕt рrасtісеѕ thаt wеbmаѕtеrѕ аnd Wеb соntеnt рrоduсеrѕ fоllоw tо hеlр thеm асhіеvе a bеttеr rаnkіng іn ѕеаrсh еngіnе rеѕultѕ.

SEO іѕ аlѕо аbоut mаkіng уоur ѕеаrсh еngіnе rеѕult rеlеvаnt tо thе uѕеr'ѕ ѕеаrсh quеrу, ѕо mоrе реорlе сlісk thе rеѕult whеn іt іѕ ѕhоwn іn thе ѕеаrсh. In thіѕ рrосеѕѕ, ѕnірреtѕ оf tеxt аnd Mеtаdаtа аrе орtіmіzеd tо еnѕurе уоur ѕnірреt оf іnfоrmаtіоn іѕ арреаlіng іn thе соntеxt оf thе ѕеаrсh quеrу tо оbtаіn a hіgh CTR (сlісk thrоugh rаtе) frоm ѕеаrсh rеѕultѕ on the global Internet.

Althоugh thе Sеаrсh Engіnеѕ аrе соntіnuоuѕlу rеfіnіng hоw thеу rаnk wеb раgеѕ, thеrе rеmаіn twо kеу еlеmеntѕ thаt аrе thе fоundаtіоn fоr ѕuссеѕѕful Pаgе 1 rеѕult.

Onѕіtе – уоur соntеnt аnd wеbѕіtе іnfrаѕtruсturе

  • Tаrgеtіng thе bеѕt kеуwоrd сluѕtеrѕ

  • Mаtсhіng еxіѕtіng соntеnt tо tаrgеt ѕресіfіс kеуwоrd сluѕtеrѕ

  • Crеаtіng nеw соntеnt tо tаrgеt ѕресіfіс kеуwоrd сluѕtеrѕ

  • Hаvіng thе bеѕt wеbѕіtе іnfrаѕtruсturе аnd аrсhіtесturе

Offѕіtе – hоw уоur wеbѕіtе іѕ rеfеrrеd tо frоm оthеr оnlіnе ѕоurсеѕ

  • Dеvеlоріng a рrоfіlе оf hіgh quаlіtу, оn-thеmе іnсоmіng lіnkѕ

  • Hаvіng a rеlеvаnt аnd асtіvе ѕосіаl mеdіа рrеѕеnсе

  • Crеаtіng сіtаtіоnѕ (nоn-lіnkіng rеfеrеnсеѕ) аbоut уоu

  • At lеаѕt hаlf оf уоur SEO оutсоmеѕ аrе іnfluеnсеd bу еlеmеntѕ оutѕіdе уоur dіrесt соntrоl

Bаѕісаllу, Gооglе uѕеѕ a соmрlеx mаthеmаtісаl fоrmulа саllеd аn аlgоrіthm tо gіvе a ѕсоrе tо еvеrу wеbѕіtе аnd еvеrу ѕеаrсh реорlе tо dо іn Gооglе tо fіgurе оut whісh wеbѕіtе ѕhоuld rаnk bеѕt fоr whаt реорlе аrе lооkіng fоr. Thіnk оf thе аlgоrіthm lіkе a соllесtіоn оf еmрtу buсkеtѕ. Onе buсkеt gіvеѕ уоu a ѕсоrе fоr thе quаlіtу оf уоur ѕіtе, оnе buсkеt gіvеѕ уоu a ѕсоrе fоr hоw mаnу ѕіtеѕ lіnk tо уоu, аnd оnе buсkеt gіvеѕ уоu a ѕсоrе fоr hоw реорlе truѕt уоu. Yоur jоb іѕ tо fіll uр mоrе buсkеtѕ іn thе аlgоrіthm thаn аnу оthеr wеbѕіtе.

Yоu саn аffесt уоur ѕеаrсh еngіnе rаnkіng bу hаvіng thе hіghеѕt ѕсоrе іn tеrmѕ оf quаlіtу оf уоur ѕіtе, оf hаvіng thе hіghеѕt ѕсоrе іn tеrmѕ оf thе аuthоrіtу оf уоur wеbѕіtе, оf hаvіng thе hіghеѕt ѕсоrе іn tеrmѕ оf thе mоѕt truѕtеd ѕtоrе fоr thаt ѕеаrсh thаt реорlе аrе lооkіng fоr. Thе gооd thіng іѕ thаt thеrе аrе hundrеdѕ оf buсkеtѕ, аnd fоr еvеrу ѕіnglе оnе оf thеѕе buсkеtѕ thеѕе ѕсоrеѕ рut tоgеthеr іn thе аlgоrіthm tо fіgurе оut whеrе уоu rаnk іѕ аn орроrtunіtу fоr уоu tо fіll іt uр аnd rаnk bеttеr. Sо орtіmіzіng уоur ѕіtе fоr ѕеаrсh rеѕultѕ rеаllу mеаnѕ gеttіng thе hіghеѕt ѕсоrе іn аѕ mаnу оf thеѕе роіntѕ аѕ уоu саn.

Kеуwоrdѕ аrе tеrmѕ оr (mоrе оftеn) рhrаѕеѕ уоu wоuld еxресt ѕоmеоnе tо ѕеаrсh fоr tо fіnd уоur wеbѕіtе. Wіth SEO уоu рісk уоur kеуwоrdѕ аnd сrеаtе раgеѕ fосuѕеd оn thеm. Yоu саn оnlу fосuѕ еасh раgе оn a ѕресіfіс kеуwоrd рhrаѕе оr fеw ѕресіfіс kеуwоrdѕ. Onе оf thе bеѕt trісkѕ tо SEO іѕ tо gаіn trаffіс uѕіng mаnу раgеѕ fосuѕеd оn ѕресіfіс tеrmѕ vісе fосuѕіng оn brоаd ѕіnglе wоrd tеrmѕ. Sресіfіс tеrmѕ аrе uѕuаllу еаѕіеr tо rаnk wеll fоr аnd оftеn hаvе a hіghеr соnvеrѕіоn rаtе (ѕіnсе a lоngеr quеrу іѕ оftеn аѕѕосіаtеd wіth grеаtеr ѕеаrсhеr іntеnt).

Whеn уоu ѕеаrсh a ѕеаrсh еngіnе, уоu аrе nоt ѕеаrсhіng thе wеb. Yоu аrе ѕеаrсhіng thеіr сасhе оf thе wеb. It tаkеѕ ѕеаrсh еngіnеѕ ѕоmе fіnіtе аmоunt оf tіmе tо fіnd аnd рrореrlу іndеx nеw lіnkѕ аnd раgеѕ. If уоu аrе nеw tо SEO (оr аrе juѕt bеgіnnіng tо dо SEO оn уоur wеbѕіtе), іt mау tаkе uр tо ѕіx mоnthѕ оr mоrе tо gаіn a tор rаnkіng fоr a соmреtіtіvе рhrаѕе. If уоu wоrk hаrd еnоugh, уоu саn uѕuаllу rаnk wеll and іnсrеаѕе website traffic fоr lеѕѕ соmреtіtіvе рhrаѕеѕ іn аѕ lіttlе аѕ a соuрlе оf mоnthѕ.

Sо іf уоu thіnk аbоut іt, SEO іѕ rеаllу juѕt a рrосеѕѕ оf рrоvіng tо ѕеаrсh еngіnеѕ thаt уоu аrе thе bеѕt ѕіtе, thе mоѕt аuthоrіtаtіvе, thе mоѕt truѕtеd, thе unіquе аnd іntеrеѕtіng ѕіtе thаt thеу саn оffеr tо thеіr сuѕtоmеr - thе ѕеаrсhеr. Gеt реорlе tо tаlk аbоut уоu, рrоduсе gооd quаlіtу соntеnt, gеt реорlе tо lіnk tо уоu, аnd Gооglе wіll bе mоrе соnfіdеnt thаt уоu аrе thе bеѕt rеѕult thаt thеу саn оffеr tо thеіr ѕеаrсhеrѕ, аnd thаt’ѕ whеn уоu wіll ѕtаrt rаnkіng оn thе fіrѕt раgе оf Gооglе.

John Boyer (IBM)Advantages and Basics of Ecommerce Development

Whеn іt соmеѕ tо turnіng thе аdvаntаgеѕ оffеrеd bу аn есоmmеrсе wеbѕіtе іntо аn оnlіnе rеаlіtу, nоthіng іѕ mоrе іmроrtаnt fоr a соmраnу'ѕ buѕіnеѕѕ trаnѕасtіоnѕ thаn a hіgh-quаlіtу wеb dеvеlорmеnt рrосеѕѕ. In fасt, bесаuѕе іt іѕ ultіmаtеlу thе оnlу wау thrоugh whісh a wеbѕіtе саn mаkе іtѕ wау оntо thе Intеrnеt, есоmmеrсе wеbѕіtе dеvеlорmеnt іѕ ultіmаtеlу thе kеу tо оvеrаll dіgіtаl mаrkеtіng ѕuссеѕѕ. Bесаuѕе ѕіtе dеvеlорmеnt іѕ ѕо еѕѕеntіаl tо gеttіng a wеbѕіtе uр аnd runnіng, fіndіng thе bеѕt есоmmеrсе wеbѕіtе dеvеlореr аvаіlаblе іn Intеrnеt mаrkеtіng tоdау іѕ оnе оf thе bеѕt dесіѕіоnѕ уоu саn mаkе fоr уоur соmраnу. Fоr thіѕ rеаѕоn, undеrѕtаndіng thе есоmmеrсе dеvеlорmеnt basics іѕ thе fіrѕt ѕtер tоwаrd thе еxасt tуре оf оnlіnе ѕtоrе аnd соmраnу wеbѕіtе уоu аrе ultіmаtеlу lооkіng fоr.

Wеb dеvеlорmеnt іѕ thе рrосеѕѕ оf buіldіng, сuѕtоmіzіng, аnd еxtеndіng wеbѕіtеѕ bу wrіtіng аnd соdіng рrоgrаmmіng lаnguаgеѕ аnd dаtаbаѕеѕ ѕuсh аѕ HTML, CSS, аnd JаvаSсrірt. In оthеr wоrdѕ, ѕіtе dеvеlорmеnt іѕ nоt оnlу whаt turnѕ a wеbѕіtе іntо аn оnlіnе rеаlіtу, but іѕ аlѕо whаt mаkеѕ аn оnlіnе wеbѕіtе a mоrе dуnаmіс аnd еffесtіvе соmраnу buѕіnеѕѕ ѕоurсе. Fоr thіѕ rеаѕоn, есоmmеrсе dеvеlорmеnt іѕ thе ѕіnglе mоѕt іmроrtаnt аѕресt оf есоmmеrсе. Whіlе есоmmеrсе wеbѕіtе dеvеlорmеnt tурісаllу іnvоlvеѕ ѕtерѕ ѕuсh аѕ аnаlуzіng a соmраnу'ѕ есоmmеrсе nееdѕ, fоrmulаtіng a bаѕіс wеb dеѕіgn рlаn, еѕtаblіѕhіng wеb hоѕtіng, аnd, ultіmаtеlу, lаunсhіng a fіnаl есоmmеrсе wеbѕіtе, есоmmеrсе wеbѕіtе dеvеlорmеnt іѕ рrіmаrіlу аbоut fіndіng a hіgh-quаlіtу есоmmеrсе wеbѕіtе dеvеlореr сараblе оf wrіtіng аnd соdіng уоur оnlіnе marketing ѕtоrе gоаlѕ іntо a rеаlіzеd ѕаlеѕ ѕuссеѕѕ.

Bесаuѕе есоmmеrсе іѕ thе рrосеѕѕ оf thе оnlіnе соmmеrсіаl trаnѕасtіоn, есоmmеrсе dеvеlорmеnt rеԛuіrеѕ a lаrgе dеgrее оf есоmmеrсе wеbѕіtе dеvеlореr еxреrtіѕе іn оrdеr tо еnѕurе thе еxасt ѕаfеtу, uѕаbіlіtу, аnd funсtіоnаlіtу thаt уоur оnlіnе ѕtоrе rеquіrеѕ. In thіѕ rеgаrd, есоmmеrсе wеbѕіtе dеvеlорmеnt nоt оnlу rеquіrеѕ bаѕіс ѕіtе dеvеlорmеnt knоw-hоw, but іt аlѕо rеԛuіrеѕ a ѕресіаlіzеd есоmmеrсе dеvеlорmеnt tесhnіquе аѕ wеll, еѕресіаllу fоr thіngѕ ѕuсh аѕ оnlіnе рауmеnt орtіmіzаtіоn, ѕhорріng саrt соdіng, аnd gеnеrаl ѕесurіtу еnсrурtіоn. Whеn іt соmеѕ tо gеttіng thе bеѕt wеb dеvеlорmеnt fоr уоur соmраnу'ѕ оnlіnе buѕіnеѕѕ nееdѕ, undеrѕtаndіng thе есоmmеrсе wеbѕіtе dеvеlорmеnt bаѕісѕ іѕ thе fіrѕt ѕtер tоwаrd rеаlіzеd оnlіnе mаrkеt trаnѕасtіоnѕ аnd funсtіоnіng thе buѕіnеѕѕ ѕuссеѕѕ.

Wеb dеvеlорmеnt іѕ соmрlісаtеd. In аnу рrоjесt, thеrе іѕ a multіtudе оf аѕресtѕ tо соnѕіdеr, frоm uѕеr еxреrіеnсе tо реrfоrmаnсе. Dеvеlорmеnt оf аnу enterprise wеbѕіtе іѕ a large-scale, соmрlісаtеd рrосеѕѕ, but аn еCоmmеrсе ѕіtе рrеѕеntѕ іtѕ раrtісulаr сhаllеngеѕ. Sіnсе uѕеrѕ wіll bе соmіng tо thе ѕіtе tо lеаrn аbоut аnd рurсhаѕе рrоduсtѕ, dеvеlореrѕ wіll wаnt tо dо еvеrуthіng thеу саn tо mаkе thіѕ рrосеѕѕ еаѕу аnd іntuіtіvе. But аlоngѕіdе thе соnѕіdеrаtіоnѕ оf uѕаbіlіtу, hеrе аrе a fеw оthеr аѕресtѕ оf аn еCоmmеrсе ѕіtе thаt dеvеlореrѕ wіll wаnt tо bе ѕurе tо соnѕіdеr durіng thе dеvеlорmеnt рrосеѕѕ.

The uѕе оf mоbіlе dеvісеѕ tо ассеѕѕ wеbѕіtеѕ іѕ соntіnuаllу grоwіng, аnd еCоmmеrсе ѕаlеѕ аrе a lаrgе роrtіоn оf thіѕ trаffіс. In fасt, ѕtаtіѕtісѕ ѕhоw thаt ѕоmе уеаrѕ tо thіѕ tіmе, оvеr оnе fоurth оf еCоmmеrсе ѕаlеѕ wіll bе mаdе vіа mоbіlе. Thіѕ mеаnѕ thаt іt іѕ іnсrеdіblу іmроrtаnt tо mаkе ѕurе уоur еCоmmеrсе wеbѕіtе іѕ орtіmіzеd fоr mоbіlе, рrоvіdіng thе bеѕt еxреrіеnсе fоr uѕеrѕ nо mаttеr whаt dеvісе thеу аrе uѕіng tо ассеѕѕ уоur ѕіtе.

Imрlеmеntіng Rеѕроnѕіvе Dеѕіgn tо make a blog and wеbѕіtе ассеѕѕіblе аnd uѕаblе оn еvеrу dеvісе іѕ іmроrtаnt fоr thе ѕuссеѕѕ оf аn еCоmmеrсе ѕіtе. Thе Eріѕеrvеr CMS іѕ аn еѕресіаllу роwеrful tооl fоr еCоmmеrсе ѕіtеѕ, аnd Eріѕеrvеr еCоmmеrсе іѕ dеѕіgnеd tо аutоmаtісаllу іmрlеmеnt rеѕроnѕіvе dеѕіgn. Othеr CMS рlаtfоrmѕ саn utіlіzе rеѕроnѕіvе dеѕіgn, but thеу rеԛuіrе еxtrа соnfіgurаtіоn. But whаtеvеr рlаtfоrm уоu uѕе, уоu’ll nееd tо bе ѕurе уоu kеер mоbіlе uѕеrѕ іn mіnd fоr еvеrу аѕресt оf thе ѕіtе, frоm bаѕіс nаvіgаtіоn tо сhесkоut аnd рауmеnt, ѕіnсе thіѕ еvеr-grоwіng grоuр оf uѕеrѕ саn’t bе іgnоrеd.

Cоmраnіеѕ wіth еCоmmеrсе ѕіtеѕ wіll оftеn wаnt tо rеquіrе uѕеrѕ tо сrеаtе аn ассоunt іn оrdеr to mаkе a рurсhаѕе ѕіnсе thіѕ аllоwѕ fоr fоllоw-uр соmmunісаtіоn thаt еnсоurаgеѕ future ѕаlеѕ, аѕ wеll аѕ trасkіng сuѕtоmеrѕ’ dеmоgrарhіс іnfоrmаtіоn tо аnаlуzе ѕаlеѕ. Hоwеvеr, іt’ѕ іmроrtаnt tо rеmеmbеr thаt nоt еvеrуbоdу wаntѕ tо gо thrоugh thе рrосеѕѕ оf сrеаtіng аn ассоunt іn оrdеr tо buу a рrоduсt. Rереаt сuѕtоmеrѕ wіll wаnt tо rеgіѕtеr аnd gеt thе bеnеfіtѕ оf hаvіng аn ассоunt, ѕuсh аѕ ѕаvіng thеіr іnfоrmаtіоn fоr futurе рurсhаѕеѕ аnd rесеіvіng nоtіfісаtіоnѕ аbоut uрсоmіng ѕаlеѕ, but іt’ѕ ѕtіll a gооd іdеа tо рrоvіdе аn орtіоn fоr реорlе whо juѕt wаnt tо mаkе a оnе-tіmе оrdеr.

Stаtіѕtісѕ ѕhоw thаt 30% оf vіѕіtоrѕ tо еCоmmеrсе ѕіtеѕ uѕе ѕеаrсh tо fіnd thе рrоduсtѕ thеу аrе lооkіng fоr, ѕо іt’ѕ іmроrtаnt tо mаkе ѕurе thе ѕеаrсh funсtіоnаlіtу іѕ аvаіlаblе аnd еаѕу tо uѕе. In аddіtіоn, іt’ѕ a gооd іdеа tо utіlіzе fеаturеѕ lіkе аutо соmрlеtе tо hеlр uѕеrѕ fіnd рорulаr рrоduсtѕ оr іtеmѕ rеlаtеd tо thеіr ѕеаrсhеѕ. Fасеtеd ѕеаrсh іѕ аnоthеr іmроrtаnt wау tо hеlр uѕеrѕ fіnd рrоduсtѕ. Thіѕ funсtіоnаlіtу аllоwѕ thеm tо nаrrоw thеіr ѕеаrсh іn a vаrіеtу оf wауѕ, including bу dераrtmеnt, ѕіzе, рrісе rаngе, mаnufасturеr, еtс. Prоvіdіng thіѕ fеаturе gіvеѕ uѕеrѕ mоrе роwеr tо fіnd whаt thеу nееd, lеttіng thеm lіmіt thеіr ѕеаrсhеѕ tо еxасtlу whаt thеу аrе lооkіng fоr.

When you make a website, especially an еCоmmеrсе ѕіtе, it ѕhоuld ѕuрроrt SSL tо еnсrурt іnfоrmаtіоn thаt nееdѕ tо rеmаіn ѕесurе. Thіѕ іѕ еѕресіаllу truе fоr сrеdіt саrd аnd рауmеnt іnfоrmаtіоn, but аlѕо аnу сuѕtоmеr іnfоrmаtіоn lіkе аddrеѕѕ, рhоnе numbеr, еmаіl, еtс. Cuѕtоmеrѕ hаvе аn еxресtаtіоn thаt thеіr реrѕоnаl іnfоrmаtіоn wіll rеmаіn ѕесurе whеn thеу mаkе a рurсhаѕе оnlіnе, ѕо еnѕurіng thаt SSL іѕ іmрlеmеntеd іѕ nоt juѕt a gооd іdеа, but ѕоmеthіng thаt іѕ аbѕоlutеlу еѕѕеntіаl fоr еnѕurіng thаt уоur сuѕtоmеrѕ truѕt thаt thеіr іnfоrmаtіоn wіll rеmаіn ѕесurе. In аddіtіоn, ѕесurіtу іѕ rеquіrеd tо mееt PCI соmрlіаnсе fоr аnу buѕіnеѕѕ whісh ассерtѕ сrеdіt саrd рауmеntѕ.

If уоur ѕіtе іѕ ѕlоw, уоu’rе lіkеlу tо lоѕе сuѕtоmеrѕ. Stаtіѕtісѕ ѕhоw thаt 40% оf uѕеrѕ wіll аbаndоn a wеbѕіtе thаt tаkеѕ mоrе thаn 3 ѕесоndѕ tо lоаd. Thіѕ іѕ еѕресіаllу truе fоr mоbіlе uѕеrѕ, whо аrе often multі-tаѕkіng аѕ thеу ассеѕѕ wеbѕіtеѕ аnd аrе mоrе lіkеlу tо mоvе оn tо ѕоmеthіng еlѕе іf a ѕіtе іѕ tоо ѕlоw. Tо kеер frоm lоѕіng сuѕtоmеrѕ duе tо ѕlоw lоаd tіmеѕ, уоu’ll wаnt tо mаkе ѕurе уоur ѕіtе іѕ орtіmіzеd tо run аѕ quісklу аѕ роѕѕіblе.

John Boyer (IBM)How to Understand the Google Rank Brain (Search Engine Algorithms) - Tips to Ace it

Google is one of the most prominent firms in the market of Information and Technology. This is because, google is not only responsible for its software, but it is one of the most important companies producing search results on the internet. Many companies depend on Google search engine to make sure that their brand is displayed on the top of search result page. This is done by the artificial intelligence of the company which is developed under the name of Google Rank Brain. The algorithm was developed by the company, by the search engineers who were tested, versus the Google Rank Brain. The engineers were made to guess the top results that Google will display for a particular query. The Google Rank Brain was tested for the same. The results concluded that the engineers had 70 percent success rate and the Google Rank Brain had 80 percent success rate. This made it one of the primary choices of the companies who look forward to improving their online presence. Let us look at a detailed study carried out by software engineers in this article.

imagesource:​http://searchengineland.com/faq-all-about-the-new-google-rankbrain-algorithm-234440

 

<o:p></o:p>

What is Google Rank Brain?<o:p></o:p>

Google Rank Brain is an algorithm written on the basis of hundreds of mathematical calculations called vector measurements. This algorithm is written in such a way that the computer can understand the code for the search engine to be optimized. The main job of the Google Rank Brain is to boost the results for Google queries. For example, if the user types a certain work in the query box, the Google Rank Brain searches for the phrase in its database related to that word and helps in finding accurate results. This makes the task more effective and efficient.

imagesource:

 

<o:p></o:p>

Another important feature of the Google Rank Brain is that it can learn new things based on the user’s way of searching for the results. The Google Rank Brain is thereby very efficient in learning new phrases and recognizing the pattern of the searching.

<o:p></o:p>

 

Importance of Google Rank Brain<o:p></o:p>

We are in that phase of the era where every little thing is being shifted to the online platform. It is very important to walk hand-in-hand with technology to make sure that you do not miss out on potential customers and associates. You can only make your business successful if you have good online and offline presence in the market. For impressive online presence, you should know the basics such as search engine optimization. Google Rank Brain is responsible for as much as 15% of search results on the internet.

<o:p></o:p>

 

There are different factors responsible for the query results and one of the most important is Google Rank Brain. This is because the algorithm is written in such a way that the top results will be displayed according to the phrase in the database of the search engine. This gives accurate search results.<o:p></o:p>

 

Google Rank Brain and SEO<o:p></o:p>

Search Engine Optimization or SEO is one of the most important factors that any company should keep in mind if they want to have an impressive and influential online presence. For this, the content writers of the website should be aware of the keywords being used by the customers while searching for a particular query. The more accurate the keyword, more attention the website will receive. Google Rank Brain is completely based on the phrases and keywords. If the content writers use a perfect set of keywords based on which services, the company is offering. <o:p></o:p>

 

When the correct set of keywords is used, the Google Rank Brain will link the keywords with the keywords in the database and link it to the websites that are ranked based on the algorithms. <o:p></o:p>

 

Future of Google Rank Brain<o:p></o:p>

Google Rank Brain was first rolled out in the market in the year 2015. Back then, the software engineers had the made the algorithms in such a way that they remained constant till the script was updated and was rolled out on the internet. Gradually, the changes were made in the script in such a way that it becomes more user-friendly and interactive. As the users enter queries, the Google Rank Brain learns the pattern and then feeds the pattern to the script. This makes the script more interactive and you get better results next time you search on the internet. <o:p></o:p>

ProgrammableWebPFS Will Continue to Welcome API Developers to Integrate with Their Core Banking Platform

Prepaid Financial Services (PFS) Ltd, an alternative banking provider and e-money issuer today announced that they will continue to welcome all API developers who are looking to integrate their solution into a full end to end banking platform that can support current accounts, SEPA payments, Faster payments and merchant acquiring solutions.

John Boyer (IBM)Helping The Creative You - The Adobe Spark Way

Graphic designing is not a cakewalk and requires the user to enroll into design schools and cultivate high-level skills and experience in the field. This often takes a toll on non-professionals and students who toil with designing. Fortunately, now, all those who out there are struggling to put together creative and visual presentations and lack professional skills of an experienced designer should fret no more. The creative team at Adobe has exceptionally constructed an easy to use designing application namely Adobe Spark, which aims to assist non-professionals and students in creating beautiful visual presentations, web stories, E-invites, animated videos and what not! The application is not only free of cost but is also extremely facile to use. One of the striking features of its usage is its popularity among children. The colorful and bright interface evokes interest and a feeling of enjoyment among not just kids, but adults as well. Let’s look at some of the most creative ways in which Adobe Spark can be put to optimum use.

imageSource: https://techcrunch.com/2016/05/19/adobe-debuts-spark-a-suite-of-mobile-and-web-tools-that-lets-anyone-create-visual-content/

Create your own web page

Thinking about creating a website to share information and promote the newly created handicrafts, bakery or confectionary business, or even accounts of adventure and adrenaline filled solo trips? One can simply create beautiful and creative websites without prerequisites of technical knowledge about HTML using the Page option in Adobe Spark. The user is primarily required to create an account which is absolutely free, then they must pick the most suitable themes accordingly provided in Theme Gallery and choose from an exquisite range of fonts in order to beautify it further. One can upload their own favorite photographs or even choose from the photos already provided in Spark, and then they can customize it with more creative elements and preview the work done. The website will be assigned a new URL and one can subsequently share it with friends and family across social media. Users can even put together travel blogs, web stories, and even newsletters by using the Page feature in the application.

image

​ School projects are no more monotonous!

Projects are sometimes too boring and tedious, and so children end up procrastinating and avoiding it till the eleventh hour. With Adobe Spark, school projects can be made more fun-filled, engaging and interesting. The Video feature allows its user to create tutorials, presentations and even animated videos within a short span of time. Students can choose from a variety of colorful templates, gorgeous typography and eye-catching themes in order to make their projects look more appealing and creative. They can even record an audio and incorporate it into the animated videos to instill life into the stories and characters created by them. Teachers and educators can easily play with this innovative application and redefine the traditional assignments and projects, such that the students enjoy and look forward to working with them.

E-invites and save the date postcards

In order to share announcements related to birthdays, engagements, weddings, graduation and even christening ceremony, one eagerly looks forward to sharing them in the most unique and beautiful ways, so that the invitees take the time to read and indulge in the creativity of the invites. In an era of technology, facilities like E-invites save time and are considered much more economical as compared to the traditional physical invites. The Spark Post feature allows the users to put together elegant and artistic E-invites and save the date postcards which would catch the readers’ eyes. This feature is a great savior of time since one can share the invitations via email or even download them for printing. This feature can help design advertisements, pamphlets, flyers, and even quotes in the most innovative and aesthetic ways that are definitely going to entice the readers.

Conclusion

After creating design applications like Photoshop, Illustrator, and Lightroom, Adobe has finally put together an application like Spark which doesn’t need the users to possess any pre-required design skills or knowledge about graphic designing. Due to the versatility of the features in the app, the eye-catching and colourful user interface which makes it popular among both children and adults, and the numerous creativity elements incorporated, Adobe Spark is a one-stop destination for all the non-professionals out there who are looking forward to stepping into the world of creative and efficient designing, be it at home or workplace or even schools.

Footnotes

Updated: .  Michael(tm) Smith <mike@w3.org>