Thursday 20 December 2018

Elon Musk unveils his company’s first tunnel in Hawthorne, and it’s not a smooth ride

Elon Musk unveils his company’s first tunnel in Hawthorne, and it’s not a smooth ride





Billionaire Elon Musk envisions a world where commuting in Los Angeles is as easy as pointing a self-driving car toward an elevator platform embedded in a city street, sinking into a tunnel and zipping seamlessly beneath the traffic at speeds of up to 150 mph.

So far, his company’s progress toward this goal has been a bumpier ride.

On Tuesday night, in a parking lot next to SpaceX, Musk’s Boring Co. unveiled its first tunnel — a 1.14-mile route that runs 20 to 40 feet beneath the streets of Hawthorne, through a neighborhood sandwiched between the 105 Freeway and Hawthorne Municipal Airport.

Musk had promised modified “but fully autonomous” vehicles at the unveiling, but the reality was more modest: a Tesla Model X that reached a top speed of 53 mph, manually driven by an employee who previously drove in the Indianapolis 500.

The trip through the tunnel took about two minutes, illuminated by the car’s headlights and a strip of blue neon lights tacked to the ceiling. The Model X rolled on two molded concrete shelves along the wall, which were so uneven in places that it felt like riding on a dirt road.

The car emerged from the tunnel on an elevator erected inside a round shaft lined with corrugated metal. The shaft, named O’Leary Station in memory of a longtime SpaceX employee who died, is at the site of a shuttered cabinetry store on Prairie Avenue.

“We kind of ran out of time,” Musk said, attributing the rough ride to problems with a paving machine. “The bumpiness will not be there down the road. It will be as smooth as glass. This is just a prototype. That’s why it's just a little rough around the edges.”

Building the 1.14-mile tunnel took about 18 months and cost about $10 million, Musk said. The figure does not include the costs of research, development or equipment, the company said, and it is not clear whether it includes the money spent on property acquisition or labor.

Still, the $10 million is orders of magnitude lower than a typical subway project, Musk said. Part of Boring Co.’s goal, he said, is to create a tunneling process that will be 15 times faster than the “next best” option.

Elon Musk tunnel under Hawthrone
Elon Musk, co-founder and chief executive officer of Tesla Inc., arrives in a modified Tesla Model X electric vehicle during an unveiling event for the Boring Co. Hawthorne test tunnel in Hawthorne. (Robyn Beck / Pool Photo)

1 / 9
So far, the company has used the tunnel exclusively for research, searching for ways to make tunneling faster and cheaper. But Musk said he hoped the route would “ultimately be part of a much larger network in greater Los Angeles.”

A map the company published last year showed a network of stations, including stops at the Getty Center, Union Station and Los Angeles International Airport. Musk also has announced plans for a 3.6-mile tunnel between Dodger Stadium and a Metro Red Line station.

He said the tunnels would be restricted to autonomous, electric cars, but not just Teslas. There will also be vehicles circulating for people on foot or with bicycles.

If work goes well, Musk said, the company could have the whole system running by 2028, when Los Angeles hosts the Olympic Games.

“Ten years sounds like infinity,” he said. “I damn well hope we’d have that thing done.”

Musk said he has spent about $40 million of his own money on the fledgling Boring Co., which was started after he tweeted that traffic was driving him “nuts” and that he was going to “just start digging” to escape it.

The company previously said its planned urban transportation network, called the Loop, would whisk cars and pods through multiple levels of tunnels on autonomous, electric platforms called skates.

But Musk told reporters that Boring officials have abandoned the concept of the skate, saying it was “far more complex” than his new plan: guide wheels that can be attached to the front tires of autonomous, electric cars, steadying the vehicles as they move forward through tunnels.



The company modeled that idea on Tuesday, attaching horizontal wheels to the Model X’s front wheels.

Musk played a simulation showing the wheels folding neatly underneath the car’s undercarriage when not in use. Adding them during assembly or after-market would cost $200 to $300, he said, and would not interfere with the vehicle’s normal operation.

Musk said his first ride in the tunnel was bumpy but “epic.”

By 6 p.m., hundreds of chattering people had lined up to enter the invitation-only event. Many were Tesla owners, some wearing Tesla hats, T-shirts and fleece jackets.

“I’m intrigued,” said Kash Jayawardena, 36, of Venice Beach, who owns a Model S, as he stood in line. He came to the event with his friend Tito Vecchione, 39, who said he was looking forward to hearing more but was concerned that Musk's vision did not encourage people to get out of their cars.

Musk has said the company could build several layers of tunnels to accommodate as many people as necessary. And because the tunnels won’t run above ground, they won’t divide communities like a freeway project would, he said.

Inside, on the construction site near the tunnel’s entrance, Boring Co. had hung long, black curtains to mask a boxy construction trailer, and laid down plush gray carpet to disguise the asphalt — kept tidy by cleaners who stepped in with vacuums after employees and journalists walked past.

They started digging in the SpaceX parking lot, Musk said, “so I could see it from my desk, so I could see if we were making progress or not.”

The first tunneling machine is called Godot, after the play by Samuel Beckett, “because we kept waiting for it,” Musk said. “It took a lot of time to get it active because we didn’t know how to work the thing.”

The company’s next machine, which Musk says will run more efficiently, will be named Line Storm, a reference to a Robert Frost poem.

Tuesday 18 December 2018

'It's About Taking Responsibility of Our Lives' — Interview With Crown's Artem Brazhnikov

'It's About Taking Responsibility of Our Lives' — Interview With Crown's Artem Brazhnikov

blockchain
How hard is it to develop blockchain solutions, which development skills are transferable, and how much time is necessary to get started? These are the questions that we set out to answer with the help of Mr. Artem Brazhnikov, a lead developer for a decentralized project called Crown. 

Hey Artem, thank you for joining us. Would you mind giving us and the readers a short introduction of who you are, sort of a timeline of what it took to get here?

First of all, it’s a pleasure to be here with you today! My name is Artem Brazhnikov and I have been a software engineer for more than eight years now. Getting started with programming was incredibly difficult as I didn’t have a computer growing up, but thanks to the school and teachers where I was studying I had the ability to use the Pentium computer at the lab and learn these skills. After investing a significant amount of time earning my master degree in computer science, I then spent five years working with corporate security, forensic, and cryptography systems.
smart-contract

How did you first get involved with Bitcoin and blockchain?

At some point in 2014-2015, I discovered Satoshi’s Bitcoin whitepaper and I was instantly hooked. The technology fascinated me, but I didn’t have enough time to dive deep because I was still working with companies in other fields. Finding whatever time and energy I could, I started to explore and educate myself about blockchain technology and strived to understand how the consensus systems worked.
After the market started to pick up the pace I was reached out on Upwork by a person from Crown. They were looking for developers and that’s how I got involved in my first blockchain project. I was the lead developer for the Crown Platform API, but eventually, the lead project developer had to leave and I was proposed to become the lead developer of the project.

Would you say it was easier for you to get into blockchain because of your experience with cryptography?

It definitely contributed to my ability to adapt and understand quickly. Beyond cryptography, the general industrial experience of working in software development was of extreme importance. During my journey, I’ve met many developers that have struggled, simply because of the lack of experience in the industry. The fundamentals are extremely important, as no matter how much time you spend analyzing the Bitcoin code and blockchain operations, you still need the core skill set to be able to use all of that.
Even if you are quite experienced, it still takes a lot of time. Especially if you want to create good, resilient systems. They require understanding all of the various distributed systems, the mathematical reasoning, and it can be quite intimidating at first.
What are the biggest challenges that you have experienced as a part of a decentralized project?
Before getting hands-on involvement I had an idea that things would work pretty much the same as they did when developing software for other companies. I would have a product manager and a team to collaborate in order to deliver on items in the pipeline.
Working for a decentralized project is definitely not the same kind of experience. At least in terms of an organization, decentralization proved to be a double-edged sword. Anybody can join the project, but it’s incredibly difficult to turn the team’s energy in the same direction, as there is no company, no employment contracts, no concrete goals, and no product manager.
By far, creating a stable team of developers is the biggest challenge.
Being at the mercy of the markets is also frustrating at times, as more often than not it means that you are working with limited resources, which means that bug fixes and other side projects often take too much time from the main development goals.
However, these are primarily business challenges. As a developer, you are mostly focused on the technical side of things.

Tell us a little bit more about the technical challenges. What can other developers expect to face when getting started?

Almost nobody talks about the unintentional hard forks that are created as a result of updating the software. Bitcoin has a history of many successful updates, but this is not always the case. Communication is very important for all decentralized blockchain projects as everybody needs to be on the same page when pushing new versions.
Then the most important challenges come from achieving a great level of security for your project. The API needs to be secure and continually tested for vulnerabilities. Especially with crypto assets, it is incredibly important (and stressful) to have the responsibility of securing the funds and investments in the project. Just have a look at what happened to the DAO, the vulnerability that caused the hard fork of ETH and ETC in 2016.
Most of the blockchain technology is extremely experimental, and the lack of development standards only add to the challenges we face on a daily basis. For example, DASH master nodes use some very strong math at their core, but the implementation of the code limits us as developers to provide support or expand the system. Trying to change such a system often leads to bugs appearing in other parts of the project creating more technical problems to solve.

What would be your advice for people that are not currently blockchain developers, but are looking to get into blockchain development? How do they get started?

The best starting point would be to get a basic understanding of how blockchain technology works inside, and if you want to build blockchains on C++, you need to go more into math details and understand the cryptography by reading mathematical papers. For example, with Crown, we are working on building an actual blockchain system and we use the C++ language for this.
If you are talking about dApp development, that’s a completely different beast, as you are building smart contracts on existing platforms. That would be Solidity for ETH, and for EOS it’s C++, but there are other languages as well. The best advice would be to reach out to the development team, get their advice, and have a look at their documentation for more information.
If you are a good developer you can just start writing code, of course not in the production version but rather on a test network, just trying to use experimentation to get a good grasp of how the code works, or rather how you can get it to work for you.

Which skills do you think are transferable for upcoming blockchain developers?

Every developer that uses classic applications will have an easier time. If you think about Solidity, for example, it uses similar features that are found in JavaScript, Java, and C++. If you are already experienced as a developer it doesn’t take a lot of time for you to understand the basics.
There are some specific details of the language that are connected to you know blockchain development, calculating gas costs, using the limited blockchain storage and they might prove to be tricky at first. Being a good developer is more than enough, and the next step is a basic understanding of public-key cryptography, algorithms, hashing functions and stuff like that.
If you are familiar with distributed systems, and you know how they work you will also have an easier time, for example, the TOR network. In general, distributed systems are important for nodes to reach consensus, it’s an underestimated part of blockchains, as they play a major role in the whole.
Anybody that wants to start with this they don’t really have to have too much knowledge, as most of the code is open-sourced and it’s available for analysis.
Blockchain technology is rapidly developing and it’s only going to become easier for developers to join in. But if you want to be a great developer and deliver the amazing quality you still need to spend some time understanding how it works inside, you can’t rely on other people’s code without being able to understand it. How are the blocks connected, how are transactions added, what’s the structure of transactions of a block, all of these questions are important.
I would recommend starting reading original papers, and also there are interesting courses available online. There is a great course from Princeton University on Coursera. Last time I checked it was a little bit outdated as it was published in 2014, but it should still serve as a great resource for foundational knowledge especially about Bitcoin.
You can reach a good level of understanding in about four or five weeks.

What are your predictions about the future of blockchain technology?

For one, think that one way or another blockchain will be used in many applications and maybe it’s going to be integrated more seamlessly in the future. This will help adoption and also lower the entry barriers for developers.
There are ongoing research and experimentation with consensus protocols, and I do believe this is one of the most amazing parts of blockchain and decentralized ledger technology. Bitcoin and later inventions have forced us to deal with consensus systems, to build decentralized software and has increased the level of public-key cryptography usage. The blockchain is inevitably going to be mainstream, but its usage will be more seamless for ordinary users.
Apart from the technical side of things, blockchain will provide a way to restructure industries, similar to how the technology is already being implemented for supply chains. My personal hope is that blockchain will be used to improve and restructure government systems, voting, and public spending.
And lastly, there will be a wave of new platforms that will make it easier to create dApps leading to a rise in understanding and adoption of blockchain technology. Security challenges will be solved, new consensus algorithms will appear and more and more people will focus on building a good and functional infrastructure layer.

Thank you very much for your time Artem, we appreciate the time and energy you have invested with us in this interview and we hope to see you again in the future. Are there any parting words you would like to share with our readers? 

I hope that in the near future more and more engineers, researchers and entrepreneurs will join this industry and start building new exciting decentralized applications and systems. I also wish more people will start using software based on blockchain and educate themselves on how to do that.
At the end of the day, it’s not only about tech, but it’s also a switch in how we perceive and use the technology. It’s about taking responsibility for the assets we own instead of giving away the control, and eventually, taking responsibility for our lives.

What do you think of Artem Brazhnikov’s thoughts? Let us know in the comments below!

learn-blockchain



Measure
Measure

Friday 14 December 2018

How to Root Android Mobile

android-designers


How to Root Android with KingoRoot (PC Version)

KingoRoot Android(PC Version) offers every Android user the easiest one-click method to root any Android devices. How to use this universal Android root software to root your Android device? Here we go.

Root your Android via KingoRoot APK without connecting to PC.


IMPORTANT It is suggested that you try KingoRoot Apk first. It is more convenient and easy to use without connecting to a computer.
  • Allow installation of apps from unknown sources on your Android device.
  • Settings > Security > Unknown Sources
  • Free download KingoRoot.apk on your Android.
  • Install and launch KingoRoot.
  • Press "One Click Root" on the main interface.
  • Wait a few seconds until the result appear.
  • Try a few more times for different rooting methods if failed.
  • If still failed, refer to KingoRoot Android PC Version, which has a higher success rate.
For more detailed tutorial, please click

How to Root Android with KingoRoot (PC Version)


Make sure you get everything right beforehand.
  • Device powered ON
  • At least 50% battery level
  • Internet connection necessary
  • USB Cable (the original one recommended)
START ROOTING...
  1. Free download and install KingoRoot Android (PC Version).
  2. Kingo offers the best one-click Android root software for free. Just download and install it now.
  3. Double click the desktop icon of Kingo Android Root and launch it.
  4. After launching Kingo Android Root, you will see its interface as shown below.
  5. Plug your Android device into your computer via USB cable.
  6. If your device driver is not installed on your Computer, Kingo will install it for you automatically. Make sure you get Internet conenction so that device driver can be downloaded. If you are using Windows 8, you may need to change some settings first. When running Kingo Android Root on Windows 8, the issue you may most likely encounter is driver installation looping.
  7. Enable USB Debugging mode on your Android device.
  8. USB Debugging mode enabled is a necessary step of Android rooting process.
    INPORTANT: Pay attention to your device screen for a prompt window. Tick "Always allow from this computer". If you don't, you will probably get yourself an OFFLINE DEVICE.
  9. Read notifications carefully before rooting your device.
  10. Android rooting is nothing big. However, it is not exactly a small issue either. Rooting your device may open a door for you, and yet with risks.
    Android rooting is a modification process to the original system, in which the limitations are removed and full-access is allowed and thus resulting in the ability to alter or replace system applications and settings, run specialized apps and even facilitate the removal and replacement of the device's operating system with a custom one. Rooting your device will immediately void your warranty...  Click to know more about Android Rooting.
  11. Click "ROOT" to root your device.
  12. Kingo Android Root will employ multiple exploits on your device, which will probably take a couple of minutes. In the rooting process, your device may be rebooted several times. Do not be panic, it is perfectly normal. And once it begins, please DO NOT touch, move, unplug or perform any operation on your device.
  13. Root succeeded.
  14. Hopefully your device is well supported and successfully rooted by Kingo. Until your device reboots itself, do not operate.
  15. Check the root status of your device.
  16. Normally, you will find an app named "SuperUser" installed on your device after successful rooting.
    self employed banner

Measure
Measure

Monday 10 December 2018

Air pollution in India caused 1.2 million deaths last year

Air pollution in India caused 1.2 million deaths last year




Air quality in India is so poor that that 1.2 million deaths in the country last year can be attributed to air pollution.
A nationwide survey, published in Lancet Planetary Health on Dec. 6, found that at least 12.5% of deaths in 2017, or one in eight, can be attributed to unusually high rates of lower respiratory infections, heart disease, strokes, lung cancer, and diabetes, which are a result of severe air pollution in a certain percentage of cases. Of the 1.2 million who died from air pollution-related causes, 51.4% were younger than 70 years old.
In total, more than three-quarters of India’s population is exposed to air pollution that’s higher than the recommended level set by India’s government. That level, in turn, is four times the maximum recommended by the World Health Organization. No Indian state achieves pollution levels at or below the WHO’s limits.
On average, people in India have their life expectancy cut short by 5.3 years thanks to air pollution, according to a Washington Post report (paywall) published last month.  Those in two districts east of Delhi—Hapur, and Bulandshahr—have their life expectancy reduced by 12 years, which is the greatest reduction in life expectancy due to air pollution anywhere in the world.
The Lancet study adds to a growing body of evidence about the health impact of air pollution, which shows that those living in the world’s most polluted areas, predominantly in Asia and Africa, are the most affected. Reducing global air pollution to levels recommended by the WHO would increase life expectancy worldwide as much as eradicating breast and lung cancer would, Zoë Schlanger reported for Quartz in August.
In India, where industrial emissions, cars, and the burning of crop residue, wood, and charcoal are standard features of daily existence, it will require significant political willpower for air pollution levels to fall. Perhaps the growing evidence on the millions of deaths caused by air pollution will spark that change, but don’t hold your breath.








TRY EVERNOTE

Firefox Quantum includes a new CSS engine, written in Rust, that has state-of-the-art innovations and is amazingly fast.


Getting Started with Plugins

Plugins can extend Selenium IDE's default behavior, through adding additional commands and locators, bootstrapping setup before and after test runs, and affecting the recording process.
Selenium IDE is using the WebExtension standard to work in modern browsers, you can check out Mozilla's Your first extension.
Communicating between the extensions is handled via the external messaging protocol, you can view an example of that here.
This article assumes knowledge in WebExtension development, and will only discuss Selenium IDE specific capabilities.

Calling the API

Selenium IDE API can be called using browser.runtime.sendMessage.
An example signature would be browser.runtime.sendMessage(SIDE_ID, request) where SIDE_ID refers to the IDE's extension ID, the official published IDs can be viewed here.

Request

The request is the second argument for browser.runtime.sendMessage and is similar in it's ideas to HTTP.
{
uri: "/register",
verb: "post",
payload: {
name: "Selenium IDE plugin",
version: "1.0.0"
}
}
  • uri - a resource locator to an IDE feature (e.g. record a command, resolve a locator)
  • verb - a modifier function (e.g. get gets you stuff, post adds new stuff, just like in http)
The IDE will reply with a valid response, in case of an error it can be viewed by opening the DevTools of the IDE window.
browser.runtime.sendMessage(SIDE_ID, request).then(response => {
console.log("it worked!");
});

The Manifest

Plugins provide the IDE with a manifest that declares their changes and additions to the IDE's capabilities.
{
name: "New Plugin",
version: "1.0.0",
commands: [
{
id: "newCommand",
name: "new command",
type: "locator",
docs: {
description: "command description",
target: { name: "command target", value: "command target description" },
value: { name: "command value", value: "command value description" }
}
},
{
id: "anotherCommand",
name: "another command",
type: "locator",
docs: {
description: "another command description",
target: "locator",
value: "pattern"
}
}
],
locators: [
{
id: "locator"
}
],
dependencies: {
"selenium-webdriver": "3.6.0"
}
}

General Information

  • name - required, the plugin name.
  • version - required, the plugin version.

Commands

A list of new commands to be added to the IDE, each command takes a few parameters:
  • id - required, a camelCase unique identifier for the command.
  • name - required, a natural language name for the command, the user will see this.
  • type - optional, can be either locator or region, is used to enable the find and select buttons. (NOTE: type is still in beta, and may be changed in the future).
  • docs - optional, a collection of metadata for the command description, target, and value. Alternatively, you can use an existing command target or value (a.k.a. ArgTypes) by specifying its name as a string (rather than a sub-collection). See ArgTypes in Command.js for a full list.

Locators

NOTE: Locators are still Work-in-Progress, and will be added shortly
A list of new locators to be added to the IDE, each locator simply takes id.
  • id - required, a unique identifier for the locator, will be shown to the user (e.g. name, css).

Dependencies

Additional Node.js dependencies to download and use when ran in command line using selenium-side-runner.
Dependencies are a dictionary of key:value like so name:version, where name is the published name on npm and version is a valid semver published to npm.

Registering the Plugin

To register the plugin with Selenium IDE, make sure the IDE window is open, and that you're using the correct IDE ID.
Send the following message:
browser.runtime.sendMessage(process.env.SIDE_ID, {
uri: "/register",
verb: "post",
payload: {
name: "Selenium IDE plugin",
version: "1.0.0",
commands: [
{
id: "successfulCommand",
name: "successful command"
},
{
id: "failCommand",
name: "failed command"
}
]
}
}).catch(console.error);
Where payload is the manifest.
Press h to open a hovercard with more details.


Advertisement
Logo_PartnerStack
Join PartnrStack

Measure
Measure

Featured Post

The Google crawler is now Site Verifier User Agent

A new Google crawler, a new user agent, has been added to the Google spider list. Google Site Verifier User Agent is its name. By the way, t...

Popular Posts