Why databases use ordered indexes but programming uses hash tables
- I think it is safe to state that hash tables (e.g. maps in Go, dicts in Python, HashMap in Java, etc.) are far more common than ordered data structures such as trees for in-memory data structures.
- The traditional answer is that hash tables are designed to be efficient when storing data in memory, while B-Trees are designed for slower storage that is accessed in blocks.
- Finally, while I think these are probably the right defaults, I'll try to argue that we probably should use more ordered data structures in memory and more hash tables in databases.
- For single value lookups, this means hash tables are faster, no matter where your data is stored.
- Therefore, in programs, hash tables are faster for the common single value lookups, and only slightly slower for the rare full table scans.
- I think the correct default is to use hash tables in programs and ordered data structures in databases.
Open Banking 101: How Financial Institutions Can Take Advantage of a Global Movement
- Open banking, which has been implemented in the U.K., involves sharing customers’ financial information electronically and securely, but only under conditions that customers approve.
- Open banking forces lenders to offer a digital “fire hose” of data that any third party can use to get standardised access — provided the startup is registered with the UK Financial Conduct Authority (FCA) and the customer agrees to share their data.
- That’s why Business Insider Intelligence has put together a report called Open Banking 101: How Financial Institutions Can Take Advantage of a Global Movement to Collaborate with Partners and Developers.
- The report offers a look inside how this spreading movement is forcing banks to change their business models.
- It also walks through one specific bank as an illustration of how open banking is transforming the way financial institutions do business.
Creating a JAMstack Site with Open Authoring Using Netlify CMS
- However, a new feature of Netlify CMS called open authoring makes this process as easy as editing content directly in the CMS - the forking and pull requests are all handled behind the scenes.
- Under a typical deployment, user access might be managed by Netlify Identity (or a third-party integration) and you'd invite contributors who are granted access to your CMS admin to edit content.
- However, while the whole fork and pull request process underpins the feature, it is (mostly) transparent to the user who simply makes changes to the content in the CMS.
- If you were to go ahead accept this invite and log in (though we will be changing the authentication later to support open authoring), you may notice a limitation of this template when using Netlify CMS.
Why you should worry about your pet’s ecological footprint
- ONE of my cats has died, and I am bereft.
- It wasn’t the one we expected to lose first, the saggy old ginger tom, but the much younger one who we thought had many years left in him.
- Turns out he had a weak heart.
- Mine is now broken.
- Existing subscribers, please log in with your email address to link your account access.
Show HN: Version Control for Databases
- It supports connecting to different database servers (for example a local development server and a staging or production server) and allows you to load a database dump from one environment into another environment.
- Here you first make a snapshot of the database on the staging server, which you then load into your localhost database.
- This would have added a new server with the alias production, which you can then use to save and load snapshots.
- Displays the contents of the given database dump, and pipes it through less so you can inspect it.
- You don't need to provide the server alias here, since snapshots have unique names.
- Displays the table definitions in the provided snapshot, and pipes it through less for inspection.
Intro to web scraping (w/ Node.js example)
- Frameworks like scrapy and beautiful soup make parsing through raw HTML (relatively) simple and can be used to build a basic scraping tool in minutes.
- We will also build our very own web scraper to extract image urls from the website of our choice!
- Before we get into actually building a web scraper, it is important to note that some websites are not ok with you scraping them.
- So it is always a good idea to check out the robots.txt file for a website before you try and scrape them.
- For the example below, we will be making requests to http://books.toscrape.com/ which is a site set up specifically to practice web scraping.
Google employees protest the company’s “attempt to silence workers”
- A group of roughly 200 Google employees and other protesters rallied outside of the search giant’s offices in San Francisco on Friday, demanding the company reinstate two colleagues who they say were unjustly punished for workplace organizing at the company — calling it an attack on accountability and transparency in tech.
- Google has said the employees were placed on administrative leave for violating company policies about accessing sensitive internal documents and monitoring employees’ calendar events.
- The company has placed new rules on acceptable speech on internal forums, eliminated opportunities to question management on ethical concerns in weekly all-hands, and instituted a “need-to-know” policy for viewing many company documents that were previously more widely accessible to employees.
- Several employees at the protest said that checking employees’ calendars is not unusual at a company like Google and not something they would view as making people feel unsafe.
Tabs in React: Bringing the Past to the Future
- I solved these requirements somewhere around 2013, and later in a response to Chris Coyier's post on functional tabs revisited I posted the code to CodePen. This structure was very hard to make work with CSS: it was much easier to just have tab labels inside their own container and the related contents in their own.
The Safari Browser Settings You Should Tweak Right now
- From the Safari menu, choose Preferences then Tabs, and then tick the checkbox labeled Show website icons in tabs to apply the change to the browser.
- To see the full URL instead, you need to open up the Safari menu, then the Preferences dialog, then switch to the Advanced tab—make sure the Show full website address box is ticked.
- To enable the feature, open the Apple menu then choose System Preferences, Accessibility, Voice Control, and Enable Voice Control.
- To show it, open the Safari menu then choose Preferences, then Advanced, then tick the box marked Show Develop menu in menu bar.
- To do this in Safari, you first need to enable the Develop menu (see the step above), then you can open it and choose Empty Caches.
HackerOne breach lets outside hacker read customers’ private bug reports
- As a leading vulnerability reporting platform, HackerOne has paid hackers more than $23 million on behalf of more than 100 customers, including Twitter, Slack, and the US Pentagon.
- In one message, the HackerOne analyst sent the community member parts of a cURL command that mistakenly included a valid session cookie that gave anyone with possession of it the ability to read and partially modify data the analyst had access to.
- The transcript and report also suggest that the breach gave the outsider other potentially more serious abilities, including paying bounties, modifying program details, adding users, and suspending customer submissions.
- The hacker could access for a short time a limited subset of vulnerability reports for customer programs permitted by the session cookie.
- Other preventative measures HackerOne plans to put into place include adding new logging of information around data access, binding sessions to specific devices, improving employee education, and overhauling the security analyst permission model.