3 Winston Churchill's inspiring wartime speeches in Parliament By www.bbc.co.uk Published On :: Fri, 08 May 2020 13:06:45 GMT As his great grandson launches a competition to "inspire like Churchill", we look at the PM's wartime words. Full Article
3 Coronavirus: 'Modest' lockdown changes announced in Wales By www.bbc.co.uk Published On :: Fri, 08 May 2020 17:30:08 GMT People will be allowed to exercise outside more than once a day, First Minister Mark Drakeford says. Full Article
3 Coronavirus lockdown: UK 'should not expect big changes' By www.bbc.co.uk Published On :: Fri, 08 May 2020 13:56:31 GMT The PM will set out a "cautious" road map for the UK in his speech on Sunday, a cabinet minister says. Full Article
3 Coronavirus: 'Up to 2,000' UK seafarers stranded By www.bbc.co.uk Published On :: Sat, 09 May 2020 00:01:09 GMT Mental health problems are growing and ship workers see "no end" to their ordeal, a union warns. Full Article
3 The FBI said I was my parents' stolen baby - but I found the truth By www.bbc.co.uk Published On :: Wed, 20 Jun 2018 02:12:48 GMT Foundling Paul Fronczak was given to a family whose baby had been stolen - but was he really their son? Full Article
3 Coronavirus: How India's lockdown sparked a debate over maids By www.bbc.co.uk Published On :: Tue, 05 May 2020 23:09:58 GMT The government says domestic helpers can now resume work, but why are some Indians worried? Full Article
3 Coronavirus: Photographers' children's lives in lockdown By www.bbc.co.uk Published On :: Wed, 06 May 2020 09:32:17 GMT Photographers who work for Unicef have taken candid shots of their children's lives during lockdown. Full Article
3 US shopping centres re-open: 'This is the best day ever' By www.bbc.co.uk Published On :: Wed, 06 May 2020 23:16:45 GMT In states like Texas, malls can operate at a 25% capacity and for some, it's a reason to get out of the house. Full Article
3 'Definitely not the real thing': why eracers can't go from the bedroom to the cockpit By www.bbc.co.uk Published On :: Sat, 09 May 2020 10:28:03 GMT With more and more F1 drivers making the move to esports during the lockdown and doing well, could an expert sim racer easily make the leap the other way? Full Article
3 'B' teams or partner clubs back on the agenda? Clubs may have to 'share resources' to survive By www.bbc.co.uk Published On :: Sat, 09 May 2020 07:35:48 GMT The controversial concept of B teams may be back on the agenda as football tries to navigate a way through Covid-19, Brighton technical director Dan Ashworth says. Full Article
3 'I feel fresher and healthier' - Hamilton enjoying parts of F1 break By www.bbc.co.uk Published On :: Sat, 09 May 2020 13:17:54 GMT Mercedes driver Lewis Hamilton says he feels certain benefits from his enforced time away from Formula 1. Full Article
3 India coronavirus: Why celebrating Covid-19 'success models' is dangerous By www.bbc.co.uk Published On :: Thu, 07 May 2020 23:02:05 GMT Experts tell the BBC that euphoria over success models runs the risk of people becoming complacent. Full Article
3 Coronavirus: How is Suffolk's Little America coping in lockdown? By www.bbc.co.uk Published On :: Fri, 08 May 2020 23:14:20 GMT How are the communities that rely so heavily on the US airbases coping under lockdown? Full Article
3 Quiz of the Week: What's in a (baby) name for Elon Musk? By www.bbc.co.uk Published On :: Thu, 07 May 2020 23:22:38 GMT How closely have you been paying attention to what's been going on during the past seven days? Full Article
3 Africa's week in pictures: 1 - 7 May 2020 By www.bbc.co.uk Published On :: Thu, 07 May 2020 23:12:28 GMT A selection of the week's best photos from across the continent and beyond. Full Article
3 The flamboyant life of 'King and Queen of rock 'n' roll' By www.bbc.co.uk Published On :: Sat, 09 May 2020 14:40:57 GMT The self-styled "king and queen of rock 'n' roll" - who inspired Elvis and The Beatles - dies at 87. Full Article
3 Trump laments ‘heart-breaking' killing By www.bbc.co.uk Published On :: Fri, 08 May 2020 23:08:58 GMT The 25-year-old was jogging in Georgia when he was shot dead, in a video the president described as disturbing. Full Article
3 UK 'to bring in 14-day quarantine' for air passengers By www.bbc.co.uk Published On :: Sat, 09 May 2020 13:25:34 GMT An airline industry body says it has been told coronavirus quarantining will start from the end of May. Full Article
3 US Vice-President Mike Pence's aide tests positive for coronavirus By www.bbc.co.uk Published On :: Fri, 08 May 2020 23:56:53 GMT The diagnosis comes one day after Trump's personal valet tested positive for the virus. Full Article
3 Little Richard : Rock 'n' roll pioneer dies By www.bbc.co.uk Published On :: Sat, 09 May 2020 14:47:22 GMT The self-styled "king and queen of rock 'n' roll" - who inspired Elvis and The Beatles - dies at 87. Full Article
3 Coronavirus: Far-right spreads Covid-19 'infodemic' on Facebook By www.bbc.co.uk Published On :: Mon, 04 May 2020 05:33:16 GMT An investigation details how extremists are trying to exploit the pandemic via the social network. Full Article
3 Love Bug's creator tracked down to repair shop in Manila By www.bbc.co.uk Published On :: Sun, 03 May 2020 00:07:48 GMT Two decades after the world's first major computer virus, an author finds the perpetrator in Manila. Full Article
3 Coronavirus: Can live-streaming save China's economy? By www.bbc.co.uk Published On :: Tue, 05 May 2020 23:17:27 GMT In China, the live-streaming industry has become an important platform for economic recovery. Full Article
3 Coronavirus: 'Phone apps helped me spend time with my dying mum' By www.bbc.co.uk Published On :: Sat, 09 May 2020 06:48:09 GMT Andrew's mother was dying in hospital under lockdown, so he used technology to spend time with her. Full Article
3 Coronavirus: Ghana's dancing pallbearers become Covid-19 meme By www.bbc.co.uk Published On :: Sun, 03 May 2020 23:02:16 GMT Social media users have adopted the troupe as a dark-humoured symbol of death in the time of Covid-19. Full Article
3 Life inside the UK's first 'TikTok house' By www.bbc.co.uk Published On :: Tue, 05 May 2020 08:02:58 GMT These six creators moved in together to make viral TikTok videos. Full Article
3 Uber says 'no sacred cows' amid coronavirus crisis By www.bbc.co.uk Published On :: Thu, 07 May 2020 22:55:54 GMT The firm has already announced job cuts affecting 14% of its staff, but more measures may be needed. Full Article
3 Coronavirus: 'Plandemic' virus conspiracy video spreads across social media By www.bbc.co.uk Published On :: Fri, 08 May 2020 11:26:57 GMT A slickly-produced "documentary" has exploded across social media, peddling medical misinformation. Full Article
3 Coronavirus: Lockdown life 'a challenge' for vulnerable children By www.bbc.co.uk Published On :: Mon, 04 May 2020 19:59:02 GMT Charities warn some children who are missing out on additional support at school are falling into crisis. Full Article
3 Coronavirus: Teachers warn of early school return 'spike' By www.bbc.co.uk Published On :: Tue, 05 May 2020 13:39:06 GMT Teaching unions across UK and Ireland say test and trace measures must be fully operational before reopening. Full Article
3 Coronavirus: 'Humiliation' as school meal vouchers fail at till By www.bbc.co.uk Published On :: Thu, 07 May 2020 01:15:34 GMT "We had to leave all our shopping," a mother tells BBC News. Full Article
3 Students 'being ignored' over fee-refund claim By www.bbc.co.uk Published On :: Thu, 07 May 2020 18:39:25 GMT MPs consider a petition signed by 330,000, asking for students to get money back on fees this year. Full Article
3 'Tumbleweed tornado' hits US driver By www.bbc.co.uk Published On :: Fri, 01 May 2020 23:11:02 GMT An eerily beautiful dust devil flings picking up hundreds of tumbleweeds in Washington state. Full Article
3 Five-year-old caught driving parents' car in Utah By www.bbc.co.uk Published On :: Tue, 05 May 2020 17:27:32 GMT The boy said he was travelling to California to buy a Lamborghini. Full Article
3 Coronavirus: Russian hospital staff 'working without masks' By www.bbc.co.uk Published On :: Thu, 07 May 2020 23:05:50 GMT As coronavirus spreads in the provinces, more and more health workers are getting sick - and dying. Full Article
3 React v16.13.0 By reactjs.org Published On :: Wed, 26 Feb 2020 00:00:00 GMT Today we are releasing React 16.13.0. It contains bugfixes and new deprecation warnings to help prepare for a future major release. New Warnings Warnings for some updates during render A React component should not cause side effects in other components during rendering. It is supported to call setState during render, but only for the same component. If you call setState during a render on a different component, you will now see a warning: Warning: Cannot update a component from inside the function body of a different component. This warning will help you find application bugs caused by unintentional state changes. In the rare case that you intentionally want to change the state of another component as a result of rendering, you can wrap the setState call into useEffect. Warnings for conflicting style rules When dynamically applying a style that contains longhand and shorthand versions of CSS properties, particular combinations of updates can cause inconsistent styling. For example: <div style={toggle ? { background: 'blue', backgroundColor: 'red' } : { backgroundColor: 'red' } }> ... </div> You might expect this <div> to always have a red background, no matter the value of toggle. However, on alternating the value of toggle between true and false, the background color start as red, then alternates between transparent and blue, as you can see in this demo. React now detects conflicting style rules and logs a warning. To fix the issue, don’t mix shorthand and longhand versions of the same CSS property in the style prop. Warnings for some deprecated string refs String Refs is an old legacy API which is discouraged and is going to be deprecated in the future: <Button ref="myRef" /> (Don’t confuse String Refs with refs in general, which remain fully supported.) In the future, we will provide an automated script (a “codemod”) to migrate away from String Refs. However, some rare cases can’t be migrated automatically. This release adds a new warning only for those cases in advance of the deprecation. For example, it will fire if you use String Refs together with the Render Prop pattern: class ClassWithRenderProp extends React.Component { componentDidMount() { doSomething(this.refs.myRef); } render() { return this.props.children(); } } class ClassParent extends React.Component { render() { return ( <ClassWithRenderProp> {() => <Button ref="myRef" />} </ClassWithRenderProp> ); } } Code like this often indicates bugs. (You might expect the ref to be available on ClassParent, but instead it gets placed on ClassWithRenderProp). You most likely don’t have code like this. If you do and it is intentional, convert it to React.createRef() instead: class ClassWithRenderProp extends React.Component { myRef = React.createRef(); componentDidMount() { doSomething(this.myRef.current); } render() { return this.props.children(this.myRef); } } class ClassParent extends React.Component { render() { return ( <ClassWithRenderProp> {myRef => <Button ref={myRef} />} </ClassWithRenderProp> ); } } Note To see this warning, you need to have the babel-plugin-transform-react-jsx-self installed in your Babel plugins. It must only be enabled in development mode. If you use Create React App or have the “react” preset with Babel 7+, you already have this plugin installed by default. Deprecating React.createFactory React.createFactory is a legacy helper for creating React elements. This release adds a deprecation warning to the method. It will be removed in a future major version. Replace usages of React.createFactory with regular JSX. Alternately, you can copy and paste this one-line helper or publish it as a library: let createFactory = type => React.createElement.bind(null, type); It does exactly the same thing. Deprecating ReactDOM.unstable_createPortal in favor of ReactDOM.createPortal When React 16 was released, createPortal became an officially supported API. However, we kept unstable_createPortal as a supported alias to keep the few libraries that adopted it working. We are now deprecating the unstable alias. Use createPortal directly instead of unstable_createPortal. It has exactly the same signature. Other Improvements Component stacks in hydration warnings React adds component stacks to its development warnings, enabling developers to isolate bugs and debug their programs. This release adds component stacks to a number of development warnings that didn’t previously have them. As an example, consider this hydration warning from the previous versions: While it’s pointing out an error with the code, it’s not clear where the error exists, and what to do next. This release adds a component stack to this warning, which makes it look like this: This makes it clear where the problem is, and lets you locate and fix the bug faster. Notable bugfixes This release contains a few other notable improvements: In Strict Development Mode, React calls lifecycle methods twice to flush out any possible unwanted side effects. This release adds that behaviour to shouldComponentUpdate. This shouldn’t affect most code, unless you have side effects in shouldComponentUpdate. To fix this, move the code with side effects into componentDidUpdate. In Strict Development Mode, the warnings for usage of the legacy context API didn’t include the stack for the component that triggered the warning. This release adds the missing stack to the warning. onMouseEnter now doesn’t trigger on disabled <button> elements. ReactDOM was missing a version export since we published v16. This release adds it back. We don’t recommend using it in your application logic, but it’s useful when debugging issues with mismatching / multiple versions of ReactDOM on the same page. We’re thankful to all the contributors who helped surface and fix these and other issues. You can find the full changelog below. Installation React React v16.13.0 is available on the npm registry. To install React 16 with Yarn, run: yarn add react@^16.13.0 react-dom@^16.13.0 To install React 16 with npm, run: npm install --save react@^16.13.0 react-dom@^16.13.0 We also provide UMD builds of React via a CDN: <script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script> <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script> Refer to the documentation for detailed installation instructions. Changelog React Warn when a string ref is used in a manner that’s not amenable to a future codemod (@lunaruan in #17864) Deprecate React.createFactory() (@trueadm in #17878) React DOM Warn when changes in style may cause an unexpected collision (@sophiebits in #14181, #18002) Warn when a function component is updated during another component’s render phase (@acdlite in #17099) Deprecate unstable_createPortal (@trueadm in #17880) Fix onMouseEnter being fired on disabled buttons (@AlfredoGJ in #17675) Call shouldComponentUpdate twice when developing in StrictMode (@bvaughn in #17942) Add version property to ReactDOM (@ealush in #15780) Don’t call toString() of dangerouslySetInnerHTML (@sebmarkbage in #17773) Show component stacks in more warnings (@gaearon in #17922, #17586) Concurrent Mode (Experimental) Warn for problematic usages of ReactDOM.createRoot() (@trueadm in #17937) Remove ReactDOM.createRoot() callback params and added warnings on usage (@bvaughn in #17916) Don’t group Idle/Offscreen work with other work (@sebmarkbage in #17456) Adjust SuspenseList CPU bound heuristic (@sebmarkbage in #17455) Add missing event plugin priorities (@trueadm in #17914) Fix isPending only being true when transitioning from inside an input event (@acdlite in #17382) Fix React.memo components dropping updates when interrupted by a higher priority update (@acdlite in #18091) Don’t warn when suspending at the wrong priority (@gaearon in #17971) Fix a bug with rebasing updates (@acdlite and @sebmarkbage in #17560, #17510, #17483, #17480) Full Article
3 It's time to upgrade those Ruby 2.4 apps By rubyweekly.com Published On :: Thu, 16 Apr 2020 00:00:00 +0000 #497 — April 16, 2020 Read on the Web Ruby Weekly Bye Bye Ruby 2.4, Support Has Ended — From the end of April 2019 till now, Ruby 2.4 has been in its ‘security maintenance’ phase but now you won’t even get that, Ruby 2.4.10 should be the final 2.4 release. 2.5 will follow in 2.4’s footsteps next year, so upgrading to 2.6 or 2.7 should now be a priority for those older apps. Ruby Core Team Testing Ruby Decorators with super_method — Have you ever wondered how you can properly test the behavior of a method overridden by Module#prepend? Enter super_method which returns a Method object of which superclass method would be called when super is used or nil if none exists. Simone Bravo You Hacked the Gibson? Yeah, They Built Their Own Login — Don't let Crash Override pwn your app. FusionAuth adds secure login, registration and user management to your app in minutes not months. Download our community edition for free. FusionAuth sponsor Heya: A Sequence Mailer for Rails — “Think of it like ActionMailer, but for timed email sequences.” Note: It’s open source but not free for commercial use beyond a certain point. Honeybadger Industries LLC A Final Report on Ruby Concurrency Developments — A report on work funded by a 2019 Ruby Association Grant that puts forth a proposal of using non-blocking fibers to improve Ruby’s concurrency story. Samuel Williams Mocking in Ruby with Minitest — Minitest has basic mocking functionality baked in, but be judicious in your use of it. Heidar Bernhardsson ???? Jobs Ruby Backend Developer (Austria) — We’re seeking mid-level and senior devs to join us and build top-class backend infrastructure for our adidas apps, used by millions. Our stack includes: jRuby, Sinatra, Sidekiq, MySQL, & MongoDB. Runtastic Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. Vettery ▶️ Get ready for your next role: Pluralsight is free for the entire month of April. Stay Home. Skill Up. #FreeApril — SPONSORED ???? Articles & Tutorials Predicting the Future With Linear Regression in Ruby — Linear regression is a mathematical approach to modelling a relationship between multiple variables and is demonstrated here by exploring whether the tempo of a song predicts its popularity on Spotify. Julie Kent Feature Flags: A Simple Way to 'De-Stress' Production Releases — Feature flags bridge a gap between the abstract concept of continuous delivery and tactical release of features. Matt Swanson A Guide to Deprecation Warnings in Rails — If you’ve upgraded Rails and you start seeing warnings screaming at you, you can either get Googling or.. read this ???? Luciano Becerra What's the Difference Between Monitoring Webhooks and Background Jobs AppSignal sponsor Understanding webpacker.yml — Have you ever really gone through the Webpack config? Ross Kaffenberger Using Optimizer Hints in Rails — Rails 6 removes the need to write raw SQL to use optimizer hints, so that’s cool. Prateek Choudhary Dissecting Rails Migrations — You should pick up something new about migrations by reading this article as it covers all of the essentials and a little more. Prathamesh Sonpatki The Basics of Custom Exception Handling — Never hurts to revise the basics of effective exceptions. Mark Michon How to Improve Code Readability with Closures Andrey Koleshko ???? Code and Tools ruby-prolog: A Pure Ruby Prolog-like DSL for Logical Programming — Solve complex logic problems on the fly using a dynamic, Prolog-like DSL inline with your normal code. Preston Lee Anyway Config: Keep Your Ruby Configuration Sensible — Get your Ruby project out of ‘ENV Hell’ with anyway_config, a framework for managing configuration. Vladimir Dementyev The End of Heroku Alerts — Rails Autoscale keeps your app healthy. Simple and effective autoscaling for Web, Sidekiq, Delayed Job, and Que. Rails Autoscale sponsor Tomo 1.0: A Friendly CLI for Deploying Rails Apps — There’s a short tutorial for deploying Rails, and the documentation is thorough. Matt Brictson ActiveLdap 6.0: An Object Oriented Interface to LDAP — A very long standing project (16 years!) that has just had an update. LDAP stands for Lightweight Directory Access Protocol and while I don’t hear about it much anymore, it has plenty of established use cases. Sutou Kouhei Elasticsearch Integrations for ActiveModel/Record and Rails Elastic RubyMine 2020.1 Released Natalie Kudanova Full Article
3 An interview with Ruby ETL expert Thibaut Barrère By rubyweekly.com Published On :: Thu, 30 Apr 2020 00:00:00 +0000 #499 — April 30, 2020 Read on the Web ???? Occasionally we run interviews in Ruby Weekly and we're back with another one.. with long time Rubyist and Kiba maintainer, Thibaut Barrère. Be sure to check out the bottom of this issue to read it, especially if you ever run ETL jobs with Ruby! ???? Ruby Weekly ▶ Let's Build a Twitter Clone in 10 Minutes with Rails, CableReady, and StimulusReflex — You know that cloning Twitter in 10 minutes is impossible, but what about the core mechanism of the idea? After a slow first minute, this video does a pretty good job of showing off some techniques you might not have used before. Nate Hopkins discuss.rubyonrails: The Rails Project Discussion Forum — Basically a Web version of the Rails mailing lists and a worthwhile place to head if you want to suggest features, ask questions, etc. Ruby on Rails Discussions Easy Rails Deployments — Deploy your Ruby, Rails, Sinatra, and Rack application to any cloud or server. Cloud 66 offers a scalable Heroku alternative that doesn't lock you in. Try it free and get extra $66 free credits with the code: 'Ruby-Weekly'. Cloud 66 sponsor sequel-activerecord-adapter: Allows Sequel to Reuse an ActiveRecord Connection — If you want to use more Sequel or migrate in that direction, this makes it easy. Janko Marohnić Ruby Adds Experimental Support for 'End-Less' Method Definitions — We’ve touched on this in a previous issue, but if you fancy a proper blog post with examples, this is more accessible than digging through feature tracker discussions. I’m not a fan of this syntax myself yet, but Prateek does a good job of selling it. Prateek Choudhary CableReady: Trigger Client-Side DOM Changes from Server-Side Ruby — If you skipped the video above because it’s a video (and I know many of you do ????) CableReady is still worth checking out. It aims to “complete the ActionCable story” by providing a way to directly interact with clients over ActionCable WebSockets. The docs will help you get the idea. Hopsoft ???? Jobs Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. Vettery Security Engineer (Remote) — Are you an engineer with experience in Rails and/or Go? Join our team and help secure our apps and cloud infrastructure. Shogun ℹ️ Interested in running a job listing in Ruby Weekly? There's more info here. ???? Articles & Tutorials A Practical Use for PStore — PStore is one of the older parts of Ruby’s stdlib and lets you persist (and restore) a Ruby hash to disk. I haven’t seen it in Ruby code for years but Arkency have found a neat, modern use case. Paweł Pacana ▶ Drag and Drop Sortable Lists with Rails and Stimulus JS — How to wire up drag and drop lists with a Rails app using Sortable, Stimulus and acts_as_list. Go Rails Setting Up Multi-Factor Authentication for RubyGems.org — If you’re a registered user of the official Ruby Gems repository, you should have had an email this week about securing your account using 2FA. This is just my own reminder that this is a good idea especially if you publicly publish widely used gems! :-) Rubygems.org Let’s Explore Big-O Notation With Ruby ???? — Learn to use Big-O to look at an algorithm and easily discern its efficiency, without having to run a profiling tool. Honeybadger sponsor ▶ Discussing Docker and Kubernetes with Kelsey Hightower — A worthwhile show to listen to if Kubernetes and Docker intimidate you but you want to know a little more. Kelsey is good at breaking these things down into understandable pieces. Rails with Jason Podcast podcast Rails System Tests in Docker — We’re seeing an uptick in articles about system tests in Rails. Here’s how to integrate them into your development Docker setup. Hint.io The Difference Between System Specs and Feature Specs — If you’ve felt the difference between RSpec’s “feature specs” and “system specs” is quite subtle, this explanation will help. Jason Swett Why Rubyists Should Consider Learning Go — If you want compilation and a type system, Crystal is probably a better fit for Rubyists, but Go is undoubtedly a neat language and ecosystem (and if you do end up in the Go world, check out our Go weekly! ????) Ayooluwa Isaiah Building a Ruby CLI with Thor Daniel Gómez ???? Code and Tools git curate: Peruse and Delete git Branches Ergonomically — Got a repo cluttered with branches here and there? git curate aims to cure the pains of getting those branches back under control. Matt Harvey MessageBus: A Reliable and Robust Messaging Bus for Ruby and Rack Sam Saffron Are You Spending Too Much on Heroku? Rails Autoscale sponsor bootstrap_form: A Rails Form Builder for Bootstrap v4-Style Forms Bootstrap Ruby ActiveModelAttributes: The Active Record Attributes API, but for Active Model — Brings some of the goodies of the Rails 5 Active Record attributes API to ActiveModel too. 1.6.0 just dropped. Karol Galanciak ???? A Q&A with…Thibaut BarrèreCreator of Kiba ETL Thibaut Barrère is a long-time Rubyist and data engineer who built and maintains the popular Extract, Transform, and Load (ETL) framework Kiba. We asked him some questions about his work: What inspired you to create Kiba? A lot of my work since ~2005 has been focused on data integration (making systems speak together), data aggregation etc. I sometimes used GUI-based tools like Microsoft SSIS which, while powerful, are quite far from the coding experience. I was already using Ruby at that time, and was happy to discover activewarehouse-etl (maintained by Anthony Eden, who runs DNSimple now) providing a Ruby DSL to declare data pipelines. I used it for a while with very good success to implement data extractions and business intelligence ETL, and ultimately took over the maintenance. In the long run, though (as I explained in a recent Paris.rb talk), the balance between the the cost of OSS maintenance and the usability for my billable and non-billable use-cases proved to be not good enough, which made me decide to stop the maintenance, sadly. I still wanted to use Ruby to write data pipelines, but I needed to cover more use-cases and reduce the OSS maintenance burden at the same time. This ultimately led me to write and share (in 2015) Kiba ETL, a focused DSL for declarative processing, matching those criterias. Do you find yourself adding more features while in quarantine? Before the quarantine, I directed my Kiba bandwith and focus on finalizing Kiba v3 and rewriting the documentation from scratch, to properly encourage best practices I’ve been discovering. I also created experimental branches for Ruby 2.7/2.8 keywords. During the quarantine, I've reduced client work and OSS work too, to focus on shipping Kiba Pro v2 (which I’ll announce shortly officially). I’ve extracted and generalized (from real-life projects) very useful components, such as a “batch SQL lookup” (useful when replacing relationships keys during data migrations and datawarehouses sync code, in batch rather than row by row), a “file lock” to ensure a single job runs at once, and a “parallel transform” to achieve easy concurrency for things like HTTP queries. What's the wildest ETL that you've encountered? Getting the data out of a system which is actively not acting in that direction is always a bit wild.. One can see all types of fancy stuff on the field. For instance, it is not uncommon to have an ETL process start a headless browser, jump through pages, just to get to the CSV/PDF/Excel file that you will then use as your data source! You can also end up having to figure out ways to read or write very old file formats at times. Recently I wrote a Kiba component to generate a COBOL delimited file, for instance. In large companies, a very widely used I/O is good old SFTP, far away from modern APIs and formats. Can you tell us how to say your last name? ???? I had to deploy a page to my blog to answer that question properly ????. You’ll find out how to say my name here. Merci Thibaut! You can read some of Thibaut's posts on his blog and find out more about Kiba ETL here. Full Article
3 npm's CTO: So Long, and Thanks for All The Packages By nodeweekly.com Published On :: Thu, 16 Apr 2020 00:00:00 +0000 #334 — April 16, 2020 Read on the Web Node Weekly npm Has Now (Actually) Joined GitHub — We announced GitHub’s acquisition of npm a month ago but now the process is complete. Not much real news here but the plan is to now focus on community engagement and improving registry infrastructure. Jeremy Epling (GitHub) Node v13.13.0 (Current) Released — fs.readv is a new function to sequentially read from an array of ArrayBufferViews, util.inspect now lets you specify a maximum length for printed strings, the default maximum HTTP header size has been increased to 16KB, there are three new collaborators, and more. Michaël Zasso Get Better Insight into Redis with RedisGreen — Modern hosting and monitoring services include memory usage maps, seamless scaling, key size tracking, and more. RedisGreen sponsor ▶ Watch the Live Coding of a New Feature for Node.js — This is not something for novices, but if the idea of watching ‘over the shoulder’ of a Node.js collaborator implementing a new feature directly into Node itself interests you.. this could be a valuable hour spent. Vladimir de Turckheim node-libcurl 2.1: libcurl Bindings for Node — libcurl is a very powerful and well established way to fetch data from URLs across numerous protocols. node-libcurl 2.1.0 brings support for the latest version of libcurl (7.69.1) to us in the Node world. Jonathan Cardoso Machado npm's CTO: 'So Long, and Thanks for All The Packages!' — Ahmad Nassri was npm’s CTO but has now left. Here, he reflects on the past ten years of npm, the repo, the company, and the achievements of both. Ahmad Nassri ???? Jobs Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. Vettery Node.js Developer at X-Team (Remote) — Join X-Team and work on projects for companies like Riot Games, FOX, Coinbase, and more. Work from anywhere. X-Team ▶️ Get ready for your next role: Pluralsight is free for the entire month of April. Stay Home. Skill Up. #FreeApril — SPONSORED ???? Tutorials Working With AWS Route 53 from Node — Route 53 is Amazon Web Services’ suite of DNS-related services. Like every AWS service, you can control it via an API, and here’s how to manipulate hosted zones from Node. Valeri Karpov Best Practices Learnt Running Express.js in Production for 4 Years — There’s a lot of stuff packed in here focused around middleware, testing, logging, and general concerns around scaling and keeping apps running in production. Adnan Rahić The Node.js Security Handbook — Improve the security of your Node.js app with the Node.js security handbook made for developers. Sqreen sponsor How To Set Up an Express API Backend Project with PostgreSQL — A pretty extensive walkthrough of creating an HTTP API using Express with Node.js and Postgres on the backend, then deploying it all on Heroku. Chidi Orji Porting to TypeScript Solved Our API Woes — From the guy behind the (in)famous Wat video comes a tale of porting a backend from Ruby to TypeScript. Gary Bernhardt How to Mass Rename Files in Node Flavio Copes ▶ Let's Build a Digital Circuit Simulator In JavaScript — A special episode of the Low Level JavaScript series takes us on a brief journey into the world of digital logic. Low Level JavaScript The Story of How I Created a Way to Port Windows Apps to Linux — We mentioned ElectronCGI recently as a way to let .NET and Node.js code depend upon each other, but here its creator explains more about the how and why. Rui Figueiredo How to Create an Alexa Skill with Node — Implementing a custom ‘skill’ for Amazon Alexa by using Node and AWS Lambda. Xavier Portilla Edo ???? Tools, Resources and Libraries Node v10.20.1 (LTS) Released — If you’re still using Node 10, don’t use v10.20.0, use this, due to a bug in the .0 release. Bethany Nicolle Griggs emoji-regex: A Regular Expression to Match All Emoji-Only Symbols Mathias Bynens ip-num: A Library to Work with ASN, IPv4, and IPv6 Numbers — Happy in both Node and the browser. dadepo Optimize Node.js Performance with Distributed Tracing in Datadog Datadog APM sponsor verify-json: Verify JSON Using a Lightweight Schema — A lighter weight alternative to something like JSON Schema. Yusuf Bhabhrawala middle-manager: A Lightweight 'No BS' Presentation Tool — A bit of humor, really. It turns Markdown into basic presentations but then the magic is it detects your ‘BS’ business language so you can remove it ???? Anders Full Article
3 An insightful interview with Go's Rob Pike By golangweekly.com Published On :: Fri, 1 May 2020 00:00:00 +0000 #310 — May 1, 2020 Unsubscribe : Read on the Web Golang Weekly An Interview with Go's Rob Pike — Go’s co-creator answers some big picture questions about Go’s status, history, and future. “Go has indeed become the language of cloud infrastructure,” says Rob. Evrone ???? What's Coming in Go 1.15 — This presentation covers all the major sections: tooling, performance, API changes, and the Big Ones, like the aforementioned smaller binaries. Fingers crossed for a final release in August. Daniel Martí slidedeck Troubleshoot Golang App Issues with End-To-End Distributed Tracing — Trace requests across service boundaries to optimize bottlenecks by drilling into individual traces end-to-end with flame graphs. Correlate Golang traces with related logs and metrics for fast troubleshooting. Enhance performance with a free Datadog APM trial. Datadog APM sponsor Debugging Go Programs using Delve — The recent Go community survey showed that most Go developers use text-based logging (e.g. with fmt.Print()) to debug, but if you want to step things up a notch, this is a gentle intro to Delve. Naveen Ramanathan My Journey Optimizing The Go Compiler — Assel explains how a simple task evolved into a legitimate compiler optimization (aimed at 1.15) and proves we should all have a curious mind. Assel Meher The 'Ultimate' Go Study Guide — A large repository of code examples with comments and notes from Hoanh’s attempt at learning the language. If you pick up concepts well from straightforward examples, this is worth a look. Hoanh An ???? Jobs Software Engineer at HiPeople (Remote/Berlin) — Fast-moving startup (backed by top tier VCs) shaping the future of modern recruiting is looking for engineers who love working with Go. HiPeople Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. Vettery ???? Articles & Tutorials Making a Multiplayer Game with Go and gRPC — Started as a (somewhat ambitious) project to learn Go, Sam walks us through the algorithms, design decisions, mistakes, and where Go helped and hurt the game. Samuel Mortenson Documenting a Go GitHub Repo — Or, “How to Keep the README in Your GitHub Repo in Sync with Your Go Doc.” Eyal Posener The 5 Crucial PDF & Office Features For Corporate Apps in Pure Go — UniDoc develops pure Go libraries for managing PDF and Office files since 2016. Here are the features developers use the most. UniDoc sponsor ▶ Discussing Building Immediate Mode GUIs in Go — Elias Naur, creator of Gio, joins the popular Go podcast to discuss building GUI apps with Go, the pros and cons of immediate vs retained mode and examples of each. Go Time Podcast podcast The Creation of a Realtime Patient Monitoring System with Go and Vue in 3 Days — This is the Go content I am here for. Connecting with monitoring devices and leveraging Go’s strengths to create a helpful, distributed application. Great work. Kasun Vithanage Add It Up: Azure’s Go Problem — Here’s one takeaway from the Go Developer Survey. Of the major clouds, Azure is the one Go developers seem least enamored by. Lawrence E Hecht Why You Should Generally Be using the Latest Version of Go — No surprising arguments here. Chris Siebenmann ???? Code & Tools XLSX: A Library for Reading and Writing XLSX (Excel) Files — Got spreadsheets? Want to make spreadsheets? There’s a lot you can do with them here. Geoffrey J. Teale SQLBoiler: Generate a Go ORM Tailored to Your Database Schema — A long standing library that has now switched to modules. Volatile Technologies Inc. Decimal: Arbitrary-Precision Fixed-Point Decimal Numbers for Go — The library laments that it can only support decimal numbers with up to 2^38 digits after the decimal point so take care ???? Spring Engineering Beta Launch: Code Performance Profiling - Find & Fix Bottlenecks Blackfire sponsor Redigo: A Go Client for Redis — In related news, Redis 6.0 has just been released. Gary Burd ntp: Facebook's NTP Libraries — NTP stands for “Network Time Protocol”, if you were wondering. Basically, clock synchronization. Facebook Incubator grobotstxt: A Native Go Port of Google's Robots.txt Parser and Matcher Library — Now you can crawl your own site, just like Google does. Jim Smart A Compiler for a Small Custom Language Into x86-64 Assembly — One of those ‘labor of love’ type projects that you might enjoy poking around in. You won’t use this project directly, but you might be intrigued how to create a similar compiler for your own thing. Maurice Tollmien MIDAS: Microcluster-Based Detector of Anomalies in Edge Streams — A Go reimplementation of this C++ version. Steve Tan Liftbridge 1.0: Lightweight, Fault-Tolerant Message Streams — A server that implements a durable, replicated message log for the NATS messaging system. Liftbridge Full Article
3 'How do I convince the Home Office I'm a lesbian?' By www.bbc.co.uk Published On :: Wed, 26 Feb 2020 00:32:26 GMT More than 1,500 people claim asylum in the UK each year, claiming that they are persecuted for being gay. But it's not an easy thing to prove. Full Article
3 'My search for the boy in a child abuse video' By www.bbc.co.uk Published On :: Sun, 08 Mar 2020 00:09:54 GMT Lucy Proctor was horrified when she was WhatsApped a sex abuse video. And she wanted to find out if the boy was safe. Full Article
3 The rapper's track that sparked a wave of killings By www.bbc.co.uk Published On :: Tue, 03 Mar 2020 20:05:19 GMT Tensions have long existed between gangs in Tottenham and Wood Green - for 10 weeks in 2018 they boiled over. Full Article
3 Coronavirus: Here's how you can stop bad information from going viral By www.bbc.co.uk Published On :: Mon, 20 Apr 2020 10:39:28 GMT Experts are calling on the public to practise ‘information hygiene’ to help stop the spread of falsehoods online. Full Article
3 Birth in a pandemic: 'You are stronger than you think' By www.bbc.co.uk Published On :: Tue, 31 Mar 2020 23:09:29 GMT Coronavirus is throwing many birth plans up in the air and leading some health trusts to increase home births. Full Article
3 Coronavirus: 'Depression feels like my cat is sitting on my chest' By www.bbc.co.uk Published On :: Fri, 17 Apr 2020 02:58:57 GMT Two young people describe how the coronavirus pandemic and the lockdown have affected their mental health. Full Article
3 Electrosensitivity: 'I didn't believe people had it, then it happened to me' By www.bbc.co.uk Published On :: Fri, 07 Feb 2020 00:13:15 GMT Velma, Emma and Dean believe mobile phone signals, wi-fi and other modern technology makes them ill. Full Article
3 Ex porn-star and activist explores men's rights issues By www.bbc.co.uk Published On :: Tue, 21 Apr 2020 06:16:04 GMT Philipp travels to a conference on men’s issues in Chicago, shedding light on the controversial movement. Full Article
3 Dirty streaming: The internet's big secret By www.bbc.co.uk Published On :: Thu, 05 Mar 2020 01:03:57 GMT Figures suggest that IT now generates as much CO2 as flying, with some arguing it's nearly double. Full Article
3 Ultra-Orthodox and trans: 'I prayed to God to make me a girl' By www.bbc.co.uk Published On :: Sat, 25 Apr 2020 23:28:57 GMT Growing up as a Hasidic Jew, Abby Stein had no idea trans people existed - she just felt sure she was a girl. Full Article