Bitcoin Projects

190 университетов бесплатно выложили сотни своих курсов. Если вы не слышали, университеты по всему миру предлагают свои курсы онлайн бесплатно (или, по крайней мере, частично бесплатно). Эти курсы называются БООК или Большие открытые онлайн–курсы. Часть 1

Программирование

Введение в CS50 по разработке игр от Гарвардского университета; Разработка мобильных приложений для CS50 с React Native от Гарвардского университета; Веб–программирование CS50 с использованием Python и JavaScript от Гарвардского университета; Функции, методы и интерфейсы в Go от Калифорнийского университета, Ирвин; Совпадения в Go от Калифорнийского университета в Ирвине; Начало работы с Go от Калифорнийского университета, Ирвин; Вычислительные в Python I: основы и процедурное программирование от Технологического института Джорджии; Вычислительные в Python IV: объекты и алгоритмы от Технологического института Джорджии; Вычислительные в Python III: структуры данных от Технологического института Джорджии; Вычислительные в Python II: структуры управления от Технологического института Джорджии; Проект программирования (Java) от Политехнической Школы Лозанны; Пиксельное искусство для видеоигр от Мичиганского государственного университета; Веб–дизайн: стратегия и информационная архитектура от Калифорнийского института искусств; Веб–разработка с React от Гонконгского университета науки и технологии; Разработка мультиплатформенного мобильного приложения с React Native от Гонконгского университета науки и технологий; Автоматизированное тестирование программного обеспечения: практические навыки для разработчиков Java от Технологического университета Делфта; Автоматизированное тестирование программного обеспечения: передовые навыки для разработчиков Java от Делфтского технологического университета; Погружение в Python от Московского физико–технического института; Основы разработки на C ++: красный пояс от Московского физико–технического института; AR (дополненная реальность) и услуги потокового видео от Университета Йонсей; Интеллектуальные устройства и новые мобильные технологии от Университета Йонсей; Решение проблем, программирование и видеоигры от Университета Альберты; Введение в дополненную реальность и ARCore от Google Daydream Impact; Основы NetLogo от Института Санта–Фе; Ключевые навыки конкурентоспособного программиста от Санкт–Петербургского государственного университета; Проблемы бизнеса и программные решения от Университета Дикина; Введение в язык Котлин от Санкт–Петербургского государственного политехнического университета; Веб–доступ для разработчиков от Университета Райерсона; Разработка карманных приложений для AR с Unity от Unity; Системные информационные ресурсы Интернет с MySQL / PHP и Joomla от Университета Росарио; Котлин для разработчиков Java от JetBrains; Введение в основы XR: VR, AR и MR от Unity; 3D–арт и аудио конвейер от Unity; Программирование прикладных систем от Unity; 3D взаимодействия и навигация от Unity; Программирование ядра взаимодействия от Unity.

Инженерия

Анализ транспортных явлений I: математические методы от Массачусетского технологического института; Строение космического челнока от Массачусетского технологического института; Искусство структурной инженерии: хранилища от Принстонского университета; Совместная безопасность роботов: проектирование и развертывание от Университета в Буффало; Электроэнергетические системы от Университета в Буффало; Современная робототехника, курс 5: Манипуляции с роботами и мобильные роботы на колесах от Северо–Западного университета; Робот Thymio от Университета естественных наук от Национальной Политехнической Школы Лозанны; Принцип полупроводниковых приборов Часть I: Полупроводники, PN–переходы и биполярные переходные транзисторы от Гонконгского университета науки и техники; Привет (реальный) мир с ROS — роботизированной операционной системой от Делфтского технологического университета; Разум Вселенной — Роботы в обществе: благословение или проклятие? от Делфтского технологического университета; Hyperloop: изменение будущего транспорта от Делфтского технологического университета; Электромобили: технология от Делфтского технологического университета; Электромобили: политика от Делфтского технологического университета; Глазами инженеров — расширение видения: инженерная механика с помощью эксперимента, анализа и проектирования от Университета Нового Южного Уэльса; Взглядом инженеров — представление о концепции: инженерная механика с помощью эксперимента, анализа и проектирования от Университета Нового Южного Уэльса; Конструкция оптической системы первого порядка от Университета Колорадо в Боулдере; Проектирование высокопроизводительных оптических систем от Университета Колорадо в Боулдере; Оптическая эффективность и разрешение от Университета Колорадо Боулдер; Двигатели и схемы управления двигателем от Университета Колорадо в Боулдере; Физика полупроводников от Университета Колорадо в Боулдере; Датчики и сенсорная схема от Университета Колорадо в Боулдере; Транзистор — полевой транзистор и транзистор с биполярным переходом от Университета Колорадо в Боулдере; Диод — pn Junction и Metal Semiconductor от Университета Колорадо в Боулдере; Diseño de diques rompeolas con cubípodos от Политехнического университета Валенсии; Введение в энергетику солнечной фотовольтаики от Политехнического университета Валенсии; Ознакомление со строительством от Университета Политехники в Валенсии; BIM Основы для инженеров от Национального университета Тайваня; Приложение BIM для инженеров от Национального университета Тайваня; Распределение электроэнергии от Института технологий и высшего образования в Монтеррее; Интеллектуальная сетка: фундаментальные технологии от Института технологий и высшего образования в Монтеррее; Передача электроэнергии от Института технологий и высшего образования в Монтеррее; Электрическая мощность: концепции и принципы от Института технологий и высшего образования в Монтеррее; Интеллектуальная сетка: электрические сети будущего от Института технологий и высшего образования в Монтеррее; Основы МОП–транзисторов от Университета Пердью; Основы протекания тока от Университета Пердью; Учебник по основам полупроводников от Университета Пердью; Введение в цепи от Университета Федерико II в Неаполе; Стандартизация от EIT Digital; Введение в системы управления батареями от Колорадского университета; Имитация модели ячейки эквивалентной цепи от Университета Колорадо; Оценка состояния батареи (SOC) от системы Университета Колорадо; Введение в веб–картографию: часть 2 от Швейцарской высшей техническая школы Цюриха; Высокоэффективное моделирование методом конечных элементов — часть 2 от Королевского технологического института; Интеграция энергетических систем: тенденция или революция? от Университета им. К.Ю. Ленвена Распространение радио от Института Mines–Télécom; «Monotsukuri» делает вещи в Японии: машиностроение от Токийского технологического института; Транспортная инженерия от Католического университета Чили; Введение в контрольную цифру Computadora от Университета Тенарис; Agile для управления проектами от Университеа штата Мэриленд.

Информатика

Машинное обучение с Python: от линейных моделей до глубокого обучения от Массачусетского технологического института; Технология блокчейн от Калифорнийского университета, Беркли; Биткойн и криптовалюты от Университета Калифорнии, Беркли; Введение в машинное обучение от Университета Дьюка; Введение в компьютерное программирование от Лондонского университета международных программ; Как работают компьютеры от Лондонского университета международных программ; ИТ–инфраструктура и новые тенденции от Университета Миннесоты; Корпоративные системы от Университета Миннесоты; Управление ИС / ИТ от Университета Миннесоты; Встроенное программное и аппаратное обеспечение от Университета Колорадо в Боулдере; Промышленные рынки Интернета вещей и безопасность от Университета Колорадо в Боулдере; Введение в технологию блокчейн от Московского физико–технического института; Искусственный интеллект — обучение и теория от Национального университета Тайваня; Введение в аппаратное обеспечение Verilog от Университета Галилео; Интернет вещей: Новые технологии беспроводных и облачных вычислений от Университета Йонсей; Информационные технологии от Университета Федерико II в Неаполе; Естественный язык, от человека к машине от Университета Федерико II в Неаполе; Новые цифровые технологии от Университета Федерико II в Неаполе; Программирование на C: языковые фонды от Института Mines–Télécom; Программирование на C: модульное программирование и управление памятью от Дартмута; Программирование на C: расширенные типы данных от Дартмута; Основы Linux: интерфейс командной строки от Дартмута; Программирование на C: использование инструментов и библиотек Linux от Дартмута; Программирование на C: Начало работы от Дартмута; Программирование на C: указатели и управление памятью от Дартмута; Введение в теорию вычислений от Института Санта–Фе; Основы машинного обучения от Института Санта–Фе; Введение в FinTech от Университета Гонконга; FinTech: Этика и риски от Университета Гонконга; Блокчейн и FinTech: основы, приложения и ограничения от Университета Гонконга; DDoS–атаки и защита от Университета Колорадо; Безопасность облачных вычислений от системы Университета Колорадо; Введение в программирование на языке C: Инструкции по контролю над текстами от Университета Мадрида; Введение в программирование на языке C: Типы и структура от Университета Мадрида; Введение в программирование на языке C: Функции и указатели от Автономного университета Мадрида; Кибер–физические сети от Королевского технологического института KTH; Понимание сути Интернета: сети операторов от Института Института Mines–Télécom; Усовершенствованная алгоритмика и теория графов на Python от Института Mines–Télécom; Программирование Arduino, от новичка до ниндзя от Института Mines–Télécom; Кибербезопасность: атакует противников от Университета Рей Хуана Карлоса; Цифровая трансформация и команда ИТ от Университета Витватерсранда; Стратегические и трансформационные информационные технологии от Университета штата Мэриленд; Основы сетевой безопасности от Университета Ковентри; Введение в криптографию от Университета Ковентри; Информационная система по глобальной сети Интернет Microsoft Access от Университета Росарио; Основы кибербезопасности I сетей Пало–Альто от сетей Пало–Альто; Фонд кибербезопасности Академии сетей Пало–Альто от сетей Пало–Альто; Шлюз I кибербезопасности сетей Пало–Альто от сетей Пало–Альто; Шлюз ІІ кибербезопасности сетей Пало–Альто от сетей Пало–Альто; Основы ІІ кибербезопасности сетей Пало–Альто от сетей Пало–Альто; Блокчейн: основы и варианты использования от Академии ConsenSys; Архитектура сети и безопасности с VMware NSX от VMware.
submitted by 5igorsk to Tay_5 [link] [comments]

Start learning programming " Here is the best Platforms for you"

Step by step Help for you:
Platforms Node.js Frontend Development iOS Android IoT & Hybrid Apps Electron Cordova React Native Xamarin Linux ContainersOS X Command-Line ScreensaverswatchOS JVM Salesforce Amazon Web Services Windows IPFS Fuse HerokuProgramming Languages JavaScript Promises Standard Style Must Watch Talks Tips Network Layer Micro npm Packages Mad Science npm Packages Maintenance Modules - For npm packages npmAVA - Test runner ESLintSwift Education PlaygroundsPython Rust Haskell PureScript Go Scala Ruby EventsClojure ClojureScript Elixir Elm Erlang Julia Lua C C/C++ R D Common Lisp Perl Groovy Dart JavaRxJava Kotlin OCaml Coldfusion Fortran .NET PHP Delphi Assembler AutoHotkey AutoIt Crystal TypeScriptFront-end Development ES6 Tools Web Performance Optimization Web Tools CSS Critical-Path Tools Scalability Must-Watch Talks ProtipsReact RelayWeb Components Polymer Angular 2 Angular Backbone HTML5 SVG Canvas KnockoutJS Dojo Toolkit Inspiration Ember Android UI iOS UI Meteor BEM Flexbox Web Typography Web Accessibility Material Design D3 Emails jQuery TipsWeb Audio Offline-First Static Website Services A-Frame VR - Virtual reality Cycle.js Text Editing Motion UI Design Vue.js Marionette.js Aurelia Charting Ionic Framework 2 Chrome DevToolsBack-end Development Django Flask Docker Vagrant Pyramid Play1 Framework CakePHP Symfony EducationLaravel EducationRails GemsPhalcon Useful .htaccess Snippets nginx Dropwizard Kubernetes LumenComputer Science University Courses Data Science Machine Learning TutorialsSpeech and Natural Language Processing SpanishLinguistics Cryptography Computer Vision Deep Learning - Neural networks TensorFlowDeep Vision Open Source Society University Functional Programming Static Analysis & Code Quality Software-Defined NetworkingBig Data Big Data Public Datasets Hadoop Data Engineering StreamingTheory Papers We Love Talks Algorithms Algorithm Visualizations Artificial Intelligence Search Engine Optimization Competitive Programming MathBooks Free Programming Books Free Software Testing Books Go Books R Books Mind Expanding Books Book AuthoringEditors Sublime Text Vim Emacs Atom Visual Studio CodeGaming Game Development Game Talks Godot - Game engine Open Source Games Unity - Game engine Chess LÖVE - Game engine PICO-8 - Fantasy consoleDevelopment Environment Quick Look Plugins - OS X Dev Env Dotfiles Shell Command-Line Apps ZSH Plugins GitHub Browser Extensions Cheat SheetGit Cheat Sheet & Git Flow Git Tips Git Add-ons SSH FOSS for DevelopersEntertainment Podcasts Email NewslettersDatabases Database MySQL SQLAlchemy InfluxDB Neo4j Doctrine - PHP ORM MongoDBMedia Creative Commons Media Fonts Codeface - Text editor fonts Stock Resources GIF Music Open Source Documents Audio VisualizationLearn CLI Workshoppers - Interactive tutorials Learn to Program Speaking Tech Videos Dive into Machine Learning Computer HistorySecurity Application Security Security CTF - Capture The Flag Malware Analysis Android Security Hacking Honeypots Incident ResponseContent Management System Umbraco Refinery CMSMiscellaneous JSON Discounts for Student Developers Slack CommunitiesConferences GeoJSON Sysadmin Radio Awesome Analytics Open Companies REST Selenium Endangered Languages Continuous Delivery Services Engineering Free for Developers Bitcoin Answers - Stack Overflow, Quora, etc Sketch - OS X design app Places to Post Your Startup PCAPTools Remote Jobs Boilerplate Projects Readme Tools Styleguides Design and Development Guides Software Engineering Blogs Self Hosted FOSS Production Apps Gulp AMA - Ask Me Anything AnswersOpen Source Photography OpenGL Productivity GraphQL Transit Research Tools Niche Job Boards Data Visualization Social Media Share Links JSON Datasets Microservices Unicode Code Points Internet of Things Beginner-Friendly Projects Bluetooth Beacons Programming Interviews Ripple - Open source distributed settlement network Katas Tools for Activism TAP - Test Anything Protocol Robotics MQTT - "Internet of Things" connectivity protocol Hacking Spots For Girls Vorpal - Node.js CLI framework OKR Methodology - Goal setting & communication best practices Vulkan LaTeX - Typesetting language Network Analysis Economics - An economist's starter kit
Few more resources:
submitted by Programming-Help to Programming_Languages [link] [comments]

⚡ Lightning Network Megathread ⚡

Last updated 2018-01-29
This post is a collaboration with the Bitcoin community to create a one-stop source for Lightning Network information.
There are still questions in the FAQ that are unanswered, if you know the answer and can provide a source please do so!

⚡What is the Lightning Network? ⚡

Explanations:

Image Explanations:

Specifications / White Papers

Videos

Lightning Network Experts on Reddit

  • starkbot - (Elizabeth Stark - Lightning Labs)
  • roasbeef - (Olaoluwa Osuntokun - Lightning Labs)
  • stile65 - (Alex Akselrod - Lightning Labs)
  • cfromknecht - (Conner Fromknecht - Lightning Labs)
  • RustyReddit - (Rusty Russell - Blockstream)
  • cdecker - (Christian Decker - Blockstream)
  • Dryja - (Tadge Dryja - Digital Currency Initiative)
  • josephpoon - (Joseph Poon)
  • fdrn - (Fabrice Drouin - ACINQ )
  • pmpadiou - (Pierre-Marie Padiou - ACINQ)

Lightning Network Experts on Twitter

  • @starkness - (Elizabeth Stark - Lightning Labs)
  • @roasbeef - (Olaoluwa Osuntokun - Lightning Labs)
  • @stile65 - (Alex Akselrod - Lightning Labs)
  • @bitconner - (Conner Fromknecht - Lightning Labs)
  • @johanth - (Johan Halseth - Lightning Labs)
  • @bvu - (Bryan Vu - Lightning Labs)
  • @rusty_twit - (Rusty Russell - Blockstream)
  • @snyke - (Christian Decker - Blockstream)
  • @JackMallers - (Jack Mallers - Zap)
  • @tdryja - (Tadge Dryja - Digital Currency Initiative)
  • @jcp - (Joseph Poon)
  • @alexbosworth - (Alex Bosworth - yalls.org)

Medium Posts

Learning Resources

Books

Desktop Interfaces

Web Interfaces

Tutorials and resources

Lightning on Testnet

Lightning Wallets

Place a testnet transaction

Altcoin Trading using Lightning

  • ZigZag - Disclaimer You must trust ZigZag to send to Target Address

Lightning on Mainnet

Warning - Testing should be done on Testnet

Atomic Swaps

Developer Documentation and Resources

Lightning implementations

  • LND - Lightning Network Daemon (Golang)
  • eclair - A Scala implementation of the Lightning Network (Scala)
  • c-lightning - A Lightning Network implementation in C
  • lit - Lightning Network node software (Golang)
  • lightning-onion - Onion Routed Micropayments for the Lightning Network (Golang)
  • lightning-integration - Lightning Integration Testing Framework
  • ptarmigan - C++ BOLT-Compliant Lightning Network Implementation [Incomplete]

Libraries

Lightning Network Visualizers/Explorers

Testnet

Mainnet

Payment Processors

  • BTCPay - Next stable version will include Lightning Network

Community

Slack

IRC

Slack Channel

Discord Channel

Miscellaneous

⚡ Lightning FAQs ⚡

If you can answer please PM me and include source if possible. Feel free to help keep these answers up to date and as brief but correct as possible
Is Lightning Bitcoin?
Yes. You pick a peer and after some setup, create a bitcoin transaction to fund the lightning channel; it’ll then take another transaction to close it and release your funds. You and your peer always hold a bitcoin transaction to get your funds whenever you want: just broadcast to the blockchain like normal. In other words, you and your peer create a shared account, and then use Lightning to securely negotiate who gets how much from that shared account, without waiting for the bitcoin blockchain.
Is the Lightning Network open source?
Yes, Lightning is open source. Anyone can review the code (in the same way as the bitcoin code)
Who owns and controls the Lightning Network?
Similar to the bitcoin network, no one will ever own or control the Lightning Network. The code is open source and free for anyone to download and review. Anyone can run a node and be part of the network.
I’ve heard that Lightning transactions are happening “off-chain”…Does that mean that my bitcoin will be removed from the blockchain?
No, your bitcoin will never leave the blockchain. Instead your bitcoin will be held in a multi-signature address as long as your channel stays open. When the channel is closed; the final transaction will be added to the blockchain. “Off-chain” is not a perfect term, but it is used due to the fact that the transfer of ownership is no longer reflected on the blockchain until the channel is closed.
Do I need a constant connection to run a lightning node?
Not necessarily,
Example: A and B have a channel. 1 BTC each. A sends B 0.5 BTC. B sends back 0.25 BTC. Balance should be A = 0.75, B = 1.25. If A gets disconnected, B can publish the first Tx where the balance was A = 0.5 and B = 1.5. If the node B does in fact attempt to cheat by publishing an old state (such as the A=0.5 and B=1.5 state), this cheat can then be detected on-chain and used to steal the cheaters funds, i.e., A can see the closing transaction, notice it's an old one and grab all funds in the channel (A=2, B=0). The time that A has in order to react to the cheating counterparty is given by the CheckLockTimeVerify (CLTV) in the cheating transaction, which is adjustable. So if A foresees that it'll be able to check in about once every 24 hours it'll require that the CLTV is at least that large, if it's once a week then that's fine too. You definitely do not need to be online and watching the chain 24/7, just make sure to check in once in a while before the CLTV expires. Alternatively you can outsource the watch duties, in order to keep the CLTV timeouts low. This can be achieved both with trusted third parties or untrusted ones (watchtowers). In the case of a unilateral close, e.g., you just go offline and never come back, the other endpoint will have to wait for that timeout to expire to get its funds back. So peers might not accept channels with extremely high CLTV timeouts. -- Source
What Are Lightning’s Advantages?
Tiny payments are possible: since fees are proportional to the payment amount, you can pay a fraction of a cent; accounting is even done in thousandths of a satoshi. Payments are settled instantly: the money is sent in the time it takes to cross the network to your destination and back, typically a fraction of a second.
Does Lightning require Segregated Witness?
Yes, but not in theory. You could make a poorer lightning network without it, which has higher risks when establishing channels (you might have to wait a month if things go wrong!), has limited channel lifetime, longer minimum payment expiry times on each hop, is less efficient and has less robust outsourcing. The entire spec as written today assumes segregated witness, as it solves all these problems.
Can I Send Funds From Lightning to a Normal Bitcoin Address?
No, for now. For the first version of the protocol, if you wanted to send a normal bitcoin transaction using your channel, you have to close it, send the funds, then reopen the channel (3 transactions). In future versions, you and your peer would agree to spend out of your lightning channel funds just like a normal bitcoin payment, allowing you to use your lightning wallet like a normal bitcoin wallet.
Can I Make Money Running a Lightning Node?
Not really. Anyone can set up a node, and so it’s a race to the bottom on fees. In practice, we may see the network use a nominal fee and not change very much, which only provides an incremental incentive to route on a node you’re going to use yourself, and not enough to run one merely for fees. Having clients use criteria other than fees (e.g. randomness, diversity) in route selection will also help this.
What is the release date for Lightning on Mainnet?
Lightning is already being tested on the Mainnet Twitter Link but as for a specific date, Jameson Lopp says it best
Would there be any KYC/AML issues with certain nodes?
Nope, because there is no custody ever involved. It's just like forwarding packets. -- Source
What is the delay time for the recipient of a transaction receiving confirmation?
Furthermore, the Lightning Network scales not with the transaction throughput of the underlying blockchain, but with modern data processing and latency limits - payments can be made nearly as quickly as packets can be sent. -- Source
How does the lightning network prevent centralization?
Bitcoin Stack Exchange Answer
What are Channel Factories and how do they work?
Bitcoin Stack Exchange Answer
How does the Lightning network work in simple terms?
Bitcoin Stack Exchange Answer
How are paths found in Lightning Network?
Bitcoin Stack Exchange Answer
How would the lightning network work between exchanges?
Each exchange will get to decide and need to implement the software into their system, but some ideas have been outlined here: Google Doc - Lightning Exchanges
Note that by virtue of the usual benefits of cost-less, instantaneous transactions, lightning will make arbitrage between exchanges much more efficient and thus lead to consistent pricing across exchange that adopt it. -- Source
How do lightning nodes find other lightning nodes?
Stack Exchange Answer
Does every user need to store the state of the complete Lightning Network?
According to Rusty's calculations we should be able to store 1 million nodes in about 100 MB, so that should work even for mobile phones. Beyond that we have some proposals ready to lighten the load on endpoints, but we'll cross that bridge when we get there. -- Source
Would I need to download the complete state every time I open the App and make a payment?
No you'd remember the information from the last time you started the app and only sync the differences. This is not yet implemented, but it shouldn't be too hard to get a preliminary protocol working if that turns out to be a problem. -- Source
What needs to happen for the Lightning Network to be deployed and what can I do as a user to help?
Lightning is based on participants in the network running lightning node software that enables them to interact with other nodes. This does not require being a full bitcoin node, but you will have to run "lnd", "eclair", or one of the other node softwares listed above.
All lightning wallets have node software integrated into them, because that is necessary to create payment channels and conduct payments on the network, but you can also intentionally run lnd or similar for public benefit - e.g. you can hold open payment channels or channels with higher volume, than you need for your own transactions. You would be compensated in modest fees by those who transact across your node with multi-hop payments. -- Source
Is there anyway for someone who isn't a developer to meaningfully contribute?
Sure, you can help write up educational material. You can learn and read more about the tech at http://dev.lightning.community/resources. You can test the various desktop and mobile apps out there (Lightning Desktop, Zap, Eclair apps). -- Source
Do I need to be a miner to be a Lightning Network node?
No -- Source
Do I need to run a full Bitcoin node to run a lightning node?
lit doesn't depend on having your own full node -- it automatically connects to full nodes on the network. -- Source
LND uses a light client mode, so it doesn't require a full node. The name of the light client it uses is called neutrino
How does the lightning network stop "Cheating" (Someone broadcasting an old transaction)?
Upon opening a channel, the two endpoints first agree on a reserve value, below which the channel balance may not drop. This is to make sure that both endpoints always have some skin in the game as rustyreddit puts it :-)
For a cheat to become worth it, the opponent has to be absolutely sure that you cannot retaliate against him during the timeout. So he has to make sure you never ever get network connectivity during that time. Having someone else also watching for channel closures and notifying you, or releasing a canned retaliation, makes this even harder for the attacker. This is because if he misjudged you being truly offline you can retaliate by grabbing all of its funds. Spotty connections, DDoS, and similar will not provide the attacker the necessary guarantees to make cheating worthwhile. Any form of uncertainty about your online status acts as a deterrent to the other endpoint. -- Source
How many times would someone need to open and close their lightning channels?
You typically want to have more than one channel open at any given time for redundancy's sake. And we imagine open and close will probably be automated for the most part. In fact we already have a feature in LND called autopilot that can automatically open channels for a user.
Frequency will depend whether the funds are needed on-chain or more useful on LN. -- Source
Will the lightning network reduce BTC Liquidity due to "locking-up" funds in channels?
Stack Exchange Answer
Can the Lightning Network work on any other cryptocurrency? How?
Stack Exchange Answer
When setting up a Lightning Network Node are fees set for the entire node, or each channel when opened?
You don't really set up a "node" in the sense that anyone with more than one channel can automatically be a node and route payments. Fees on LN can be set by the node, and can change dynamically on the network. -- Source
Can Lightning routing fees be changed dynamically, without closing channels?
Yes but it has to be implemented in the Lightning software being used. -- Source
How can you make sure that there will be routes with large enough balances to handle transactions?
You won't have to do anything. With autopilot enabled, it'll automatically open and close channels based on the availability of the network. -- Source
How does the Lightning Network stop flooding nodes (DDoS) with micro transactions? Is this even an issue?
Stack Exchange Answer

Unanswered Questions

How do on-chain fees work when opening and closing channels? Who pays the fee?
How does the Lightning Network work for mobile users?
What are the best practices for securing a lightning node?
What is a lightning "hub"?
How does lightning handle cross chain (Atomic) swaps?

Special Thanks and Notes

  • Many links found from awesome-lightning-network github
  • Everyone who submitted a question or concern!
  • I'm continuing to format for an easier Mobile experience!
submitted by codedaway to Bitcoin [link] [comments]

Homelab collective ressources post!

Hey guys!
I'm fairly new to this sub and to having a home lab in general and I found this community to be so kind and helping, I wanted to give back what I've learned. I'm seeing a lot of questions asked around on improvements and on what to do with x extra hardware so I thought it would be nice to have a thread to regroup that.
 
I'll put here some stuff I gathered and the most common questions I've seen, feel free to contribute and i'll update the post along.
 
Latest Additions
 
Homelab Dashboard
Posts about dashboards have been growing lately and here are some of the best that were kind enough to provide us with their sources.
User Screenshot Source
yours truly http://imgur.com/a/GhCNH https://github.com/Gabisonfire/dashboard-q
lastditchefrt http://i.imgur.com/5zQdao4.png https://github.com/d4rk22/Network-Status-Page
_SleepingBag_ http://i.imgur.com/Ql9ZM4W.png https://github.com/jsank/homelabdash
NiknakSi https://niknak.org/extras/sysinfo TBA
DainBramaged http://imgur.com/jYNlUEQ https://github.com/gordonturneBigBoard
michaelh4u https://i.imgur.com/XkZwMKj.png https://github.com/michaelh4u/homelabfrontpage
spigotx http://imgur.com/a/1zMht https://github.com/spigotx/HomeLab2
SirMaster https://nicko88.com/ https://github.com/dashbad/plex-server-status
yourofl10 http://imgur.com/a/AyROa TBA
TheBobWiley http://imgur.com/a/oU6d3 https://github.com/TheBobWiley/ManageThis-LandingPages
0110010001100010 http://i.imgur.com/iwtQcsL.jpg https://github.com/danodemano/monitoring-scripts
mescon & SyNiK4L https://i.imgur.com/gqdVM6p.jpg https://github.com/mescon/Muximux
ak_rex http://i.imgur.com/a/RJkrT https://github.com/ak-rex/homelab-dashboard
 
Or build yours from scratch: PRTG API, ELK, Grafana, freeboard, JumpSquares
 
Some other resources: Custom Monitoring Scripts by 0110010001100010
 
Credits to apt64 for his original post
= Pi specific =
 
= Download Automation =
 
= Virtualization =
 
= Monitoring =
 
= Media Center =
 
= Remote access =
 
= VOIP =
 
= Networking =
 
= File Servers/Storage/RAID =
 
= Cameras =
 
= Documentation =
 
= Dynamic DNS =
 
= Backup =
 
= Creating network diagrams =
 
= Guides =
 
= Misc =
 
That's all I could come up with on top of my head + some research, passing over to you guys so we can get a nice complete list!
 
Let's try and stick with free(or mostly) softwares, let me know if you guys feel otherwise.
submitted by Gabisonfire to homelab [link] [comments]

How to become a Bug Bounty Hunter

Work in progress. Post your recommendations in comments.

Bug Bounty platforms:

Independet Bug Bounty programmes:

Communities:

E-books:

Public talks (YouTube):

Interesting blogs:

Vulnerability Prioritization

Most common vulnerabilities (Tutorials):

Who to follow on Twitter:

@Hacker0x01, @BugBountyHQ, @BugBountyWeekly, @har1sec, @merttasci_, @SYNTAXERRORBA, @krankoPwnz, @caseyjohnellis, @jstnkndy, @avlidienbrunn, @0x6D6172696F, @yaworsk, @jobertabma, @fransrosen, @zseano, @seanmeals, @mongobug, @Jhaddix, @Bugcrowd, @albinowax, @disclosedh1
submitted by _vavkamil_ to bugbounty [link] [comments]

Gozo Multi-Layer Technology Stack

Gozo will employ the Stellar platform for scalability, speed, robust feature set, API libraries, and token fungibility. Gozo will use a four-layer architecture, as follows:
  1. Multi-Platform Application Layer This layer provides services both to apps (Android, iOS, web apps, etc.) and decentralized services along with a global crypto wallet. This layer is fully developed with the following features: • ReactJS as front-end, migrating to React Native • Customized React interface based on GraphQL for business intelligence and econometrics. • AI Chatbots for support services and lead acquisition - Services to apps (Android, iOS, web apps, etc...)
  2. Microservices + API Layer This interface gathers together the methods and functions for the services that work to integrate the platform with third-party websites and apps. • Designed to operate in the main languages: ReactJS, JavaScript, Python, PHP, and Ruby • Kubernetes for microservices - NodeJS as core - ORDS as a NoSQL DB • R and Python for big data analyses • Pytorch for deep learning • Redis and environments for other projects built around the API
  3. Token Layer (GOZO) Fully tradable, the GOZO token is created on the Stellar platform. The GOZO token follows the Stellar standard and is fully integrated with this ecosystem, and is also able to be stored on XLM wallets.
  4. Stellar Ledger Layer In this layer, Gozo will store users’ immutable travel and rewards records, results from the transactions between all participants, as well as the relevance of the users within the Ecosystem. The choice of Stellar as platform to deploy the APP is due to many reasons, including: • Speed - Stellar is able to run about 1,000 transactions per second, far more than Ethereum’s 15 transactions per second and Bitcoin’s 4 transactions per second • Aordability - Stellar transactions cost .00001 XLM per transaction • Stellar provides the Horizon API-centered connectivity and JS libraries, in line with the technological stack on Gozo • Stellar federation allows Gozo to identify payment, by mapping user addresses and transaction IDs across dierent domains.
https://www.gozo.io
Bounty0x Username: Osoname
submitted by EbubeS to Crypto_General [link] [comments]

Multi-layer Technology Stack

Gozo will employ the Stellar platform for scalability, speed, robust feature set, API libraries, and token fungibility. Gozo will use a four-layer architecture, as follows:
1 Multi-Platform Application Layer This layer provides services both to apps (Android, iOS, web apps, etc.) and decentralized services along with a global crypto wallet. This layer is fully developed with the following features: • ReactJS as front-end, migrating to React Native • Customized React interface based on GraphQL for business intelligence and econometrics. • AI Chatbots for support services and lead acquisition - Services to apps (Android, iOS, web apps, etc...)
  1. Microservices + API Layer This interface gathers together the methods and functions for the services that work to integrate the platform with third-party websites and apps. • Designed to operate in the main languages: ReactJS, JavaScript, Python, PHP, and Ruby • Kubernetes for microservices - NodeJS as core - ORDS as a NoSQL DB • R and Python for big data analyses • Pytorch for deep learning • Redis and environments for other projects built around the API
  2. Token Layer (GOZO) Fully tradable, the GOZO token is created on the Stellar platform. The GOZO token follows the Stellar standard and is fully integrated with this ecosystem, and is also able to be stored on XLM wallets.
  3. Stellar Ledger Layer In this layer, Gozo will store users’ immutable travel and rewards records, results from the transactions between all participants, as well as the relevance of the users within the Ecosystem. The choice of Stellar as platform to deploy the APP is due to many reasons, including: • Speed - Stellar is able to run about 1,000 transactions per second, far more than Ethereum’s 15 transactions per second and Bitcoin’s 4 transactions per second • Aordability - Stellar transactions cost .00001 XLM per transaction • Stellar provides the Horizon API-centered connectivity and JS libraries, in line with the technological stack on Gozo • Stellar federation allows Gozo to identify payment, by mapping user addresses and transaction IDs across dierent domains.
https://gozo.io
Bounty0x Username: Osoname
submitted by EbubeS to Crypto_General [link] [comments]

[uncensored-r/Bitcoin] Lightning Network Megathread

The following post by codedaway is being replicated because the post has been silently removed.
The original post can be found(in censored form) at this link:
np.reddit.com/ Bitcoin/comments/7npeh6
The original post's content was as follows:
Hi Everyone,
I'm trying to create a post that can be stickied with regards to the Lightning Network. This post should be used to provide as many links to as many resources as organized as possible. This is obviously a large task and I've tried to start it in hopes that I can crowdsource this in the comments to keep adding content to this post. Feel free to recommend any additions but please provide sources for your information. Also please correct myself or anything that appears up here that seems incorrect and I'll do my best to edit quickly.

What is the Lightning Network? ?

Explanations:

Specifications / White Papers

Videos

Lightning Network Experts on Reddit

Medium Posts

Learning Resources

Books

Desktop Interfaces

Web Interfaces

Tutorials and resources

Lightning on Testnet

Lightning Wallet
Place a transaction

Lightning on Mainnet

Atomic Swaps

Developer Documentation and Resources

Lightning implementations:

  • LND - Lightning Network Daemon (Golang)
  • eclair - A Scala implementation of the Lightning Network (Scala)
  • lit - Lightning Network node software (Golang)
  • c-lightning - A Lightning Network implementation in C
  • lightning-onion - Onion Routed Micropayments for the Lightning Network (Golang)
  • lightning-integration - Lightning Integration Testing Framework
  • ptarmigan - C++ BOLT-Compliant Lightning Network Implementation [Incomplete]

Libraries

Lightning Network Visualizer (Testnet)

Community

Slack

IRC

IRC channel

  • #li...
submitted by censorship_notifier to noncensored_bitcoin [link] [comments]

[Table] I am a member of Facebook's HHVM team, a C++ and D pundit, and a Machine Learning guy. Ask me anything!

Verified? (This bot cannot verify AMAs just yet)
Date: 2013-10-02
Link to submission (Has self-text)
Questions Answers
What are your thoughts on the constraints vs static if debate on C++? D uses static if, and I remember seeing you championing it as the #1 feature you'd like seen in C++, but Stroustrup describes it as "a total abomination". Do you think that constraints do the job well? Possibly better than static if? I knew this was gonna come :o). Virtually everyone in the D community has an appreciation for static if - I have yet to find even a naysayer who's mentioning it as an unsavory aspect of the language.
That isn't a proof, but it is evidence. There's also plenty of evidence that C++ is worse off without it by comparison.
Now, the more debatable aspect is the use of Boolean expressions as constraints. The simple story behind that is that Walter Bright and I were looking at a simple means to constrain instantiation of templates. We had static if, we had compile-time function evaluation, so template constraints were a wonderfully simple and integrated solution within that context - a great "aha!" moment. People love it.
Now, in C++, there's no static if and C++14 is acquiring compile-time evaluation kicking and screaming. Within that language, I can totally understand how the context is less conducive to an appreciation of template constraints the way they're done in D.
Do you plan on writing more C++ books? or did you pretty much give up on the language and your focus is now on D? I have to admit my relationship with C++ has lost a fair amount of its romance. We know a lot about each other and we roll our eyes when witnessing once again each other's shenanigans.
I'd be hard pressed to write more books on C++. As a general rule the best driving force behind writing a book is "I feel I have something to say, that I believe is interesting and worth sharing." I do feel this in spades about D, but unfortunately not about C++.
I must add one note though. The C++ community has been very gracious and forgiving with my apostasy. I've continued to be bestowed respect from C++ programmers all over, and I am very appreciative and thankful for that.
I read Modern C++ Design a few years ago and really enjoyed it. It's been over a decade since it was published, however. How outdated do you think it is now, especially in light of the changes from C++11? It has aged surprisingly well, and to a C++11 user some of its implementation arcana are obviously easier to realize. I think if it aimed at describing the same exact designs in C++11, Modern C++ Design could do it in 250 pages instead of 350.
How much of FB's code is still plain PHP? How much is C++? Is HHVM really that much faster than ZEND? What are your other hobbies outside of programming / computers in general? Keith Adams has been gracious enough to run a "wc -l" on our main codebases just now. Fresh data! We're roughly in the 70/30 area for PHP/C++. Both codebases have grown a lot in absolute numbers since I joined, and most interestingly the ratio was somewhere like 90/10 four years ago. We've scaled up a lot since then, hence the increased emphasis on infrastructure.
As a follow up to that: PHP gets a bad rep these days for some poor language design. Is there any regret in using PHP or a desire to switch the code base to another language? Edit: Thanks for doing the AMA! I enjoy watching your presentations. "Regret" wouldn't quite be describing it, seeing as there is good evidence that our engineers are very productive with PHP. That said, few people if any would disagree with you. We have always been and still are working on a number of solutions to improve on PHP "the language" and also PHP "the platform".
What's the first thing you'd do if you were put in charge of creating PHP 7.0? Better arrays.
Would you mind expanding on this please? PHP arrays are very quirky and okay for a lot of things but best at none. They are used as straight contiguous vectors, tuples, singleton sets, maps, ..., you name it. To accommodate all these semantics PHP arrays have very complicated and non-obvious semantics. I think everybody would be happier if PHP had better-defined and more specialized types.
Thank you very much for replying. I guess this is where I realise I'll never be a proper computer scientist. For me PHP arrays do everything I need them to do, in a way that I find clear, easy to understand, and with a performance level that is more than adequate for the problems I have to solve. The beauty of it all is we may both be right!
Are there plans to use D in Facebook? Not for the time being. However, since recently it's become part of my job description to explore integration of D at Facebook. This is the first time I'm mentioning it publicly. assert(cat !in bag); I have a well-defined plan that is difficult but executable. If things go well, we'll make an announcement in a few months. Otherwise, well, we won't :o).
What do you think about Rust? (In the context of Rust vs D) Rust has a great approach to safe regions. That's a hard problem, and Rust has had to expend a considerable amount of firepower on it (four kinds of pointers etc).
D does not offer safe regions; I believe the language design precludes that without at least an amount of discipline.
So Rust is better than D at safe regions. However, like in chess, good language design is to not sacrifice the whole for the beauty of the part. I think D is better than Rust at a lot of other things, because it has firepower it can afford to expend at problems that are also hard, and just as important.
Other than C++ and D, what other languages are interesting to you in both a professional and personal capacity? I think Scala and C# are two fine languages. Haskell is a factory of good programming languages research. I've seen a talk on F# and it's been quite impressive - it's amazing what can be done with them reified types.
Generally I have a bias in favor of static types.
When will we be able to use D to make shared libraries that can be called from C? Good news: Martin Nowak, Walter Bright and others have done some wonderful, creative work on that. The next release of D (2.064) will include good support for dynamic and dynamically-loadable libraries from D itself, C, C++, and other languages.
The release is in the planning stages right now, so we're looking no longer than one month from now.
Software dev here. Facebook used to have a bit of a reputation for putting bugs into live (for example when all line returns on photo captions were replaced with "\n"), but it's my perception that things have improved vastly in the last couple of years. What sort of QA or other processes have you guys put in place? I'm glad you are noticing what has been a years-long effort to improve our process.
First of all, if one at Facebook talks about "process" in the RUP/Agile/etc sense, they'll get a smack on the head. We don't care much about such formalisms. What we do care about is making talented people productive, and for that we have a vast array of automated and semi-automated aides that I'll get into a bit below.
Facebook famously does not have a QA department. Engineers are responsible for testing their own code. The way that works is holistic, which checks and balances at each major bottleneck: (a) a sophisticated lint - all code must past linting; (b) then there's unittesting - all code must pass existing unittests; (c) code review - not one line of code makes it into our code repos without having been reviewed by at least one other engineer, who in particular looks for unittests added for new code; (d) various sandbox and production testing means.
Clearly it's good to move fast, and one thing that virtually all new engineers remark is how astonishingly fast things are happening at Facebook Engineering. A complete n00b could implement a feature visible to Facebook's entire user base literally within a week of starting. The converse risk is that of breakage, and the conventional-wisdom response to that is to increase bureaucracy and slow things down. Facebook has consistently striving to improve tooling and automation that enables people to still move fast, without breaking things.
When things do break we don't reprimand people who make mistakes. Instead, we look at eliminating the causes of breakages at their root.
The real question is: did you try llvm? Good one! Yes, I and others are working on having clang compile our codebase.
What's the biggest lesson learned from D that you wish other languages would apply? The scope statement. It's rare that I enjoy bragging about something, but I do like to brag that I invented a new control flow statement (which is awesome because they're so few!).
I think many languages implement some form of deferred execution, but most miss the point - Lisp's with-open-file, Java's try/finally, Go's defer, C#'s using are all sorely wanting.
Lisp's with-open-file with-open-file is just a wrapper macro on unwind-protect (for, as the name indicates, performing scoped opening of files). It's not a deferred execution primitive in and of itself. Sorry, yes, I meant unwind-protect but I had a lapse so I mentioned its cousin that I remembered. Both illustrate the same point.
What has been your happiest moment with programming? (thinking about this as I'm answering other questions, will edit later)
OK, I think most people left the stadium but this has been bugging me so I feel compelled to reply.
"Happy" is frequent enough to make "happiest" very difficult. Probably some of the happiest moments have happened when I had just started. Coding is like heroin - we spend most of our time trying to relive that first high.
I remember moments when I'd run a little program again and again with slightly different inputs just to revel in the joy of having done the proper incantations that make the machine do this and that and the other, like a clumsy but loyal genie. I mentioned I wrote this floppy disk formatter - it gave me a lot of joy to be able to tell it the complicated sequence of things I wanted to get done, to see how it ended up carving magnetized trenches into the physical world.
With support for more things inside constexpr just around the bend, do you think we can now do metaprogramming in plain old C++? Wouldn't it be more natural and easier to debug? I am glad that C++14 has increased the power of constexpr significantly. We have had an incredible time with compile-time evaluation in D for years, and I'm glad C++ "stole" that idea. I predict that constexpr-based programming will become a major idiom in C++14.
Also, a second question if you don't mind: How do I go about making proposals for consideration by the ISO C++ committee? I would like to propose a make_shared where I can provide the allocator rather than it using new. For submitting proposals to to the ISO C++ committee, mosey to the relatively new and unknown Link to isocpp.org
How did you acquire such a mastery of the English language (written + spoken minus the accent ) even though it does not appear to be your mother tongue? I must plead no-merit on that one. All of us get some good and bad inclinations upon birth, and it just so happens I inherited my Dad's inclination for foreign languages.
If I were to speculate it might have something to do with how thoughts are formed in the mind. Many people I ask tell me "I think in my mother tongue". For whatever reason, I don't think in a specific language. It's all that, abstract thoughts, and then the matter of rendering them in a language is simpler than translating them from one language into another.
talk about impostor's syndrome. Damn it’s reassuring to hear this from a smart, well-established guy like you. And I am serious. I would rate the impostor syndrome near the top of things that bother me.
I'm a big fan of your writing style (especially the phrase "hecatombs of code"). What are some of your favorite books? Thanks, that's very kind of you! Alas, I feel I missed out on reading lately, so I must dig earlier into my youth, from where "Remembrance of Times Past" comes to mind. Recently I've really enjoyed books by David Foster Wallace, Cormac McCarthy, and Neal Stephenson.
In the technical realm, I really enjoy the style of Scott Meyers, who's been a major influencer and mentor. I also like the writing of Herb Sutter, Bjarne Stroustrup, and the late John Vlissides.
Have you read any Thomas Pynchon or John Barth? If you're a Foster Wallace fan I think you'd get a lot out of those two. John Barth's Lost in the Fun House is an amazing piece of metafiction, somewhat fitting reading for the master of metaprogramming. Thanks for the recommendations!
Getting back to D's GC, I want to point out that you made it extra unattractive by choosing an old clunky one, you just dropped in the ready made, generic Boehm GC. So D not only has GC, but a GC that is far from the state of the art. As I mentioned elsewhere on this page, languages succeed if good people decide to work on them. We have a couple of GC experts on "team" already, and things are getting better. The better the GC, the less trash in the streets.
1) Is D used internally at Facebook? I'll understand if you can't answer, but 'no comment' means yes. ;) (answered above) 2) Yes, things are improving; however the improvement will be visible to the public later. I'm very busy right now with my efforts of exploring D within Facebook, which is not directly related but definitely related strategically.
I think binding rvalues to const references has been the small mistake that caused the rvalue references Hindenburg. Can you explain further? I'm not familiar with this mistake or the consequences. It would be a long discussion. Binding rvalues to const& made sense when first introduced (no templates, few subtleties) but in the long term made it virtually impossible to distinguish rvalues from lvalues on the callee side. That in turn forced an overly complex solution (rvalue references) as an expensive fix.
A big improvement for the phobos thing would actually be to make more use of output ranges instead of necessarily returning strings, etc. Then the caller can preallocate memory or whatever they want. Indeed! That's a sore point right there.
Are we going to see a D book on range based programming? I think ranges are really cool, and well deserving of a book treatment. Someone should write it. If you're asking whether I should be the one, I think I feel I have at least one book in me, but I hope to collect a bit more material.
At going native this year, you mentioned that C++ is closely tied in with the von neumann architecture architecture. Is this true of D as well? Does it mean that if the von neumann architecture were to be replaced by something shinier, C++ (and D) might vanish into oblivion? Yes, both C++ and D build on the same fundamental computing model: data has addresses, you know where it is and you know how it lies. But I'm not worried - if von Neumann is fundamentally replaced a lot of languages will need to adapt, and probably the best breed will be new ones that use the new model organically.
Also, do you think functional languages are better in that sense that their abstractions are not tightly dependent on the von neumann architecture? I'm not too good at predictions, but I did predict the next two paragraphs were to follow after seeing the first :o). There's clearly a lot of good in functional programming, and I think it's undeniable that features once considered hardcore FP are making it into the mainstream.
Notwithstanding, I'd like to hear what you have to say about functional languages and what you believe is their role in the coming years. Betting the farm on FP as the universal computational model would, however, take matters too far in my opinion. FP is doing okay today if the likes of 2-3x in performance is no matter to you. (I know, I know, there is this benchmark and the other etc.) It's possible that FP will be doing okay but just as mediocre on a new computing substrate. Also, it shouldn't be forgotten that FP offers, simply put, just crappy solutions to a variety of simple problems. It is nice in the sense that it's mathematically motivated, but there's plenty today that is also mathematically motivated. Formalisms have made good progress in the past two decades.
What's your opinion as a language designer about this feature-richness/simpleness trade-off? As there are languages all over the spectrum, clearly this is a matter in which reasonable people may disagree. Probably a good judge is "power offered per cubic inch of complexity" or something like that. Languages like D, Scala, or Haskell do well at that metric. Go is simple but in my opinion not the right kind of simple; in many ways it's a sort of a collective bummer that a language like it has emerged in this day and age. However, as I said, languages succeed because good people work on them, and there are good people working on Go.
Are there any features in D 2.0 that, in hindsight, you would want to drop? I'd drop the postblit this(this). It doesn't work well with qualifiers.
Any ones you wished you had incorporated but didn't? If I could have added a means for transparent reference counting without adding complexity to the language, I would have.
If there was anything you would today remove from your Modern C++ book what would it be and why? I'll tell you what I'd change in Modern C++ Design: the chapters on Allocators. Policy-based design can do wonders at creating layered allocators, see HeapLayers. I just missed that obvious idea, and I regret it.
What do you think about the Go language ? Which kind of feature would you borrow from it ? - What do you think about having more threading aware semantics in the languages instead of threading libraries ? (I'm thinking for example to the "synchronized" keyword in Java, or the Go, etc). (I assume there's understanding that I'm horribly biased.) I have a dim view of Go; I find it an unremarkable "me too" language that would be nowhere fast if Google weren't behind it. That said, it is executed beautifully and Google's engineers are true to form in delivering world-class server-oriented libraries for it. Go will probably never supplant C/C++/D for systems needs because it requires GC for core operations (fact understood by its proponents who rewrote the marketing message shortly after the initial launch). From Go I'd borrow the engineers who wrote its networking libraries.
There is no way around having the language understand concurrency at its core (unless it designs around it entirely, like PHP). The exact distribution of capabilities across language and library becomes a matter of taste. I'm a minimalistic guy who prefers "few axioms, many theorems" which applied to this would put few primitives in the language that allow for rich libraries.
D is a great language with a poor tooling. What are the plan to improve on the tooling part (and conquer the world) ? I noticed that many languages are successful because good people have made it a point to work on them. At this point my focus is to foster good quality in the language proper that would make it attractive for others to join. If I play my cards right and get other proverbial penguins to jump off the equally proverbial iceberg in the water, tooling will definitely improve.
Would you say D is different? Is there a strong incentive for C++ programmers (and lovers) to have a good look at D? There is an increasing amount of programmers who have decided they need the amount of modeling power and efficiency that C++ offers. This is because of a variety of phenomena (no more frequency scaling, heat is becoming a limiting factor, dynamic analysis has its limits etc). For those, I venture to say D is a very attractive choice because it offers all C++ does and a lot more, at a lower cognitive cost and with build times faster by one order of magnitude.
I must admit I'm reluctant to switch to a garbage-collected language (which is, pretty much any language that's not C++.) Knowing that everything (objects, memory, files, etc.) will be released/destroyed automatically at a predictable moment is comfortable. The simple answer to your question that surprises many non-language-pundits is that garbage collection is mainly a tool for memory safety. One may opt for a complicated typed regions system to avoid tracing (Cyclone, Rust), or simply rely on a tracing collector.
What in C++ resource model is considered so bad that every single other language is garbage-collected? (Let's forget those where you have to do everything by hand, like C, ASM, and butterflies.) I made more remarks on garbage collection in a different post.
garbage collection is mainly a tool for memory safety. Sure, it's merely one possible tool. Everything is a value. "a=b" means "a is an independent copy of b." A function can return a value. Static polymorphism (i.e. templates) is king here. And there's a very simple rule for resource management: when a value gets out of scope, the associated resources are automatically deallocated. Everything is an entity / a pointer. "a=b" means "a is another pointer to the entity pointed to by b." A function can return a pointer. This is the realm of inheritance polymorphism (i.e. virtual functions). Typically, you have "Base b= new Derived", and of consequently, deep copy is cumbersome and thus, rare. Of course, for such a model, you need a GC. Both models have their limitations: Sometimes, in the "value" model, you actually need an "entity" object. And things get murky. OTOH, in the "entity" model, sometimes you actually need values. That's why Java has both int and Integer. What surprises me is that the "value" model, despite working very well (as long as you don't want/need Java-style OOP), seems to have been implemented once (in C++), and was then completely abandonned. Why? Excitement for "everything is a value" decreases considerably when one realizes all referential structures are precluded (lists, trees, graphs - and a lot of object models are graphs). That in turn locks one out of a vast application area. Having an object that just refers to another is pretty darn powerful.
How do you think about some standard package manager for D, like npm for Node.js and RubyGems for Ruby? Are there any plans yet? Yep, code.dlang.org is the main candidate.
And: Git/Mercurial? vi/emacs? cats/dogs? We're switching from git to mercurial for scale reasons. I'm fine with anything that works, and love the concept. I give a ton of credit to Linus for having created git back in the day.
We're switching from git to mercurial for scale reasons. Could you tell us more about that point? Git takes long times with our front-end source tree (which is enormous). The matter of customizing git came up and people looked at the code and decided it's pretty convoluted when compared to the Mercurial code.
3. I was very impressed by Sean Parent's talks at this year's Going Native (Link to channel9.msdn.com What is your opinion about the advice he gives? > 3. I was very impressed by Sean Parent's talks at this year's Going Native (Link to channel9.msdn.com ). What is your opinion about the advice he gives?
Following the developement of D you get the feeling that way to many developement resources are spend on new features instead of finishing existing ones. For example a lot of work has been put into user defined attributes while other features are unfinished, unstable or not even usable (alias this, shared, export, structs). Whats your opinion on this? I agree that we should focus more on completing, streamlining, and using what we've got. This is happening already - it's been a while since quality has been at the top of our list, and the positive PR has been visibly improving.
Now that we have more resources there is some amount of parallel work we could do, and the mixed blessing with volunteer work is people work on what they find interesting, not necessarily what's best to do at the moment. This has been a challenge, but at the same time a good problem to have.
In the D bugtracker there are tons of old bugs (1 year or more) that don't get any attention but concern pretty basic language features. What do you think about adding a "old bug of the month" voting to the D developement process to pick a old bug every month that definitely gets fixed? I think that's a good idea. Even before that we should look at a "old pull request of the month". It is a shame that we are unable to accept valuable contributions at a faster rate.
Allow people to set a bug bounty using bitcoin; trust me, this will get a lot more people interested in hitherto uninteresting things. +bitcointip $1 verify. Funny you should mention that. Walter and I are talking about a bounty system, but we didn't think of bitcoins!
Lots of functional programming features are now available in languages such as C++ and D - what do you think are some of the functional features that we'll see incorporated in languages such as those over the next decade or two? There's talk about purity in C++, but beyond that I'm not sure whether there are plans for major FP-related additions.
Of the usual suspects present in FP languages, D notably misses pattern matching. It is in tension with OOP-style (first match vs. best match), and I'm not sure whether or not it's a fundamental feature of functional style. There are no plans to add such at this time.
Worst weakness? Design decision you would like to change? edit: Removed questions skeksis268 link answered. From a pure language standpoint, D's worst weakness is too little control over escaping of addresses. From a larger ecosystem standpoint, D's worst weakness has been quality of implementation.
I have been using D for a while now, and I absolutely love it. What are some improvements that are in the works that you personally are most excited about? Glad to hear that! The most important three features right now are: quality, quality, and quality. We want to finalize the language's ideas to the ultimate detail.
That said, Walter and I are excited about directions like qualifier and attribute inference (more descriptive programs with less source code). Walter has some great insights regarding the relationship between purity and uniqueness, that could greatly improve expressiveness at no cost in complexity - e.g. a pure function returning mutable data must by necessity produce fresh data. Mind = blown.
What does your typical day at Facebook look like? How much of it involves coding? Aside from reading reddit you mean? :o)
Here are a few scattered tidbits.
I use the shuttle to/from San Francisco, and I get to read or get work done on it.
A lot of what I do is coding. I need to wait long times for building and performance testing, which I try to fill by tending email, reading papers, or trying new ideas (most Facebook engineers have multiple parallel git trees so they can work on several things simultaneously.)
We don't have many meetings, and those we do have are actually interesting.
Chats every so often with coworkers.
Reviewing code, perusing internal forums.
But most of it coding.
How much more productive do you think D can really be if adopted at C++ scale? Me and other enthusiasts I know are heavily biased by our positive solo experiences with it. Productivity and its variations are difficult to measure. Build speeds alone, at one order of magnitude speedup, are dramatic enough to exert a change of paradigm. For example, many people say dynamic languages are productive because they have the "right" execution model - save file, hit Refresh. If actual times for a compiled language drop to the point of offering the same model, I think a whole category of perceptions would change.
One thing I noticed with D is its "plasticity". Once you have a body of code that works in C++, the natural tendency is to be conservative about changing it: unit testing is tenuous, subtle failure scenarios upon changes are legion, not to mention build times etc. In D, it's a lot easier to mold and remold designs are you go because you know you wont be penalized for it.
I don't like the separation between Structs and Classes in D. I think that having to avoid classes if you don't want to use the GC could force people to have implemented the same artifact as a Class and as a Struct. Also don't get why a value type / stack object is simply not allowed to use runtime polymorfism. It feels more natural when you can do such distinction when defining a variable type, as you can do in Rust. Could you defend the D approach over the C++ aproach or the Rust approach? Class vs. struct comes up occasionally as a minority opinion. Walter's basic insight was that polymorphism and value semantics rarely mix, and when they do, they rarely mix well: there are about a million ways to declare a data type handling value vs. reference semantics incorrectly in C++. Clearly there are a few legit cases (like allocating a polymorphic type on the stack and aliasing its address), and people feel robbed of that possibility. The matter of fact is that such ambiguous-gender types and their uses are rare enough, and their converse troubles are frequent enough, to warrant designing them away (you can still allocate polymorphic objects on the stack in D, it's just not dead simple, you need to use emplace).
Thanks in advance Andrei, I'm following your work since I've discovered your book Modern C++ Design! For Rust it makes more sense to tackle the problem differently because it gets to tap into its already sophisticated pointeregion paraphernalia. For D, the decision to split struct and class is, I think, a winner. We're very pleased with it.
Have you read Stepanov and McJones's "Elements of Programming"? What are your thoughts on it? Yes. It's a fine book, but (and I'm sure I'll get crucified for it) I think it's a bit on the self-important side.
Last updated: 2013-10-06 17:26 UTC
This post was generated by a robot! Send all complaints to epsy.
submitted by tabledresser to tabled [link] [comments]

How to Create Website Graphs from CSV Files with c3.js and ... How to use Blockchain Wallet API v2 PHP create chart from mysql data  PHP Tutorial - YouTube How to Create Charts and Graphs Using MySQL, PHP, Morris ... How to draw Bar Graph using data from MySQL table and PHP ...

Bitcoin Development Tools. There are a ton of open source tools available for developers to use in order to save a lot of time while building Bitcoin based applications. There's no need to re-invent the wheel! Developer Tools: Awesome Extensive Tools List; Blockbook wallet indexing service; BlockSci high performance query engine; Fast Dat blockchain parser; Blockstream Satellite (send ... Blockchain2graph extracts blockchain data (bitcoin) and insert them into a graph database (neo4j). Java GPL-3.0 19 0 0 0 Updated Oct 10, 2020. Blockchain-Known-Pools Forked from blockchain/Blockchain-Known-Pools Blockchain Known Pools Tracking Info MIT 208 44 0 2 Updated Sep 29, 2020. go-micro-apollo-plugin apollo go-micro Go 0 0 0 0 Updated Sep 25, 2020. go-ethereum Forked from ethereum/go ... A Bitcoin python library for private + public keys, addresses, transactions, & RPC. MIT. Live. Lionshare API . Realtime cryptocurrency API. MIT. Live. Cryptocoin Payment Gateway API. Bitcoin PHP Payment Class. MIT. Live. BitcoinExchangeFH. a slim application to record the price depth and trades in various exchanges. Apache-2.0. Live. Block.io. Easy Bitcoin wallet, as a service. Live. TxWatcher ... Free Charting Library for your website or mobile app. TradingView Charting Library comes with API to show your own data. Customizable and easy to install. The aim of this guide to help you understand the logic behind Bitcoin Script. Since there will be too much to cover, the guide will be divided into two parts. -AMAZONPOLLY-ONLYWORDS-START- Bitcoin was created for one purpose alone…transactions. Bitcoin was able to show the world that a payment system can exist on a decentralized peer-to-peer system.

[index] [17032] [20656] [8276] [19347] [22982] [13551] [46797] [33230] [11031] [2850]

How to Create Website Graphs from CSV Files with c3.js and ...

This video is meant to be a sort of in depth walk-through on my thought process as I create website graphs from CSV files, using two libraries. I create a li... How-to create PDF documents using PHP with TCPDF. Generate PDF Files using PHP Scripts with TCPDF, Build PDF files dynamically with PHP using TCPDF. How to g... In this video we will learn to draw Bar Graph using data from MySQL table, PHP and ChartJS. TUTORIAL LINK: https://goo.gl/WtP4Us Next Video: https://youtu.be... Coding a QR code reading program using a library. A very easy to code quick way to get QR code scanned. QR Code Library Link https://github.com/khanamiryan/p... Bitcoin Live Btc Price Chart Liquidation Watch Bull vs Bear Pump or Dump Bitcoin Currency Bitcoin is a cryptocurrency. It is a decentralized digital currency without a central bank or single ...

#