Emma Watson
“I never believed the whole ‘I’m happy single’ spiel,” she continued. “I was like, ‘This is totally spiel.’ It took me a long time, but I’m very happy [being single]. I call it being self-partnered.”
Member since 2017-07-15T03:50:57Z. Last seen 2024-09-20T22:23:02Z.
2675 blog posts. 128 comments.
“I never believed the whole ‘I’m happy single’ spiel,” she continued. “I was like, ‘This is totally spiel.’ It took me a long time, but I’m very happy [being single]. I call it being self-partnered.”
Chief Blockchain Architect, Primechain Technologies Pvt Ltd
When Blockchain technology was announced through the paper titled Bitcoin: A Peer-to-Peer Electronic Cash System by Satoshi Nakamoto in 2008, it was an innovative mix of public key cryptography (invented in the 1970s), cryptographic hash functions (born in the 1970s) and proof-of-work (invented in the 1990s).
Over the last few years, many derivate and blockchain-inspired projects have been created. Most of them are not technically blockchains, but rather distributed ledger systems.
Let us dcode the how to build a blockchain in just eight steps. For simplicity, I have used the terms blockchain and distributed ledger system interchangeably in this article.
Step 1: Identify a Suitable Use-case
There’s a ton of hype around blockchain. I’ve read that blockchains can erase global hunger, make the world corruption-free, end poverty and do a lot more without breaking a sweat. Unfortunately, that’s not true. So, step 1 is to identify a use-case that makes business sense.
There are 3 things that blockchains can do very well:
Data Authentication & Verification: this includes immutable storage, digital signatures and encryption. Data in almost any format can be stored in the blockchain. Blockchains can create public-private key pairs and also be used for generating and verifying digital signatures. Smart Asset Management: this includes issuance, payment, exchange, escrow and retirement. A smart / crypto asset is the tokenized version of a real-world asset e.g. gold, silver, oil, land. Smart Contracts: This is a term most often mis-understood, but that’s something for another day. Step 2: Identify the Most Suitable Consensus Mechanism
The original blockchain, which powers the bitcoin crypto-currency, used proof of work as a consensus mechanism. But today there are multiple distributed ledger systems that offer a host of consensus mechanisms such as Proof of stake, Byzantine fault tolerant, Deposit based consensus, Federated Byzantine Agreement, Proof of Elapsed Time, Derived PBFT, Redundant Byzantine Fault Tolerance, Simplified Byzantine Fault Tolerance, Federated consensus, Round Robin and Delegated Proof of Stake.
Depending upon your use-case, you need to choose the consensus mechanism that makes the most sense.
Step 3: Identify the Most Suitable Platform
There are many blockchain platforms out there today and most of them are free and open source. Depending upon the consensus mechanism you chose in step 2, you need to select the most suitable blockchain platform.
Some of the more popular platforms, in alphabetical order are:
BigChainDB
Chain Core
Corda
Credits
Domus Tower Blockchain
Elements Blockchain Platform
Eris:db
Ethereum
HydraChain
Hyperledger Fabric
Hyperledger Iroha
Hyperledger Sawtooth Lake
Multichain
Openchain
Quorum
Stellar
Symbiont Assembly
Step 4: Designing the Nodes
Blockchain solutions can be permissioned (e.g. a Government run land registry) or permission-less (e.g. Bitcoin, where anyone can become a miner). Blockchain solutions can be private (e.g. a contract management system implemented in a pharmaceutical company), public (e.g. an asset backed cryptocurrency) or hybrid (e.g. a group of banks running a shared KYC platform).
Another factor to consider at this stage is whether the nodes will run on the cloud, on-premise or both. Then comes hardware configuration issues like processors, memory and disk size. You also need to decide on the base operating systems (usually Ubuntu, CentOS, Debian, Fedora, Red Hat or Windows).
Step 5: Design the Blockchain Instance
Most blockchain platforms need very careful planned configuration for the following elements:
Permissions
Asset issuance
Asset re-issuance
Atomic exchanges
Key management
Multi signatures
Parameters
Native assets
Address formats
Key formats
Block signatures
Hand-shaking
Some parameters can be changed at run-time but some cannot, so this is a very crucial step.
Step 6: Building the APIs
Some blockchain platforms come with pre-made APIs while some don’t. The major categories of APIs that you would need are for:
Generating key pairs and addresses Performing audit related functions Data authenticatin through digital signatures and hashes Data strage and retrieval Smart-asset lifecycle management –issuance, payment, exchange, escrw and retirement Smart contracts Step 7: Design the Admin and User Interface
At this stage you would need to choose the front end and programming languages (e.g. HTML5, CSS, PHP, C#, Java, Javascript, Python, Ruby, Golang, Solidity, Angular JS Nodejs). You would also need to choose external databases (e.g. MySQL, MongoDB) as well as servers (including Web servers, FTP servers, mail servers).
Step 8: Adding Future Tech
You can greatly enhance the power of your Blockchain solution by integrating Artificial Intelligence, Biometrics, Bots, Cloud, Cognitive services, Containers, Data Analytics, Internet of Things and Machine Learning.
一名年過七十仍被稱為「美心太子女」的阿婆,最近接受中共媒體訪問,她揚言香港很多年輕人被社交媒體「洗腦」,成為「反政府、反體制和反中國的人」,問題不易解決,又說:「我們已經失去了整整兩代年輕人……我會放棄,不會再浪費時間去跟他們講什麼,因為他們的腦子已經不清楚自己應該做什麼。」
聽見「太子女」說自己要放棄年輕人,就好比聽到一個乞兒說「我要放棄保時捷」、一個宅毒說「我要放棄迪麗熱巴」,或林鄭月娥說「我要放棄習近平」,我有時真係忍唔住笑。
本來擁有的東西,才能放棄。你的放棄如何,成就也必如何。悉達多太子本來擁有一切,但他放棄了,就得道成佛,了悟一切。「太子女」要跟年輕人講什麼,who 福建 cares?本來就沒有人聽,所以你沒資格放棄,只有能力放屁。
黃藍表面上是政見,但實際上是識見。記得白手興家的首富說,投資未來,就是投資年輕人。這就是識見。年輕人不一定對,但時間永遠站在他們那一邊,此乃亙古不變的宇宙法則。唯有下一代才夠資格放棄上一代,老人家唯一可放棄的,只是自己。
「太子女」高調宣布放棄一樣自己從未擁有的東西,說明她的腦子根本不清楚自己在講什麼。此乃典型的腦殘藍表現,我雖然諒解,但也恥與為伍,所以近月已放棄幫襯美心集團所有食店。
我本是美心顧客,所以絕對有杯葛的資格,也可名正言順地說「我放棄美心」。很多黃屍亦揚言杯葛美心,但往往只杯葛有「美心」兩字的店,做法令人費解。美心集團旗下食店眾多,要杯葛就請做好功課,列出完整的黑名單,永不光顧。要做就該盡做,否則不如不做。凡事做到極致,已經是悄悄起革命。
Humans and TechnologyNov 4
girl using a tablet screen time brain A study published today in JAMA Pediatrics warns that kids’ literacy and language skills suffer with screen use, and MRI scans of their brains appear to back up the findings.
The study: Forty-seven 3- to 5-year-olds took a test to measure their cognitive abilities, and their parents were asked to answer a detailed survey about screen time habits. Questions included: How frequently do they use that screen? What type of content are they viewing? And is there an adult sitting with the child talking about what they’re watching? The answers were scored against a set of screen time guidelines put out by the American Academy of Pediatrics. The kids also had their brains scanned in an MRI machine.
Brain changes: The scans revealed that kids who spent more time in front of screens had what the authors call lower “white matter integrity.” White matter can be roughly thought of as the brain’s internal communications network—its long nerve fibers are sheathed in fatty insulation that allows electrical signals to move from one area of the brain to another without interruption. The integrity of that structure—how well organized the nerve fibers are, and how well developed the myelin sheath is—is associated with cognitive function, and it develops as kids learn language.
Lead author John Hutton of Cincinnati Children’s Hospital told MIT Technology Review there’s a clear link between higher screen use and lower white matter integrity in the children his team studied. That structural change appears to be reflected in the results of the cognitive test the kids took as well, which showed high screen time associated with lower levels of language and literacy skills. “The effect size is substantial, as these findings also rigorously controlled for multiple comparisons across the brain,” Hutton says.
Just tell me how much screen time is okay for my kid already. Unfortunately, that’s not so easy. “It’s hard to say what the ‘safe’ age or amount of screen time is,” Hutton says. “My motto is ‘Screen-free until three’—this at least gets kids to preschool with a solid anchor in the real world, where their basic sense of connection with caregivers and early language skills have solidified.”
It’s a small study, but also big. “While relatively small for a behavioral study, this is actually a fairly large MRI study, especially involving young children, [and] the first to explore associations between screen time and brain structure,” Hutton says. Next steps include more tests on kids and efforts to figure out how parents’ screen use might influence their children.
The take-home message: “Caution is warranted,” Hutton says. “Children are not small grown-ups, and their needs change with development.”
https://blockgeeks.com/guides/blockchain-developer/
As the title suggests, in this guide, we are going to show you how to become a blockchain developer. As you will soon see, blockchain development is not much different than regular web development. To ease things up for you, we have written this guide to help you learn blockchain development and give you action steps at the end of each section.
The scope of development on the Bitcoin blockchain was a little limited. However, the game completely changed with the advent of Ethereum, which was the world’s first programmable blockchain. Developers all around the world finally had the opportunity to build applications on top of a blockchain. This is the reason why learning blockchain development has become such a hot skill.
How to Become a Blockchain Developer
It goes without saying that we are living in the “era of the blockchain”. The impact that it can have on our future is truly scary and magnanimous. So, how can you get a piece of that “blockchain action”? If you are to become a blockchain developer, then there are certain steps that you need to take.
Hopefully, at the end of the guide, you will have the tools required to kick-start your journey. If you are serious about becoming a developer then we need to set some expectations for you. Firstly, it is going to take time and you will need to dedicate your time and resources to your education (you can continue your blockchain development course by taking our online classes). Secondly, do not expect immediate results, becoming a blockchain developer is not a magic pill.
So, having said that, let’s start your journey.
How To Become A Blockchain Developer Tutorial!
Become A Blockchain Developer – Milestone #1: Understanding The Basics
Blockchain Development Tools
One of the biggest hurdles with anything as new and revolutionary, such as the blockchain technology, is familiarizing oneself with various concepts integral to the system.
If you are a beginner, then there are certain terms that you need to be familiar with:
Learn Blockchain Technology
Blockchain: The blockchain is a chain of blocks where each block contains data of value without any central supervision. It is cryptographically secure and immutable. Decentralized: Blockchain is said to be decentralized because there is no central authority supervising anything. Consensus Mechanism: The mechanism by which a decentralized network comes to a consensus on certain matters. Miners: Users who use their computational power to mine for blocks. It could be advisable to learn more about these terms that are widely used in the crypto-sphere. It is highly recommended that you go through our comprehensive glossary. It is important to learn these basic terms otherwise you will be very lost further on in your education. Now, up next, it is time to educate yourself some more on the technical aspects of the blockchain.
If you are interested in the technical aspects of how to create a fin-tech application on top of the Blockchain then you should definitely learn the ins and outs of cryptoeconomics. Most developers are usually well-versed in the “crypto” part of the equation but their knowledge of the “economics” part is extremely lacking.
This difference in knowledge is extremely apparent when you study some of these ICOs floating around. It is very obvious to see that the economics side of their ICO’s is not well thought out.
So, in light of that, it can be a good idea to read up a bit on economics and have a general idea of it. If you want to learn about cryptoeconomics in general, then you may check out our article here.
If you are intrigued by the cryptography specifically and want to know how signatures work and what public key cryptography means, then read this.
After that, it is highly recommended that you understand how bitcoin works. Bitcoin is the most widespread, finest and one of the more elegant applications of the blockchain technology. You can even call it the finest example of what the blockchain technology can achieve purely because of the impact that it has had.
So, it is advisable that you read Satoshi Nakamoto’s whitepaper of bitcoin. You can find it over here. Now that completes the first milestone.
Let’s check out the action steps that you need to take over here:
Get acquainted with the various terms and lexicons. Read up on the more technical aspects of the blockchain. Read the bitcoin whitepaper. Become A Blockchain Developer – Milestone #2: Learn The Process
It is pretty surprising to see how many budding “developers” have not had any real-world first-hand experience with cryptocurrency at all. How can you possibly innovate and improve upon a platform when you have not used it even once?
It is strongly recommended that you start getting acquainted with the system today.
Go to Coinbase or any other exchange that you are comfortable with or is accessible in your country and buy some coins. You don’t need to create an extensive portfolio straightaway, just buy a few coins and see how the whole process works.
It is extremely straightforward. Since you are not going to be buying a lot of coins then simply use a basic online wallet.
These wallets are the easiest to use among all. The creation is super simple because it’s basically creating your own account on any of the exchange services. Furthermore, you can access this wallet from any server or any device in the world as long as it is connected to the net. Having said that, there is one big problem when it comes to online wallets. Your private key is going to be saved on another server. This is basically like serving up your key to hackers on a silver platter. Do NOT use online wallets to store huge amounts of your money. Store the bare minimum that you need for exchange purposes.
As you create an extensive portfolio, you must learn how to utilize cold wallets to store your money. You can learn how to do so here. Later on, if you create your ICO then you MUST know how wallets and, in particular, multi-sig wallets work.
We are bringing this section to a close here, the tough part starts from the next milestone.
Your action steps are here:
Learn how the exchanges work. Get acquainted with wallets. Become A Blockchain Developer – Milestone #3: Let’s get coding!
As a blockchain developer, you will face tons of challenges in the back-end. Creating and maintaining a public blockchain is not easy because of a number of reasons.
(Before we continue, a huge shoutout to David Schwartz for his keynote address regarding C++ use in blockchain software development in CPPCON 2016.)
Reason #1: Security Blockchains, as David Schwartz puts it, should be fortresses. Firstly, the code is public and open for all to see. Anyone can look at the code and check for bugs and vulnerabilities. However, unlike other open code resources, the downside of finding vulnerabilities on blockchain code is massive. Any programmer can hack in and get away with potentially millions and millions of dollars. Because of these legitimate security concerns, development on the blockchain is usually very slow.
Reason #2: Resource Management It is important to keep pace with the network. You cannot fall too far behind and not keep up with all the network demands. You should be well equipped to handle remote and local queries.
Reason #3: Performance The blockchain must always perform at its highest possible capabilities, but for that to happen the language chosen must be extremely versatile. The thing is that there are certain tasks in the blockchain which are parallelizable whilst there are some tasks which can’t be done in parallel.
A good example of “parallelizable” task is digital signature verification. All that you need for signature verification is the key, transaction and the signature. With just three data you can conduct verifications in a parallelized manner.
However, not all the functions on a blockchain should be done that way. Think of transaction execution itself. Multiple transactions can’t be executed in parallel; it needs to be done one at a time to avoid errors like double spends. Some languages are good at parallel operations while some are good in non-parallel operations.
Reason #4: Isolation What is deterministic behavior?
If A + B = C, then no matter what the circumstances, A+B will always be equal to C. That is called deterministic behavior.
Hash functions are deterministic, meaning A’s hash will always be H(A).
So, in blockchain development, all transaction operations must be deterministic. You cannot have a transaction that behaves one way and then behaves another way the next day. Similarly, you cannot have smart contracts that work in two different ways on two different machines.
The only solution to this is isolation. Basically, you isolate your smart contracts and transactions from non-deterministic elements.
There are some languages which fulfill most of these needs. If you are a blockchain developer, then you definitely need to have some basic knowledge of C++ and JavaScript.
While C++ may seem a little outdated, the truth is that it wonderfully satisfies all the functionalities that we have described above. In fact, Satoshi Nakamoto wrote the Bitcoin source code in C++.
Along with HTML and CSS it is one of the three core technologies in World Wide Web Content Production. Javascript is usually used to create highly interactive web pages.
So, now we will see how to create a very simple blockchain using Javascript.
Huge shoutout to savjee.be for the content below.
How do we make a block? What does a simple block consist of? In our simple cryptocoin that we are going to make (Let’s call it “BlockGeeksCoin”), each block will have the following pieces of information:
Index: To know the block number. Timestamp: To know the time of creation. Data: The data inside the block. Previous Hash: The hash of the previous block. Hash: The Hash of the current block. Before we continue. You need to understand certain terms that we are going to use in our program:
This: The “this” keyword is invoked inside a function and enables you to access the values inside a specific object that calls that particular function. Constructor: A constructor is a special function which can help create and initialize an object within a class. Each class is restricted to only one constructor. Now that that’s done, let’s start making our block.
Creating the Block
const SHA256 = require("crypto-js/sha256");
class Block
{
constructor(index, timestamp, data, previousHash = '')
{
this.index = index;
this.previousHash = previousHash;
this.timestamp = timestamp;
this.data = data;
this.hash = this.calculateHash();
}
calculateHash()
{
return SHA256(this.index + this.previousHash + this.timestamp + JSON.stringify(this.data)).toString();
}
} Code Analysis
Ok, so this right here is out a block. So, in the first line of the code, we called the crypto-js library because the sha256 hash function is not available in JavaScript.
Next, we invoked a constructor inside the class to call for objects which will have certain values. The thing that probably catches your eye is the calculateHash() function. Let’s see what exactly is it doing.
In a block, we take all the contents and hash them to get the hash of that particular block. We are using the JSON.stringify function to turn the data of the block into a string to hash it.
Ok, so we have the block ready and good to go. Now let’s connect the blocks together into a blockchain.
Creating the blockchain: Becoming A Blockchain Engineer
class Blockchain
{
//Section 1 Genesis block creation
constructor()
{
this.chain = [this.createGenesisBlock()];
}
createGenesisBlock()
{
return new Block(0, "01/01/2017", "Genesis block", "0");
}
//section 2 adding new blocks
getLatestBlock()
{
return this.chain[this.chain.length - 1];
}
addBlock(newBlock) {
newBlock.previousHash = this.getLatestBlock().hash;
newBlock.hash = newBlock.calculateHash();
this.chain.push(newBlock);
}
//section 3 validating the chain
isChainValid()
{
for (let i = 1; i < this.chain.length; i++)
{
const currentBlock = this.chain[i];
const previousBlock = this.chain[i - 1];
if (currentBlock.hash !== currentBlock.calculateHash()) {
return false;
}
if (currentBlock.previousHash !== previousBlock.hash)
{
return false;
}
}
return true;
}
} Code Analysis
Ok, so a lot of things are going on in the chain above, let’s break it down into sections.
Section 1: The Genesis Block What is the genesis block?
The genesis block is the first block of the blockchain, and the reason why it is special is that while every bock points to the block previous to it, the genesis block doesn’t point at anything. So, the moment a new chain is created, the genesis block is invoked immediately.
Also, you can see a “createGenesisBlock()” function wherein we have given the data of the block manually:
createGenesisBlock()
{ return new Block(0, "01/01/2017", "Genesis block", "0"); } Section 2: Adding The Blocks Firstly, we will need to know what the last block in the blockchain currently is. For that we use the getLatestBlock() function.
getLatestBlock()
{
return this.chain[this.chain.length - 1];
}
Now that we have determined the latest block, let’s see how we are going to add new blocks.
addBlock(newBlock) {
newBlock.previousHash = this.getLatestBlock().hash;
newBlock.hash = newBlock.calculateHash();
this.chain.push(newBlock);
} So, what is happening here? How are we adding the blocks? How are we checking if the given block is valid or not?
Remember the contents of a block? A block has the hash of the previous block right?
So, what we are going to do here is simple. Compare the previous hash value of the new block with the hash value of the latest block.
How to become a blockchain developer
Image Courtesy: Lauri Hartikka medium article
If these two values match, then this means that the new block is legit and it gets added to the blockchain.
Section 3: Validating the Chain Now, we need to check that nobody has been messing with our blockchain and that everything is stable.
We are using the “for” loop to go from the block 1 to the last block. Genesis block is block 0.
for (let i = 1; i < this.chain.length; i++)
{
const currentBlock = this.chain[i];
const previousBlock = this.chain[i - 1];
In this part of the code we are defining two terms, current block and previous block. And now we are simply going to find the hash of these two values.
if (currentBlock.hash !== currentBlock.calculateHash()) {
return false;
}
if (currentBlock.previousHash !== previousBlock.hash)
{
return false;
}
}
return true;
} If the “previousHash” of the current block is not equal to the “Hash” of the previous block, then this function will return False, else it will return True.
Using the blockchain
Now, we are going to finally use the blockchain to create our BlockGeeksCoin.
let BlockGeeksCoin = new Blockchain();
BlockGeeksCoin.addBlock(new Block(1, "20/07/2017", { amount: 4 }));
BlockGeeksCoin.addBlock(new Block(2, "20/07/2017", { amount: 8 })); And that’s it!
So what happened here?
We created a new cryptocurrency based on the blockchain and named it BlockGeeksCoin. By invoking this new object, I activated the constructor, which in turn created the Genesis block automatically.
We simply added two more blocks to it and gave them some data.
It is that simple.
(Thank you savjee.be for the amazing and simple explanation.)
That’s it for this milestone. Let’s look at the action steps. It is very simple but it definitely isn’t easy:
Get educated in one of the many blockchain friendly languages like C++, Javascript, C#, Go etc. Become A Blockchain Developer – Milestone #4: Get Educated On Smart Contracts
how smart contracts work
How do you define a smart contract?
According to Wikipedia, a smart contract is “a computer protocol intended to facilitate, verify, or enforce the negotiation or performance of a contract”. While it was first proposed by American cryptographer Nick Szabo in 1996, Ethereum is often credited with popularizing the concept and making it mainstream.
You can learn more about smart contracts in our in-depth guide here.
So, what are the desirable properties that we want in our smart contract?
Anything that runs on a blockchain needs to be immutable and must have the ability to run through multiple nodes without compromising on its integrity. As a result of which, smart contract functionality needs to be three things:
Deterministic. Terminable. Isolated. Feature #1: Deterministic
A program is deterministic if it gives the same output to a given input every single time. Eg. If 3+1 = 4 then 3+1 will ALWAYS be 4 (assuming the same base). So when a program gives the same output to the same set of inputs in different computers, the program is called deterministic.
There are various moments when a program can act in an un-deterministic manner:
Calling un-deterministic system functions: When a programmer calls an un-deterministic function in their program. Un-deterministic data resources: If a program acquires data during runtime and that data source is un-deterministic then the program becomes un-deterministic. Eg. Suppose a program that acquires the top 10 google searches of a particular query. The list may keep changing. Dynamic Calls: When a program calls the second program it is called dynamic calling. Since the call target is determined only during execution, it is un-deterministic in nature. Feature #2: Terminable
In mathematical logic, we have an error called “halting problem”. Basically, it states that there is an inability to know whether or not a given program can execute its function in a time limit. In 1936, Alan Turing deduced, using Cantor’s Diagonal Problem, that there is no way to know whether a given program can finish in a time limit or not.
This is obviously a problem with smart contracts because, contracts by definition, must be capable of termination within a given time limit. There are some measures taken to ensure that there is a way to externally “kill” the contract and to not enter into an endless loop which will drain resources:
Turing Incompleteness: A Turing Incomplete blockchain will have limited functionality and not be capable of making jumps and/or loops. Hence they can’t enter an endless loop. Step and Fee Meter: A program can simply keep track of the number “steps” it has taken, i.e. the number of instructions it has executed, and then terminate once a particular step count has been executed.Another method is the Fee meter. Here the contracts are executed with a pre-paid fee. Every instruction execution requires a particular amount of fee. If the fee spent exceeds the pre-paid fee then the contract is terminated. Timer: Here a pre-determined timer is kept. If the contract execution exceeds the time-limit then it is externally aborted. Feature #3: Isolated
In a blockchain, anyone and everyone can upload a smart contract. However, because of this the contracts may, knowingly and unknowingly contain virus and bugs. If the contract is not isolated, this may hamper the whole system. Hence, it is critical for a contract to be kept isolated in a sandbox to save the entire ecosystem from any negative effects.
Now that we have seen these features, it is important to know how they are executed. Usually the smart contracts are run using one of the two systems:
Virtual Machines: Ethereum uses this. Docker: Fabric uses this. Let’s compare these two and determine which makes for a better ecosystem. For simplicity’s sake, we are going to compare Ethereum (Virtual Machine) to Fabric (Docker).
If you are interested in Ethereum development specifically then it is important that you learn solidity as well.
For anyone who wants learn how to make DAPPs (Decentralized Applications) or get into the ICO game, learning Solidity is an absolute must. We already have a detailed guide to it which you can read here. However, here we are going to give you a basic overview. Solidity was developed by Gavin Wood, Christian Reitwiessner, Alex Beregszaszi, Yoichi Hirai and several former Ethereum core contributors to enable writing smart contracts on blockchain platforms such as Ethereum.
Solidity is a purposefully slimmed down, loosely-typed language with a syntax very similar to ECMAScript (Javascript). There are some key points to remember from the Ethereum Design Rationale document, namely that we are working on a stack-and-memory model with a 32-byte instruction word size, the EVM (Ethereum Virtual Machine) gives us access to the program “stack” which is like a register space where we can also stick memory addresses to make the Program Counter loop/jump (for sequential program control), an expandable temporary “memory” and a more permanent “storage” which is actually written into the permanent blockchain, and most importantly, the EVM requires total determinism within the smart contracts.
If you are interested in learning solidity then you can check our in-depth class here.
So, let’s see the action steps now:
Understand how smart contracts work. (Optional for Ethereum developers) Learn Solidity. Become A Blockchain Developer – Milestone #5: Get into a Blockchain Development Company
One of the most important things that you can do as a budding developer is to constantly stay in the mix.
Go and join the Reddit forums, Gitbub pages, and StackExchange and connect with other developers and always be on the lookout for any news regarding the technology.
Along with that, it will be helpful for you to know what people look for in blockchain developer. What qualities are companies looking for when they are looking to hire? You can find that information here.
This information can be very useful in you fine-tuning your skills enough to appeal to the companies.
Path to Becoming a Blockchain Developer or Engineer: Conclusion
So, this is a rough roadmap for you and your journey to becoming a blockchain developer. This alone won’t be enough, of course, you will need to show your own initiative and always be in the mix.
If you are looking for a resource of information on blockchain development then click here.
We wish you all the best on your journey!
Facebook(fb)和Google兩大網上廣告霸主的地位正受到威脅,最新數據顯示,Snap、Pinterest和亞馬遜(Amazon)等網絡平台正後來居上,第三季廣告業務增速較兩個霸主更快。
大增五成 fb僅升28%
當中,以Snap的廣告業務表現最強,第三季收入飆升50%;Pinterest次之,增長47%;三者中最弱的亞馬遜也有44%增幅。相比之下,fb第三季廣告收入僅增28%,是連續第三個季度增長低於30%;Google更只有17%增長,近期一直在這個水平徘徊。
市場研究公司EMarketer早前指出,fb和Google雖然合共仍佔據美國網上廣告過半份額,惟預期今年將首現收縮。EMarketer估計,整體美國網上廣告市場明年將增長17%,達1513億美元(約1.18萬億港元)。
蘭桂坊每年的萬聖節活動,今年攔腰被斬了。
自從蘭桂坊在80年代從無聲無息漸次成為亞太區首屈一指國際知名夜遊地段以來,頭一遭被禁;那夜到鏞記晚飯,特意回來探望,物是景變人非,盡在不言中。
回來……
是的,回來!
曾經中環心臟蘭桂老街坊,每次途經,「回來」的意味濃郁。
蘭桂坊是怎樣煉成的?
當然不是當年旅遊協會的創意,也非政府某某部門個頭一朝瞓醒良心發現推出的項目;自然衍生,人同此心,心同此理,適時適候,便出現了。
Stephenie港大畢業後來英國唸法律,之後回去跟師傅,那次回來倫敦考試跟我說:中午從電車路旁的律師樓走上德己立街,一直去到左轉彎位,有意大利男裝店子,一旁加開小Café中午賣很不一樣的三文治,正宗咖啡,坐斜坡上的長條木椅進食,頗有點歐洲風味。
摯友Timothy的哥哥David來港執業,約同剛回來、還未開始工作的我到Mad Dog歡樂時光,臨出門前律師樓的後生喊他:人客想再問你一兩點法律意見……遲到,讓我先進入幾乎全部紅鬚綠眼顧客、英國Pub味濃厚的空間,被迫感受猶如50年代黑人由正門走入南部不屬黑皮膚種族的餐廳,單單種族歧視的眼神足可將你射得無身自處;國外上課生活近十年,沒想過關乎種族膚色的尷尬竟然發生在自己家鄉。
不過Mad Dog始終是個好地方,從九龍塘搬到蘭桂坊,望山的窗門正正對着「癲狗」;思念Fish n Chips 及一、兩Pint Guinness,踢着拖鞋走過去它的天井部份,好好享受風涼水冷。
員工相熟了:鄧生,着拖鞋坐天井好啦,如果入裏面,我哋難受㗎……
梗明啦,這點規矩點會唔明,正如在那個環境大大聲講粗口,不論男女;沒人會阻止你,西方文明讓子民們的眼神別你而去,視若隱形,無聲無形地行使孤立,讓你自覺極度冇癮。(明續)
11月3日,周日。本報「新聞點評」欄王高天佑日前論述寶島股市時提到,台灣加權指數在重磅股台積電帶動下創29年新高,離1990年歷史高位咫尺之遙。加權指數成分股權重根據即時市值計算,作為5G大潮主要得益者,權重高達23%的台積電表現神勇,年初至今股價累漲三成六,台股想不水漲船高也難。
高兄以「一命救全家」來形容台積電對寶島股市的貢獻,或許有些微貶低其他成分股之嫌,惟不容否認的是,以市值釐定權重(market cap-weighted)的指數架構,與「八二法則」存在不少共通點,所謂一白遮三醜,台積電縱未至於一命救全家,說此股於寶島一夫當關,雖不中亦不遠矣。
股票跑贏國庫票據?
港股恒生指數三大重磅股騰訊(00700)、滙控(00005)及友邦(01299)迄上周五權重平分秋色,在恒指中各佔一成左右,任何一隻對港股的牽引作用俱不及台積電之於台股。相較之下,本地色彩濃厚得多的MSCI明晟香港指數(MSCI Hong Kong Index),友邦佔比高達23.41%,跟台積電於當地指數所佔比重不相伯仲,且抵得上排名二至七合共六隻成分股的總和,不論從權重絕對值抑或相對其他主要成分股影響力着眼,可比性似乎更高一點。
老畢對台股並無研究,但高兄大作令在下靈機一觸,想及衰股多好股少與投資回報的關係。這個現象既令持有市值加權指數基金合情合理,同時使透過揀股博跑贏大市吃力不討好,市場愈來愈有效率,主動型策略要在形勢不利下突圍,看來必須另闢蹊徑。
早前看了一篇由美國亞利桑那州大學教授Hendrik Bessembinder撰寫的論文,題為〈股票跑贏國庫票據嗎?〉(Do Stocks Outperform Treasury Bills?),發現1926至2018年,每7隻在證券價格研究中心(CRSP)數據庫內紀錄在案的美國上市普通股,就有4隻「終生」累計回報低於一個月國庫票據(have lifetime buy-and-hold returns less than one-month Treasuries),而表現最佳4%上市公司,足以貢獻93年裏美股全部淨增長。相關結論若離事實不遠,一命救全家這句話用於華爾街這個全球最成熟股市,貼切程度未必遜於台股、港股。
輸家遠比贏家多
正如前述,以市值定權重的指數本就有類似八二法則效應,牛市中強者愈強往往更明顯。從2009年3月9日標普500指數日中低位666點計算,美股過去10年餘不計股息累漲3.6倍,複合年增長超過16%。看過Bessembinder的論文後,很難不認同持有市值加權指數基金慳水慳力,比期望主動型基金於扣除管理費後年賺接近兩成實際兼划算得多。然而,世上總有人捨易取難,視接受挑戰為樂,閣下如有志逆流而上,那麼論文至少有兩點值得討論。
一、投資者若要偏離市值加權模式,比方說把資金等額配置(equally-weighted)於可多可少的心頭好,那麼避開衰股的重要性絕不下於選中好股。「終生」跑輸一個月國庫票據七中佔四,針對的也許只是美國,惟個股輸家遠比贏家多,卻放諸四海而皆準。
在上述論文發表後,美國證券行O'Shaughnessy Asset Management作了一些跟進,把全球具代表性指數成分股併湊成一個等值權重投資組合,發現過去四分一世紀若剔除當中表現最佳10%股份,年回報為負1%;倘剔除表現最佳25%股份,組合年蝕9%【圖1】。
賺埋賺埋唔夠輸
這項發現足以印證好股對投資回報的貢獻,惟更具啟發性的是,若剔除表現最差10%股份,同一組合年賺14%;掃走表現最差25%股份,年均回報更高達22%【圖2】!
二、類似分析立足於歷史數據,回歸現實,沒有任何投資者有本事長年累月買中好股避開衰股,可是劣股雖則年年不同,但整體而言大概都有某些共通點,諸如盈利增長每況愈下、不斷增發股份攤薄股東權益、管治水平低落等;換句話說,股市中地雷無處不在,入七球失八球,賺埋賺埋未必夠輸。
許多紅極一時的基金明星近年戰績一落千丈,與其說他們拙於擇優而買,不如把其困境歸因於無法避開對回報和名聲造成永久破壞的衰股。沿此路進,主動型基金要打翻身戰,得認真思考Bessembinder論文中的微言大義。
(編者按:畢老林最新著作《我的投資日記》現已發售)
歡迎訂購:實體書、電子書
蔣芸昨天的文章問:下一步在哪裏?她說現在是年輕人最困難的時刻,進也不是退也不是,下一步該怎麼辦?
這也是香港許多人的疑問:抗爭的前景會如何?香港是回不到從前了,但往後該怎麼走下去?
網上有兩篇文章談到抗爭前景。一篇刊在「基進報導」上,講「軍政府時代已來臨:抗爭運動需要面對的八個現實」。現實是:警隊不可能崩潰,反而因為獲得政府和背後中共給予有史以來最大權力,和一張張禁制令讓他們對付示威者更加肆無忌憚;社會上大部份資本家、財團,始終站在有權者一方;國際媒體對香港的關注,已很難得,但不可能長期維持每天都高度關注;幾乎肯定政府已組織秘密警察或政治警察;接管港台、廢除公共廣播改為類似中央台的喉舌角色,對電視及新聞出版加以限制,看來日子都不遠了。文章又指韓國與台灣,從專權政治走向民主都奮戰了幾十年。因此,香港未來也會經歷極長的抗爭歲月,或3年或30年,香港目前這種灰暗局面可能成為日常。
另一篇刊在連登。文章引述美國政治科學家Erica Chenoweth作的研究,指出從1900到2006,世界323場社會運動,成功的幾個關鍵:一是參與運動的活躍人數佔人口3.5%;二是支持者來自社會不同界別;三是非暴力成功機會53%,暴力行動成功機會26%;四是要作長期經濟戰,罷工、罷市、罷消費最有效。文章認為,以上幾個條件,香港都具備,尤其和勇不分、互相合作,以及罷消費和黃色消費圈等已在實施。文章說見到許多手足被濫捕很心痛,但被捕的手足絕不想抗爭者內訌和灰心,累同頹就休息一陣,之後就是繼續行動!
兩篇文章都各有道理。但我也有些不同意見。
關於一百多年的社會運動的成功率,我覺得應該分開社運是在文明國家發生,還是在專制國家發生。就世界範圍來說,相信323場社運絕大部份是在文明國家發生的。在專制國家發生的社運,專權鎮壓的力度大得多,我相信3.5%人數參加是不會成功的。許多人講非暴力抗爭的成功例子,包括甘地、馬丁路德金、曼德拉等,實際上他們的抗爭對象,都是較文明的政府。曼德拉在自傳中說他在南非監獄裏,常常與獄警對抗,獄警也奈何他不得,因為這些南非種族主義者雖不是好人,但做人還有底線,這底線就是不隨便打人。但在中國,和香港的黑警,有做人的底線嗎?
此外,韓國、台灣爭民主的對象,是本國的強權,強權依靠的外國是民主國家特別是美國;而香港的抗爭對手,則不僅是本地的港共,而且是背後更強大更野蠻的中國強權。難度比韓台都大得多。但另一方面,現在的國際形勢、全球的主流意識又與數十年前不同了。而中國面臨的經濟困境,中國對香港這個國際金融中心的依賴,美國和西方國家在經濟上、在對華方略上,對香港的重視程度,都不是當年的韓台可比。這是對香港抗爭形勢各有利弊的因素。
中共四中全會後,許多人都去分析中國對香港的未來政策。我同意蔣芸所說,「與其去想當權者的套路、手段,不如找出一條真正可以走下去的道路」。利用現在民意中大幅度傾向抗爭者的優勢,擴大和延續在經濟和社會範圍的擁黃制藍的抗爭,保持長期作戰的心態,就是可以走下去的路。如連登的文章所說:「要記住:輸咩都可以接受,就係唔可以輸自己」。
http://www.facebook.com/mrleeyee
李怡
The Devver Blog A Boulder startup improving the way developers work. Tips for Unit Testing For the past few weeks, I’ve been doing a series of posts on my thoughts on unit testing. Although I originally published them in little, bite-sized posts, I wanted to collect them all here in one massive post for those of you with bigger reading appetites.
I also wanted to add one thought to sort of tie all these tips together. Unit testing is all about improving productivity. It’s important to realize that the ROI for testing looks something like this:
this graph is very exact
A very professional-looking graph. I guess ROI should really be ‘benefit’, but whatever, you get it.
If you are just getting started with unit testing, you’re at the bottom of the curve, so you’re going to sink a lot of time into testing without much benefit. Similarly, once you’ve done a lot of testing on a project, trying to test that last little bit may require more time than it’s worth. The goal of these tips is to help you maximize the benefit-to-time ratio, wherever you may be in this curve.
We’re big on automated testing here at Devver, but I know a lot of companies aren’t as into it. There’s been plenty written about all the reasons you should be writing tests, but over the next week or so, I’ll give you some tips on how to get started (and if you’ve already got some tests, how to improve and expand your test suite).
I can’t claim to have come up with these best practices, so I’ll litter this post with links to those resources that have taught me something.
A quick word about terminology. When I say “tests” I mean any type of automated tests, which may include unit, functional, integration or any other types of tests. When I say “production code” I simply mean the code goes into the actual product – i.e. the code being tested.
Tip 1: You’ll probably suck at testing Writing tests can be frustrating at first. It is usually a lot harder and more time consuming than you’d expect. Unfortunately, some developers assume that the cost of writing tests is fixed and conclude that the benefits can’t possible justify the time spent – so they quit writing tests.
Writing test code is an art unto itself. There are a whole new set of tricks and skills to learn and it’s difficult to do correcty right away. Stick with it. The better you get, the faster you’ll write tests, and the more your tests will pay off.
Tip 2: Most code is not written to be tested Another surprising thing you’ll find when you start testing is that your production code is not very testable. This isn’t surprising – if there were no tests previously, there was no reason to design for testability. This will make your first tests way harder to write and less valuable (i.e. they are less likely to catch real bugs)
There are a few tricks to get around this. First, try testing only new code or just test a smaller side project to start to get the hang of it. When you’re ready to start testing your legacy application, try the following.
If you need more help with this, pick up a copy of Working Effectively w/ Legacy Code. There is also some additional information here.
Again, stick with it. As you write more tests, your application will be more testable (bonus: it’s likely be easier to understand, more loosely coupled, easier to refactor, and more DRY as well!). As it becomes more testable, it’ll be easier to write additional tests. This creates a positive loop where things get better and easier as you go.
Tip 3: Test code isn’t production code Another common mistake is to treat test code just like production code. For instance, you’d like your code production code to be as dry as possible. But in test code, it’s actually more important for tests to be readable and independent than to be dry. As a result, you’ll want your tests to be more “moist” than dry. Specifically, you’ll want to use literals a lot more in test code than you would in production.
In general, the most important properties of good tests are:
Independent – No test should affect the outcome of any other test. Put another way, you should be able to run your tests in any order and always have the same outcome. A corollary of this is that setup/teardown methods are evil (both because they increase dependence and they decrease readability) Readable – The intent of each test should be immediately obvious (both by it’s name and by its code). Fast – Each test should run as quickly as possible, so the entire suite is also fast. The faster the suite, the more you’ll run the tests, and the greater benefit you’ll get (because you’ll catch regressions quickly) Precise – Each test should focus on testing one thing (and only one thing) well*. Ideally, if a test fails, you should know exactly what part of your production code broke by just glancing at the name of the test. Also, if your tests are precise, it’s less likely that a change in your code will require you to change many different tests. In practice, precise tests are short and only have one assertion or expectation per test.
*Note: this doesn’t apply to integration tests, which should make sure all components play nicely together.
Tip 4: Always write one test
When writing new code, it’s easy to avoid testing because it seems so daunting to test all the functionality. Rather than thinking of testing as an all-or-nothing proposition, try to write just one good test for the new functionality.
You’ll find that having just one test is much, much better than having no tests at all. Why? First of all, it’ll catch catastrophic errors, even if it doesn’t catch bugs in edge cases. Secondly, writing even one test may force you to refactor your production code slightly to make it more testable (which in turn, makes future tests easier to write). Finally, it gives you “test momentum”. If you have no tests, you’ll be inclined to delay testing, since there is more overhead to get started. But if you already have just one test in place, it’ll be much easier to add tests as you think of them (and to write regression tests as you find bugs).
By the way, don’t worry about testing at exactly the right level. Having one functional test is way better than having no tests at all. You can always come back and break the “bigger” test down into more targeted, precise tests.
Tip 5: Improve your tests over time
Here’s a terrible idea – decide you are going to spend a whole week building a test suite for your project. First of all, you’ll likely just get frustrated and burn out on testing. Secondly, you’ll probably write bad tests at first, so even if you get a bunch of tests written, you’re going to need to go back and rewrite them one you figure out how slow, brittle, or unreadable they are.
As they say, the best writing is rewriting. You should try out new techniques (and rewrite) old test code. But it’s OK to have patchwork tests.
You just found out fixtures suck? (they do). Or that those ‘setup’ methods make your tests less readable? Are you excited about using mocks? Great, apply your new technique to some new tests, rewrite a few old tests, and call it a day. Don’t try to rewrite your whole suite, because you’ll be kicking yourself when you rewrite your suite again after you decide technique X isn’t perfect in all cases.
Just like in production code, good practices take awhile to bake and prove themselves. See how maintainable, easy to understand, easy to read a new technique is. You can always move more tests over.
Tip 6: Don’t be dogmatic
There are a lot of best practices for testing that may or may not apply to your situation. Should you have one assertion per test? Should you use mocks and stubs? Should you use Test Driven Development? Or Behavior Driven Development? Should you do interaction or state-based testing? While all of these practices have real benefits, remember that their applicability and value depends largely on your project, schedule, and team.
Don’t be afraid to play, but don’t feel like you need to convert everything to the one, true way to test. It’s fine to have a suite that mixes and matches these best practices. In other words, context is king.
Tip 7: Be reasonable
There are lots of reasons why tests are great, but if your practices aren’t ultimately making your code better and you more productive, it’s not worth it. You have to always think about the return on your time investment.
There are domains in which automated testing is very difficult and doesn’t provide a lot of value, like GUI testing. I would recommend writing tests for the interface that the GUI calls, but actually testing that things show up correctly is quite tricky and error prone.
Also, 100% code coverage shouldn’t necessarily be your goal. As you get better at writing tests, I think you’ll find they provide a lot of value, but at some point, covering that last small percentage of code may require way more effort than it’s worth.
Tip 8: Keep learning!
Just like learning new programming languages makes you a better developer, learning about new testing approaches, libraries, and tools will make you a better tester. The state of the art of testing is changing very rapidly these days – new frameworks and techniques are released almost every month. Keep looking at example code and trying out new stuff.
For instance, here’s a few tools that you may not be using but are very cool: Heckle and RushCheck
Finally, if you want to learn more, subscribe to Jay Field’s blog – he has lots of good (if sometimes controversial) thoughts about testing.
And with that, I’ll wrap up this series on testing. If you have your own testing tips, please share them!
Why enterprise blockchain?
So, you might be thinking about what are the benefits of enterprise blockchain? If you are familiar with blockchain, then you should know that blockchain is all about transparency and decentralization. However, enterprise requires the complete opposite of what a traditional public blockchain has to offer.
For enterprises, permissioning is essential. For them, blockchain needs to ensure that permissioning works through the system, protecting data and intellectual property at all times. Permissioned blockchains are the key there. Not only do they offer proper security levels, but they are also fast compared to a public blockchain.
Public blockchains are not enterprise-friendly. By definition, anyone can join an open network — which not all enterprises would want — until and unless they are creating a public network for a part of their service.
So, what factors really make enterprise blockchain so lucrative? Let’s look at the benefits below:
An enterprise blockchain can mean less cost. It also improves fast processing and ensures low cost. The use of smart contracts automates a good part of the network transactions, including settlement clearance, and so on. The elimination of a centralized network also ensures that there is no humanly possible fraud in the network. Human-made errors are also removed from the system — saving time, effort and cost associated with it. It offers greater transparency and provides accountability. Get access to real-time data Enterprise blockchain is great for setting up authorized access across the different security levels of the organization. Lastly, it helps redundancy reduction and improves better quality of data collection and transmission. Why do we need frameworks?
Now that we have understood the need for the enterprise blockchain, let’s understand why enterprise needs frameworks.
Frameworks offer a structure that enables developers to build apps quickly. It is true for every ecosystem as frameworks take care of the granular functionalities of an ecosystem. For example, if you are using a Django framework to build the web, then you do not have to worry about basic functionalities, including authentication, database connection, and so on. The frameworks provide modules to carry out the tasks. With frameworks, there is also no need to build something from scratch or in simpler words, “reinvent the wheel.”
Similarly, an enterprise cannot afford to build a complete end-to-end blockchain solution. The frameworks help to simplify the process and also ensure that the enterprise has the freedom to customize the blockchain network they are building for themselves. Frameworks offer the building blocks which act as an accelerator for enterprises, and they can focus on implementing their requirements, rather than re-inventing ideas.
The same can be true for web development. You can find development frameworks that enable web developers to create websites efficiently.
Market Share
Distributed ledger technology is going to change the world around us. The number one reason behind its impact is the benefits it has to offer. Organizations can take full advantage of the trust provided by the blockchain. It fuels trust in any organization — improving processes and execution of even the most complex organizational aspects.
Another big advantage of using blockchain is its low-cost implementation, management, and execution — all of these accounts to its market share, which can reach $20.3 billion by 2025. Currently, the DLT market share stands at merely $4.3 billion.
According to IBM, things are more promising than ever. According to them, the blockchain markets can easily reach $60 billion by 2024. This astounding growth is only possible if the organizations use blockchain to power their business process. According to the paper, artificial intelligence will also play a crucial role in its growth.
What are the elements of a successful platform?
Just implementing blockchain will not give you success. As an organization or an enterprise, you need to ensure that certain elements work as intended. Let’s discuss the elements below to get a better picture.
Confidentiality
As an enterprise, you have to ensure that you understand the importance of confidentiality. Blockchain is defined as a transparent, decentralized network that offers privacy and trust.
For an enterprise, it is not possible to offer universal access, as there are many important data or information that needs to stay private for the success of the organization. If the info gets leaked, the organization can incur huge losses. That’s why confidentiality and security are the two elements that need to be at the top priority for an enterprise where lost information can cost millions of dollars lost in revenue.
To get started, organizations need to establish proper access control throughout the data stored on the platform. Not only that, but they should also adhere to legal and regulatory requirements.
Enterprise blockchain frameworks always have the feature to provide the necessary security. Hyperledger Fabric, for example, utilizes a three-level data flow structure to ensure that the enterprise data remains secure at any cost.
The three-level data flow structure looks like below:
Providing authorized access to users by grouping information on separate ledgers or channels. The transactions between the parties are kept confidential with the help of better privacy and data confidentiality. This way, no third party can access transactional information. Lastly, offering zero-knowledge validation ensure that the encapsulated data can be verified without data reveal. Transparency
Transparency is necessary if an enterprise organization wants to grow. They need to ensure the proper flow of information among the parties. Supply chain requires the most transparency as the right information can allow it to work optimally. Any lack of information means service interruption — resulting in a loss.
In general, enterprises always fear that information sharing can backfire if their competitors get to know about it. Internal pricing is an important part of any organization — leaking this information can lead to market disadvantage as the competitors can learn about their pricing and create strategies to improve market share.
To overcome this, any enterprise blockchain framework should understand the subtle difference between critical information and normal information. By doing so, the transparency in any entity can be maintained without the need to expose the core critical information.
When it comes to the public blockchain, transparency means a completely different thing. Not even the public blockchain is completely transparent — only the required information is easily accessible — whereas the more critical information is safely stored in the network. In terms of transparency, enterprise blockchain frameworks do a better job by ensuring different levels of privacy. The best approach is to have a higher level of privacy where the information required to run the network optimally is shared among peers. The confidential information, on the other hand, needs to be stored safely — keeping the organization interest intact.
Operational Cost Reduction
A properly transparent network can bring better operational cost reduction. It can do it in the form of reduced manual intervention, audit trial, and cost-sharing.
Middlemen elimination: Any network that manages to share information without exposing more critical information, also means that the elimination of intermediaries. By doing so, the cost required to hire or manage them is completely removed. In some cases, the number of mediators can be reduced to a bare minimum. Smart contracts are mostly used to automate transactions and data sharing. Cost Sharing: Another operational cost reduction comes from the use of distributed ledger technologies. Big organizations require data to share as a part of their workflow. By using a distributed ledger technology, the big organizations can share the cost needed to host and maintain the data themselves. This also means that there is no need for any third-party solution or software — which means additional cost and more security issues. Audit Trail: An appropriately transparent system also means easy audit-trial, reducing the cost and time associated with it. Transactional Cost Reduction
The last point that we are going to discuss is the transaction cost reduction. DLT enables enterprises to remove third party elements or at least decrease their involvement to a bare minimum. This results in transaction cost reduction.
How to choose an enterprise blockchain framework?
Awesome, we covered quite a bit about enterprise blockchain framework. Now, it is time to go through the steps that you should take to choose the right enterprise blockchain framework.
The list will help you shortlist a number of enterprise blockchain frameworks. From there, you need to make a decision based on your requirements. Choosing an enterprise blockchain framework can be tricky — and that’s why it is important to look for different elements before making a choice.
Community: A thriving community can help you cope with issues and growth. As an enterprise, you should always ask how large and impactful the framework community is? License: As an enterprise, you need to double-check the framework license. Ask yourself questions such as it is free to use? If yes, does it have some limitations? These questions will equip yourself to make the right decisions. Using a framework with limited usage or wrong licensing term can easily hamper the long-term growth of your organization Support model: Frameworks require constant support. If it receives support from a large corporation, then you may want to give it a try as it means it has a better rate of survival in the long term. Roadmap: Does the framework you are choosing have a clearly defined roadmap? If it does, then check out what they have to offer in the future. Activity: How active is the framework when it comes to updates and patches? Ease of use: Last, but not least, you should also try to understand the ease-of-use the framework has to offer. Best Enterprise Blockchain Frameworks
With all the basics covered, it is now time to list the big enterprise blockchain frameworks out there. Let’s go through them to learn about them.
Hyperledger Fabric
Hyperledger Fabric is one of the most popular enterprise open source blockchain frameworks out there. It first came into existence in 2016. It is a permissioned network which makes it an ideal choice for enterprises out there. It is an open-source enterprise blockchain and offers all the key features that you would expect from an enterprise blockchain — including smart contracts, protocols, privacy, security, and so on!
There are many benefits of using Hyperledger Fabric
Open source and free to use Quality code Modular design, great for integration and expansion Higher efficiency Permissioned network Can be used in a wide range of industry Out of all the features, the modular design is what makes Hyperledger Fabric appealing. It also offers proper confidentiality, transaction encryption — which public blockchain do not offer for enterprise needs. The modular design also brings in fewer verification levels and improves software and network performance. Lastly, you can use Hyperledger Fabric and configure it in such a way that it protects enterprise data by keeping it check with regulations and various laws.
Read more about Hyperledger Fabric here.
Quorum
Quorum is another popular enterprise open source blockchain framework based on Ethereum network. It got first released in 2016. The framework is mainly focused on the finance sector and is the brainchild of JP Morgan.
Just like the other enterprise blockchain framework, Quorum also offers permissioned networks and also allows organizations to customize it according to their requirement.
The key features of Quorum include the following
Peer and network management Open source blockchain framework Community-driven Trustworthy and enterprise-ready Mature Enterprise-ready Community-driven The three major components of the Quorum architecture include the following-
Quorum node: A Geth-powered command-line tool Constellation transaction manager: A transaction manager which focuses on transaction data care. Enclave: Enclave handles sensitive information and manages encryption/decryption Quorum has been actively developed, and there has already been successful implementation beyond financial institutions. The key selling point here is faster processing transactions, easy integration, and permissioned network
Read more about Quorum here.
Enterprise Ethereum(EE)
Ethereum network is popular due to its ability to create dApps and smart contracts. However, it is an open network, public in nature.
Enterprise Ethereum is a permissioned or private take on the Ethereum codebase. It enables enterprises to utilize Ethereum without worrying about confidentiality, security, transparency, and cost.
The EE offers all the features that Ethereum has to offer. The only difference is the inclusion of the identity management for making it a permissioned network. EE is an excellent product as it aims to utilize existing standards and wants to evolve side by side. Currently, it is a member-driven organization(Enterprise Ethereum Alliance) with over 300+ company members, 45+ countries, 1400+ individual members, and 19+ technical and legal advisory.
Read more about Enterprise Ethereum here
R3 Corda
R3 Corda aims to provide a global logical ledger in a permissioned environment. It offers financial organizations the ability to create permissions networks. It can also be used for other sectors, including trade finance, supply chain, healthcare, and government.
The Corda architectural standards include the following:
Longevity Stable Secure Interoperable Scalable R3 Corda also has its own business principles laid out that helps the enterprise understand what it has to offer.
Users can discover each other Offers assured identity Support shared logic Privacy oriented Immutable Authoritative Overall, R3 Corda has to offer everything that an enterprise blockchain has to offer.
Read more about R3 Corda here
Conclusion
This leads us to the end of our enterprise blockchain frameworks article. Here we discussed what constitutes enterprise blockchain, its need, market share, elements, and the enterprise blockchain frameworks out there. So, what do you think about blockchain for enterprise? Comment below and let us know.
Test
我知道手足依家喺出面打生打死中,但係我都係要出呢個post多謝大家,希望大家返歸途中一開連登唔係啲撚屌灰post同輸post
過咗差唔多5個月,香港人經歷過無數個集會同遊行,多謝有出過嚟嘅你,不論你係和理非定勇武,你已經為呢場不可能嘅抗爭招來咗曙光,香港人從來都冇諗過會有一個幾百萬人嘅遊行會發生,冇諗過會衝入立法會,冇諗過會經歷黑社會恐襲,更冇諗過會有真槍打落香港人度,被性侵同被自殺更係數之不盡,但係你都冇驚到,而你選擇咗今日行出嚟,你就係英雄,你為呢場運動付出咗一分力,沒有100%勇武,只有100%信念,你盡咗你最大嘅努力去爭取自由,香港人不斷進化,就係因為你有出嚟經歷不公,然後吸收經驗捲土重來,所以你肯出嚟,已經嬴緊。
勝利最終會屬於香港人,因為有你。喺呢場運動入面冇人係孤兒,你肯出嚟,你會發現左右都係你嘅兄弟姊妹。
煲底見
142 throwaway_yc 7 hrs 60 news.ycombinator.com/item?id=21410579 I get nervous very easily and my heart starts throbbing when it comes to speak to anyone. It is affecting my career. How can I fix it? What are the resources to improve speaking skill?
the_watcher 2 hrs There's a reason Toastmasters is so recommended in this thread: it's really good at what it is, so try that out.
For other options, try speaking a lot more in low pressure situations. At work, try small groups to start. Ask your manager if you can lead a team meeting where the agenda is defined, and your role is just to facilitate discussion. Present your work to 3 teammates and ask them to hold questions until the end.
In your personal life, if you are a regular at a coffee shop or lunch place and see the same person repeatedly, learn their name, then ask them how they are doing whenever you see them. Try to actually answer with something specific when people ask how you are doing. If you have kids or access to them (young relatives), try reading out loud to them. Join a writing seminar that asks you to read your work out loud.
The above are just a laundry list of ideas, the point is basically "find low pressure environments to speak, do it as often as possible, vary the scenarios."
dahart 13 mins Many years ago in college I was skydiving with an adrenaline junky friend who would sign up for public speaking at any opportunity just to make himself nervous on purpose. He enjoyed the thrill of having his heart start throbbing, and even liked not being very prepared. While I recommend lots of preparation for public speaking, I do really like the idea of embracing being scared of speaking as part of the fun, and I’ve tried to borrow that attitude and make it part of my own personal narrative. I guess it helped because these days I always jump at the chance to give a conference talk.
achenatx 5 hrs I was a disaster at speaking until I was in grad school and had to teach classes (6+ hours/week). At some point you get enough volume and it becomes no big deal. You start focusing on trying to educate or amuse your audience and are no longer nervous. The key is to get enough practice. Toastmasters is one way to get started, but nothing beats the volume you get by signing up to teach a class several times a week.
hammerbrostime 4 hrs Same experience here with teaching, it has had a huge secondary benefit for me in that I know how to run a room. I also highly recommend running a meetup.
moron4hire 2 mins That's basically how I did it, too. Teaching martial arts classes 3 to 5 times a week, for 3 hours a night (though that was many years and many beers ago). My coworkers remark on how well I speak in public, and while I get that from their perspective it's a scary thing, to me it's just another job.
If you're in a reasonably sized city, there are probably dozens of tech meetups looking for content. Just start hanging out and you'll start seeing opportunities to talk. Take them.
Ididntdothis 2 hrs If you are like me (super shy and self conscious) I definitely would do toastmasters first before doing a lot of teaching. I did teaching for a while but I wasn’t ready so I just kept piling up more and more bad experiences without getting better. After a year of toastmasters I had a pretty good foundation and finally could actually improve.
It feels like going into a country without ang knowledge of the language. You can be there for years and never learn anything. But once you have a foundation then learning is possible.
Loughla 4 hrs I'll second this. There is nothing like teaching to get your ability to publicly speak built up.
I was garbage at public speaking until I had to teach an ed. law course in graduate school. Now I'm exceptional at it.
It also helps if it's a subject you're super knowledgeable about. That helps.
SeanBoocock 3 hrs Yeah this was a big one for me. TAing classes as an undergrad and then running classes as a grad student removed a lot of the anxiety. I still have some level of nerves, but it feels like it comes from a healthier place and isn’t crippling. Also helps to fail in low(er) stakes situations and realize that the world goes on afterwards.
thomasjudge 3 hrs There are also other venues for teaching that one can explore - extension classes, etc. I paid for my summers in grad school by teaching test prep classes. Was pretty awesome once I could focus mainly on the grad classes - LSAT, GMAT, GRE. But great teaching and public speaking experience.
walshemj 2 hrs Me to I was nervous, but when I was 20 or so I joined a group in the UK 18 Plus (now just Plus) similar to Rotaract.
I joined the committee and I was my job to stand up and announce the next weeks events, I used to imagine putting on circus masters top hat to get over my nerves.
I ended up going to various conferences run on formal lines and speaking at those.
I have also gone to a large number of "political" conferences run on formal lines (think roberts rules) both as delegates and standing order committees - which organize the formalities of business.
I was on may way to a meeting and bumped into John Bercow on his way to the house of commons, unfortunately I did not have my copy of Citrine other wise id have asked him to sign it.
Simon Lancaster has a good book on a mechanics of rhetoric and speech writing
https://www.amazon.co.uk/Simon-Lancaster/e/B005NAQX8U/ref=dp...
khazhou 2 hrs I would suggest, if this is at phobia-level for you, it's worth thinking about why you're getting so nervous.
I went from enjoying public speaking to absolutely dreading it (feeling like I'm falling off a cliff, trembling voice, sudden drops in blood pressure leading to complete loss of train-of-thought). This was literally career-limiting, and I could see how I was being excluded from projects that would require presenting to VPs + execs.
I spent a lot of time reflecting on it, and realized what had happened was that I had taken over management of a failing project, and I wasn't turning it around. Our VP was extremely harsh, and drew out everyone's professional failures/limitations. But I realized that my sudden and complete inability to present, was linked to me "knowing" that my work sucked, or knowing that no matter what I said, it was gonna end badly with me looking like an idiot.
So I would suggest you might think about whether the public-speaking nervousness also happens when you're asked to present something you're happy, proud, and knowledgable about, or whether it's connected to insecurity in your work, project, or your own mastery of the material you're presenting.
RandomBacon 6 hrs Toastmasters is great.
The meetings are structured with an agenda, the toastmaster for the meeting makes sure the agenda is followed and stays on topic.
They've made the program more dynamic. I don't know the new details very well and not sure how I feel about it. It used to be everyone received a workbook on how to deliver ten short speeches about varrying topics, but now you can customize it and I think they use an online website/program to keep track of that.
Everything at a meeting is always explained to everyone, and everyone I've met at Toastmasters meetings have been very nice.
You can use the website (https://www.toastmasters.org) to find a meeting near you and usually just drop in, but it's always polite to give them a head's up that you'll be visiting.
Ididntdothis 5 hrs Totally agree. Toastmasters got me from barely being able to speak before a group to a point where I have no problems giving presentations before anybody. One of the best things I ever did in life.
city41 2 hrs I've found different Toastmaster groups operate a bit differently. Some are very strict (using clickers whenever you say "um" for example) and others not as much. So OP, if you do try Toastmasters, and the first group doesn't "feel" right, see if another nearby group is available.
pstuart 3 hrs Another CTM chiming in to say that Toastmasters should be one's first stop on this journey.
vkaku 4 hrs +1 for Toastmasters
Most times you can just attend a local chapter speech for free, and if you like it, you can sign up for a membership. There have been plenty of great tips on giving great speeches, and more importantly, this is all hands on!
And you can speak freely without worrying about sounding imperfect, and nobody judges you, because everyone out there want to learn and improve themselves.
southphillyman 4 hrs This. Have been attending meetings for about 2 months and have given 4-5 table topic speeches. Give my first prepared speech next week. Definitely can tell I'm getting better just by having to do it repeatedly.
Yhippa 6 hrs I've done this in various forms and I think this is one of the best methods to get better at public speaking. I recommend at least dropping in on a meeting to see how they're run. You'll be very impressed at how organized they are.
jasonlotito 4 hrs I just want to reinforce this. Toastmasters is where you want to go. The quality of the speakers is excellent, but more importantly, they are incredibly kind and understand to people who aren't great speakers. This is literally the answer I came here to find, and post it if it wasn't. Toastmasters 100%.
FillardMillmore 5 hrs Some have mentioned this, but it's true: jump at every opportunity you have to do any kind of public speaking gig - whether it's a 10 minute thing or a 2 hour thing.
This is what I've done - and though the first time is incredibly nerve-wracking, especially if it's a longer presentation, it only gets easier from that point on. But you do want to make sure that you know your material very well - the goal is to be as knowledgeable as possible of the topic on which you are speaking. Be prepared for questions.
Personally, I've found that presenting the topic to a friend or family beforehand helps immensely. Writing and reading your PowerPoint (or equivalent) is one thing, but learning how to transition naturally from point-to-point and from slide-to-slide is something else entirely. You'll also find, while presenting, mistakes that you didn't notice simply by reading through it and you can correct those mistakes before they serve to embarrass you publicly.
I recommend staying away from coffee before presentations and instead, drink an herbal caffeine-free tea to calm your nerves (chamomile works wonders for me).
nscalf 2 hrs I was not a very good public speaker (or general communicator), and it would make me feel uncomfortable having to have some normal conversations like ordering food. Nothing too severe, it didn't really interfere with my life, but it bothered me that it wasn't a very easy thing for me even though it was a daily part of my life. I think the most impactful way that I have improved this is sort of different from what a lot of people have recommended: Ask strangers how their day is going.
You're ordering a coffee? Well that barista has had a day, and you should ask them about it! It takes them a few seconds to ring you up, "I'll have a medium coffee, black, thanks! How has your day been?" People are usually very happy to be asked how their day is going, and you get the chance to practice small talk. After a while it feels natural, and you cheer up most of the people you interact with.
efm 32 mins Patrick Winston of MIT gave a good series of lectures on how to give a presentation: https://www.youtube.com/playlist?list=PL9F536001A3C605FC His explanation of why writing things on a board and slow pacing is helpful for your audience made sense to me.
DoreenMichele 2 hrs If you have any health issues, tend to those. Anxiety can be a side effect of things like blood sugar issues. Being physically healthier can help reduce the incidence of anxiety attacks.
It's generally useful to wonder what other people want or need. Most people spend a lot of their time in social settings worried about being judged by others, hurt in some way, etc.
If you are focused on putting others at ease, things will go smoother and then this success will help calm your nervousness and can lead to a positive feedback loop that goes good places.
I can be a ball of nerves, but other people have told me I don't look it. I have been told that's surprising news because I seem so calm.
That's probably in large part because I'm aware that my subjective experience of the thing and my performance aren't necessarily directly related and the important piece is performance.
(This comment is not comprehensive. I'm just hoping to add new thoughts not already covered by other comments.)
m1nes 6 hrs I talk for a living. It takes time to improve. Some quick and dirty tips (sorry, english not my first language):
Relax and meditate
Practice a LOT. Everyday. Even two minutes helps.
Learn to breath properly
Record yourself speaking aloud at home with your phone. Make notice of all the nuances of the voice
Prepare your material very well
Visualize you are explaining the stuff to a friend at home. It will help you sound more natural.
Getting nervous is normal and part of the game.
thomasjudge 3 hrs - Record yourself speaking aloud at home with your phone. Make notice of all the nuances of the voice
This. Better yet video yourself. REALLY painful but REALLY helpful.
marviel 3 hrs If you can find a supportive local improv troupe, that allows you to take classes, or has open "Jams" -- I would HIGHLY recommend taking said classes, or attending such jams. Learning how to perform improv (particularly, longform improv) has taught me a difficult-to-exhaustively-enumerate set of skills that are not limited to public speaking, such as:
Focused Observation / Listening (insanely important, this)
Ability to Deal with the Unexpected
Empathy / Emotional Intelligence
Negotiation (If you've played being on both sides of the table, you know what the other side wants)
Cooperation
Banter
Storytelling
Emotional Endurance
Interpersonal Relationship Creation and Maintenance
...
In addition to these skills, I've also found myself a lot happier, being able to engage in a creative activity within a supportive community which offers something completely novel each time I attend.
When I moved cities, I started a new improv troupe in that city, because it means that much to me.
Check it out. :)
linsomniac 46 mins A few thoughts, as someone who went from being deathly afraid of talking in front of the class in Junior High School, to presenting well over 100 times:
Just do it: Find opportunities to talk in front of people. Come up with things you know about, and find meetups or similar, and talk. Part of it is just getting familiar with it.
Watch other people do it: Find other presentations that have lots of views and/or that you enjoy watching, and figure out what you like about them. Then try to do a similar thing.
Figure out what you want to say: I've spent a lot of time talking impromptu. The talks I like the most, and the feedback I've gotten, has been refine your message and practice your presentation and pacing. The best talks I've seen really had their message refined.
clickme_zsh 1 hr I used to have anxiety attacks when I was in school, I had stage fright from my child hood, I avoided crowd, never participated in extra curricular activities unless it was forced or mandatory and even then I used to find reasons to skip it. I dreaded that I would stand out and become a laughing stock. But in my 8th grade one of my teachers pushed me to present a lot of projects regularly. At first I tried to find way out of them but slowly I got around the fear bit by bit and Now thankfully I am in a better position when it comes to presentation, talks and general speaking skills. I guess one can confront fear bit by bit and chew through the pain/trauma and build resistance. That's all just wanted to share my experience hope it helps.
blockcipher 4 hrs This doesn't actually answer your question as far as a pointer to resources, but here's some tips:
Take a breath before you begin speaking. Often I'd find that I'd start speaking too quickly and my voice wasn't "ready" which ends up making you sound squeaky or out of breath or just generally flustered. This tip also helps a bit with the tendency to speak way too fast.
If you have room to move around, don't be afraid to walk back and forth across the stage/platform/front of the room etc. Don't over-do it, but I find it's way easier for me to speak while I'm moving.
At least for myself, I've found that moments where I feel like I really stumbled over my words, or spoke too quietly/loudly, or "forgot a line", actually end up being very noticeable when I later watch the video recordings.
Public speaking is very opinionated and some people have some pretty pedantic rules. For example toastmasters is really aggressive about chiding you for using the word "umm". Now there's perhaps some truth to it - the role of a word like "umm" is to indicate that your brain is searching for what to say but still produce sound thus "holding your space" (so that no-one else cuts in), so in one sense I get why it's recommended against because when giving a talk there's no risk of someone cutting into you; your audience is captive (usually). However in another sense, "umm"-ing helps keep a certain rhythm/tempo to your speech which can actually help keep things smooth when you're searching for what to say.
Similar to the above, virtually every "rule" of public speech can be broken if you have the fundamental principles right. Barack Obama says "uhh" quite frequently, yet most people consider him charismatic. You could certainly argue that he's charismatic in spite of saying "uhh" rather than because of it, but in any case just remember not to miss the forest for the trees. Follow the principles - measured speech, don't be afraid to use space, try to talk more or less naturally - and you'll be a great public speaker.
Lastly, public speaking is a skill. It takes practice. If you can find a room to yourself, practice giving a talk a bunch, and make sure to record yourself. You'll likely be very surprised in the difference between your perception of yourself and how you actually come off, and having recorded videos is a great way to identify any tics/odd habits you have that you might want to work on.
sixhobbits 5 hrs I got a 2 month gig lecturing basic CS after finishing my degree. It was a pretty transformative experience - the first two lectures were among the worst experiences of my life! Panic in front of 200 people. After that it was fine.
Since then volunteered recently to speak at tech meetups, etc. Organizers are usually very happy to find more speakers! Still get the heart rate increase, sweaty palms, etc but apparently it no longer affects my speaking :)
Thriptic 3 hrs I have this problem as well. I have gotten around it in a few ways:
First, practice what you are going to say RIGOROUSLY. You should be able to recite your full speech / pitch / presentation / whatever with no use of visual aids. Basically, you should memorize it. I always assume that I will be ~20% worse while performing than while practicing, so if I can do the whole presentation without visual aids while practicing then the visual aids will be sufficient to save me if I get in trouble while presenting. Most people rely on their visual aids as a huge crutch during practice, and as a result they forget what they want to say and end up staring at their PowerPoint or notecards during the entire presentation as opposed to engaging with the audience. They come off as nervous and unprepared. Further, using your visual aids as a crutch incentivizes creating verbose slides as an insurance mechanism which is why most PowerPoints you see are shit.
Second, realize that public speaking is fundamentally about telling a story. A good story and a good presentation should share the same elements: they should be amusing and engaging (always work in some humor and audience interactions to engage the audience, many of whom probably don't want to be there and will fall asleep otherwise); they should be concise (don't go on tangents); key take aways should be clearly stated and there shouldn't be a data dump; there should be a natural flow and verbal transitions should be employed as if you were speaking to a friend; etc. Finally, know your audience. What do they care about / want to see? What do they already know? How can they be persuaded or amused?
Third, as other posters have mentioned, the only way to get better at this is to practice. Go find opportunities to practice. It only takes a few good presentations to shake the fear of being a bad presenter / acquire the rep of being a good presenter.
Finally, realize that the stakes are pretty low normally. Most of the presentations I sit through are awful (even those from C suite people who basically present for a living) and most people can't speak or convey information well. As such, I rarely remember when people bomb as bad performance is the norm.
mrskitch 2 hrs Not a big one, but one that I found helped a lot: cutting out the "filler" words ("like", "uh", "so"...). These fill words are used in many place to hold onto the listeners attention, but doing it too much can make your talk non-dynamic, and your audience will stop listening.
We have somewhat primal instincts that make us maintain focus on subtle things like body movement and differences in speech, or even lack thereof. So moving slowly from one spot to another, talking with your hands, and having gaps in your speech will help your audience naturally maintain focus.
Filler words are easy to remove: just practice not saying them when you're having conversations with the clerk at the store or your friends/family. You'd be surprised how effective it is, and how much more polished you'll sound.
clickme_zsh 1 hr With experience and some anxiety resistance filler words can be filtered out as you said. It does detract ones attention from the speaker and reduces the quality of the talk. It is a long process.
mrskitch 1 hr It's well worth the effort as it it will also pay dividends in the longer term. Speaking wo filler words in normal conversations (especially in the workplace) can help you immensely.
lcall 1 hr There is some good advice in this discussion. My own personal checklist for when I have to give a talk. Not perfect but it helps me: http://lukecall.net/e-9223372036854744342.html
(It is oriented for church but the steps would largely be the same elsewhere.)
soapdog 8 mins Hi,
I am a part of a program at Mozilla called Mozilla Tech Speakers and we help people to become better public speakers. By your message, I'm guessing that public speaking is not your focus buuuut we do have a lot of resources that might be helpful. You can find them at:
https://wiki.mozilla.org/TechSpeakers#Resources_for_Speakers
If I can give you a couple fly-by tips, I'd say:
Do not compare yourself with extroverted people. Speaking comes quite easy and naturally for some but that doesn't mean it should be like this for everyone. We're quite unique and what works for one person might not work for others. AS long as you're making progress, you're doing good and you're the only one who can decide what progress look like for you. Don't measure yourself using "other people rulers".
If you have a group of trusted friends that you could meet (online is fine) regularly, you could do an exercise that helps a lot, more about it at the end of this comment. This exercise is my favorite thing ever and the most useful thing in this comment to be honest.
Small meetups are a great place to start practicing talking to people. They are low pressure and low stakes. If you want, find a small meetup that you enjoy. Go for a while as a listener until you create some relationships there and feel safe. Then, when you want, try giving a small talk (5 min). It works quite well if there is someone you trust there and you can do this as a pair. Pairing with more experienced people makes talking easier (you both might want to practice together first).
So, back to the exercie and the actual very useful thing in this whole wall of text. It goes like this:
Find a group of trusted people. I think it needs to be a group of three people for this to be useful, in my mind the ideal group is five people.
Meet regularly, online or IRL. Whatever regularly means is up to you all.
Decide on a topic for the meeting before hand. It doesn't need to be tech, but it usually is. It is fun to do themes, for example Halloween topic.
Prepare a 2 minutes talk about that topic.
You'll take turns. One person will give their two minutes talk, others will listen.
Each of the listeners will then give their feedback and this is important because there is a structure to it. The feedback must be one of two kinds. The listener can either talk about what they liked from your talk or what they want to see/hear more about. There is not space for negative comments or criticism. You can only praise something or say what you want to see more about. It is this way so that it creates a safe space. People can talk without the fear of being criticized. It works better than providing "constructive criticism" because instead of prunning what you see as problems, you're steering the person towards what you see as strenghs, this is better for both you and them.
This exercise is done for all the Mozilla Tech Speakers cohorts, we've done this with hundreds of people and the same technique is used by Universities and courses on public speaking. It is a proven thing and has a name, but I forgot the name and anyway the content is more important than the name.
If your fear of speaking is related to potential live feedback from people, you might want to experiment with analog asynchronous forms of getting your opinions and content out like making zines. They can convey the same content but allow you to practice finding a voice, a style, and gain confidence in exposing your own ideas without the fear of live audience.
Hope this helped!
acak 3 hrs I'll give a shout out to Speeko! (I'm not affiliated with them in any way)
A testimonial (also unaffiliated): https://www.speeko.co/blog/beth-tucker-interview
la_fayette 4 hrs There is probably no shortcut to that skill. Try to find speaking opportunities on topics you know about, e.g. at meetups. It is better to start in front of a smaller group (10 people), from my experience nervosity is lower when in front of a smaller group. Record your talk and listen to it afterwards in detail and find things you want to improve. Don't hesitate to ask for feedback from others, and don't take it too personel. Try to be objective like you would train for a sports challenge.
Every public talk will improve your skillset a bit, so you need to just do it!
omarhaneef 6 hrs This is easy:
Prepare
Practice
Toastmasters (or similar group) is a good way to practice
Meetup groups will ask for speakers if toastmasters is not available
You could also record yourself, and revise
aklemm 6 hrs This is pretty much all there is to it. Perhaps study others closely as well.
bradam 2 hrs Although most of the advices focuses on specific techniques (which is very important to focus on), I want to emphasize something different: diet and lifestyle.
Without sounding too obvious, I can not recommend you enough reducing caffeine and alcohol use (if its a problem) and focusing on sporting regularly.
ken 1 hr An old friend of mine who was very comfortable with speaking told me it was acting that helped him. You get to practice saying someone else's words, until you're ready to use your own.
niklearnstodev 6 hrs This is a tricky one, because there are a few different facets or domains relevant to the topic. Two major ones that immediately come to mind are public speaking and conversational speaking.
I'm very good at conversational speaking, and I think that it mostly comes from listening to a ton of podcasts. This has helped me gain curiosity across a wide range of topics, but has also helped me learn how to dig into those topics via conversation. For this, pick topics you're interested in (perhaps some in fields that you're not fully interested in yet, to broaden your ability to converse across domains!). Also, while listening, look for traits that you admire in conversationalists, and try to practice them when speaking with others (this is a similar approach that can be used to learning anything, really).
As for public speaking, from what I've heard, Toastmasters is as good as it gets. They provide a learning and training environment. Then it's up to you to try it out "in production" (at work, weddings, etc).
Remember that it's a learning experience, and it will only get better with time via analysis, practice, and persistence!
danysdragons 4 hrs Are there any podcasts that you would especially recommend for building conversational prowess?
smars1245 5 hrs Propranolol (beta blocker) will help. It shuts down the fight or flight mechanism in your brain. It calms your voice, your heartbeat and your nerves. It's really amazing...
https://www.consumerreports.org/cro/2012/04/can-you-treat-st...
I pop 4-5 of this 1 hour before a big meeting or presentation. I've also used them at private gatherings when I'm speaking in front of a larger group. Works really well. Tell your DR about your public speaking fears and he/she will more than likely prescribe you a beta-blocker.
huangc10 5 hrs So to sum up your solution in one word, drugs. Nothing against it Propranolol but I just found it amusing drugs can almost be the solution to a lot of biological problems.
smars1245 4 hrs For most people, it's the fear and nervousness of public speaking that's the problem (not the content, knowledge, or skills of the presenter.) This fear can hold people back (it did for me). I'm sure Toastmasters would have the same impact (and I went to a few TM meetings) but I couldn't make it work with my other commitments. Propranolol is immediate and from a personal experience, it was extremely helpful for my career, confidence, etc.
huangc10 4 hrs All good, I get it. Like I said before, it makes sense and sometimes drugs is the solution. For ex. (since I've been watching a lot of baseball recently), Roman could be the go-to solution to ED. I just find it amusing that there is a drug to help with anything/everything.
smars1245 3 hrs I'm sure in our lifetime we will see CRISPR replacing drugs as the panacea to these "biological" issues.
wcip 3 hrs I found this YouTube channel yesterday and it appears helpful: https://www.youtube.com/user/charismaoncommand?itct=CCcQ6p4E...
hemmert 5 hrs This book is, Ole coached me for TEDx - after which my talk was uploaded also to TED.com:
https://www.amazon.de/Agile-Presentation-Design-innovators-p...
wrnr 4 hrs Practice it as much as possible, I stutter and developed selective mutism because of it. Speaking used to agonising to me but in my mid twenties I got cured of my stutter. Don't know how it happened, but one day I realised I hadn't stuttered in months while before I was anxious everytime I had to open my mouth. Now I have a bigger vocabulary than most, in part thanks to my avoidance strategies around certain words.
trilinearnz 25 mins I'm an effective public speaker and really enjoy it (especially the responses I get afterwards). Here are a few of my tips:
Rehearse your presentation enough beforehand (including immediately before in another meeting room if possible) such that you are able to run on auto-pilot after the first few minutes. Can't emphasise how crucial this is.
Conduct your presentation so you're speaking naturally about particular points, rather than trying to remember an exact script (the act of trying to remember what you are "supposed" to say may be causing you anxiety). If you have rehearsed enough, and know enough about your subject, it should be possible for you to do this.
Recognise that you might need to write a script to begin with, when preparing your presentation. This can help ground you, and gives you something to start from. Once you have rehearsed it a few times, you should start developing a "rhythm" that feels more natural to you, and this is when you can start "winging it" a bit more. There is nothing whatsoever wrong with bringing your script / notes with you on the day. This will give you a feeling of security (you have a backup in case you freeze). By the time the end of the presentation rolls around, you may find you never needed to unfold your notes at all.
You will always feel nervous in advance, to some degree. This degree is lessened with lots of prior rehearsal, but it will still be there. Accept it as normal, and don't think that because you're nervous you are destined to fail. After the first few minutes, that's when your "flow" will start kicking in, and things will begin to happen naturally.
When developing your presentation, try to empathise as much from the audience's perspective as possible / take a very skeptical view on your material. If you then convey your presentation in this manner, you will easily be able to get your audience on side with you. This helps you get to the "flow" state more quickly than if you are talking at odds to people, and they keep their wall up.
Hopefully you are presenting about something that you are interested in or passionate about, or at least know enough about to be confident. Let your energy and confidence out into your presentation style. Don't be afraid to use big gestures, and convey your passion in your voice. Think of it less as a recitation of a script, and more of a powerful and fun experience that your audience is being taken along with. Think of your presentation less in terms of merely conveying dry information, but to "entertain" your audience. Emphasise dramatic flair to create interest from your audience. This comes more easily to some people than others (I have a drama background). People respond really well to this if you can pull it off.
Information retention in your audience increases by a lot if you get them to participate in some way. This can be more than just the cliche'd "everyone raise their hand if you have heard of X". If you do this well, and empathise with your audience's reluctance to participate (e.g. say "now I know everybody just loves these audience participation activities! /s"), they can be a really nice break to the monotony of a presentation, and is another tool to get your audience on side with you.
The more punchy and interactive things you can do during your presentation to grab your audience's attention, the easier it will be for you. Rather than looking out at a sea of bored faces checking their cellphones, you will see everyone's eyes looking directly at you, and can feel the expectancy in the air. This is a very powerful state to be in, some people refer to it as "holding the audience in the palm of their hand". Good luck!
davio 5 hrs If your work will pay for it, I've had good results sending people to the Dale Carnegie course.
One of my engineers had almost crippling anxiety speaking in front of even small groups. After the course, she had the confidence to speak up and lead meetings.
vnglst 6 hrs It’s like doing software releases: if it hurts, do it more often.
So accept every opportunity you get to practice.
durnygbur 5 hrs Read a book loudly. Listen to audiobook or a language course and repeat simultaneously after the lector. Try doing these in different languages. Drink water while doing these.
JoshTriplett 6 hrs https://speaking.io/ has an extensive set of useful advice.
i00m 6 hrs I recommend this book: "it's not all about me" - robin dreeke
Digg_mov 1 hr duolingo.com
lowken10 6 hrs I transformed my life by participating in Toastmasters for about a year an a half. Here's the thing, to get good at something you need the following..
Toastmasters provides all four of these ingredients.
Ididntdothis 5 hrs “I transformed my life by participating in Toastmasters for about a year an a half. ”
Same here. The time investment is quite small compared to what you can get out of it. my main regret is that I didn’t learn about toastmasters when I was 18. My life could have gone quite differently.
科網股公布第三季業績,普遍較市場預期為佳,不只美國科網股,在美上市的中資科網股亦然。科網公司固然創意迸發,但同樣重要的,是中美均是十分巨大、具規模效應的市場。美國科網談了不少,今天不如說一下中資科網。
阿黃現在常駐內地,做生意全國跑,居無定所,唯有常吃外賣。不似香港,在內地叫外賣較堂食貴,還要加上20元(人民幣.下同)送餐費,且隨時等上半小時、一小時。
外賣App顛覆消費模式
在內地叫外賣,選擇非常多,幾乎所有餐廳都上線,甚至連火鍋也能速遞來。不單周圍1公里內的餐廳能送,遠至10公里以外的隨時也能送來,通常20分鐘內運到,且價格便宜得難以置信。
如【圖】示的賬單原本45元,但餐廳樂意做外賣,叫得多便有折扣,平台本身又有折扣,速遞費2元也不用,三餸一白飯送來也不用30元。
為何能做到?因為內地人口真的太多了,三四線城市人口向一二線城市湧,農村人口往三四線城市湧,提供源源不斷的廉價勞動力(阿黃學內地人叫外賣小哥做「救命」恩人),不似香港什麼都貴。這樣還有誰會煮飯?外賣平台把餐館和消費者緊緊聯繫起來,為社會創造多少價值?外賣網站改變了人們的消費模式,投資市場自會給予非常大的獎勵。
三四線城市網購發圍
阿黃不只跑一二線城市,三四線城市也要跑。許多生活用品忘了帶,又不知在哪裏買,如何是好?幸好還有網購。
近期內地網購平台紛紛下沉到三四線城市,過往一二線城市的4億人先享受了網購好處,現在全國其他地方的10億人也慢慢能享受到了。下沉市場的發展,不是讓上海人過巴黎人的生活,而是讓農村人能過上海人的生活。
阿黃在三四線城市,難道會期望買Prada、LV?他需要的不過是一些生活必需品。從前三四線城市居民想買也買不到,現在物流發達,也慢慢能過上好日子了。
世上最大的品牌是什麼?不是LV、Nike或Coca-Cola,而是White Box;便似買電腦般的,不少人買Dell、HP的電腦,但佔市場份額最多的其實是「白牌」(砌機)。
農村人民現在要的,是能用上原先在城市才有的日用品,牌子、質量都不是首要考慮。在「白牌」市場,價平就是道理,不是鼓勵假貨、次貨,城市人用10元買到價值10元的貨品,農村人用6元買到價值8元的產品,人們收到貨後心裏會抱怨,抑或開心還來不及?
暢銷降成本 良性循環
如果有網購平台,能不斷提供價值高於價格的貨品,消費者不反覆下單才怪。還是那一句,規模效應。平價但質素不錯的產品銷量起來後,規模效應讓生產成本再一次下降;成本下降提供減價空間,再次促進銷售增長,消費者和賣家兩蒙其利(還有網購平台)。你說內地網購是否還有許多可能?
替社會帶來的價值愈大,市場的獎勵便愈高。美國有許多上千億美元市值的科網企業,反觀內地也不乏具創意的科網企業,規模效應下,大概也會產出許多千億美元科網企業。
筆者為證監會9號業務持牌人
hcl.hkej@gmail.com
(編者按:郝承林最新著作《致富新世代3──你也可以的穩健發財派》現已發售)
歡迎訂購:實體書、電子書