If you have ever wanted to download a bunch of HTML files from a website, you either need to do it manually (yuck!) or find some browser extension to help you along. Today we can offer a third option: using Legato. Since Legato can parse HTML files, you can quickly make a script that reads a website and decides what links to follow and which ones to ignore. Many browser extensions only let you filter by type of file, but with Legato the sky is the limit.Continue reading "LDC #62: Too Many Links and Not Enough Time" »
Friday, December 08. 2017
Monday, December 04. 2017
The CFA’s Investor Forum 2017, developed by XBRL US and held in sponsorship with CFA Institute and CFA Society New York, recently explored numerous issues applicable to the use of XBRL in the financial data analysis and reporting industries. During the conference, Michelle Savage, Vice President of Communication for XBRL US, and Scott Theis, CEO of Novaworks, LLC and Chairman of XBRL US’s Domain Steering Committee, discussed an earnings release case study that discussed how building an XBRL taxonomy to represent the data held within the release could be beneficial to the financial and investment communities.Continue reading "CFA Investor Forum Explores an Earnings Release..." »
Friday, December 01. 2017
Today we’re going to talk about logs. Legato provides a number of input and output (I/O) methods. The choice and style of I/O can vary as much as programmers and users. Logs are a convenient method of keeping and relaying data without establishing a complex data formatting regiment. They are useful for reporting information to a user (such as the number of instances a search and replace operation changed the text, for example, or whether or not there were errors in an procedure). They are also employed by many high-level application functions, such as a validation function indicating a list of possible notices, warnings, and errors.Continue reading "LDC #61: Logging: Leaving Your Mark" »
Friday, November 24. 2017
Sometimes HTML code can be hard to read. While this isn’t an issue for editors and viewers that work with the rendered results, it can be a problem when advanced editing needs to happen. For example, a client sent over an HTML file that looks nice in the browser but it contains coding errors. When you go into the code to fix the errors, it’s hard to make the necessary changes because of problems like poor spacing.
Continue reading "LDC #60: Messy Code? No problem!" »
Friday, November 17. 2017
Programming can contain many layers of abstraction. A useful layer is to change manner in which the computer actually sees your program. Language ‘directives’ do just that. In this article we will explore three of the commonly used program directives and discuss how they can be used with Legato.Continue reading "LDC #59: The Program Before the Program" »
Wednesday, November 15. 2017
At CFA’s Investor Forum 2017, a panel of industry experts discussed case studies that illustrate XBRL’s use in accounting and financial reporting and the rationale behind its adoption. This panel discussed different ways in which XBRL is employed in the financial sector.Continue reading "CFA Investor Forum Discusses Who's Using XBRL..." »
Friday, November 03. 2017
When using GoFiler to do filings that have series and classes in them, using the library function is a lot faster than manually adding each series and each class one at a time. The GoFiler series/class library also has the ability to look up a single CIK at a time and download the series and class information associated with it from the SEC. But what if you have a large list of CIKs, and want to add all of them to the series and classes library at once? Well, using Legato, we can run a lookup on each CIK in the input list and, with the response, build a library file which we can then import into GoFiler.
Continue reading "LDC #58: Bulk Importing CIKs into a Series and..." »
Friday, October 27. 2017
Last week, we explored editing SGML properties with Legato. By using some of the Legato SDK functions, we can read the properties of an SGML tag and change those properties to new values. This is pretty simple and straightforward. However, what if we want to do something based on a particular setting? For example, what if we want to employ an “Indent Body of Paragraph” function, where the first line of the paragraph doesn’t move but the subsequent lines are indented? We can’t simply read the indent value and add to it because we cannot guarantee that the same unit of measurement is being used. We need to read the unit, normalize it into a standard unit, add to it, convert it back to the original measurement style, and write it back out. It’s a bit more involved than simply setting properties, but it lets us perform some pretty interesting operations.
Continue reading "LDC #57: More CSS Property Editing With Legato" »
Friday, October 20. 2017
In past blog posts, we’ve used Legato to remove HTML tags or to add new ones. One function we haven’t really explored is looking at a tag and changing its properties. Editing CSS properties with Legato is extremely powerful because it lets us change the document’s appearance in clean, interesting, and intelligent ways. This week’s script is a very basic but very powerful example of this concept.
Continue reading "LDC #56: Editing CSS Properties With Legato" »
Wednesday, October 18. 2017
The SEC is proposing amendments to modernize and simplify certain disclosures requirements in Regulation S-K. These changes are based on the recommendations made in the staff’s Report on Modernization and Simplification of Regulation S-K, as required by Section 72003 of the Fixing America’s Surface Transportation Act (FAST Act). While modernizing Regulation S-K requirements and improving readability and navigability of related forms, these rules are also intended to reduce costs and burdens on registrants and discourage repetition and disclosure of immaterial information.Continue reading "SEC Proposes FAST Act Modernization and..." »
Friday, October 06. 2017
Last week, we covered a script that could take a single folder, search it, and encrypt (or redact) CCCs in project files and XML files. After thinking more about the problem, we realized that the script (while a good start) didn’t go far enough to solve the situation. First, the script only worked with EDGARLink Online XML and GFP files. Any file where the CCC appeared on a different line of the code than the tag declaring it a CCC would not have been obscured. Also, backup files created by GoFiler would not have been obscured. There are several ease of use items that should be addressed as well. The changes made to this newer version are enumerated below:
Continue reading "LDC #55: Protecting Your CCCs With Encryption..." »
Friday, September 29. 2017
With the recent news about the SEC data breach, people are looking towards their own internal security practices to ensure they are handling their data responsibly and doing everything possible to prevent their own data breaches. In the financial document preparation and submission industry, one of the most common pieces of private data that is passed back and forth through email is a filer’s CCC. To file a document on behalf of a company, you only need their CIK (which is publicly available) and the CCC (which is not supposed to be publicly available). It follows then that if an unauthorized entity obtains a CCC, they could fraudulently file on a company’s behalf to the SEC. So it’s in your best interest to keep your CCC secret!
Continue reading "LDC #54: Protecting Your CCCs With Encryption" »
Thursday, September 28. 2017
The recent breach at the SEC illustrates how prevalent internet cyberattacks have become. They are a ubiquitous threat, inherent to the information exchange the internet provides. Often times with little warning or even indication that the event is occurring, hackers can infiltrate secure systems and access nonpublic information that could be exploited or damaging to multiple parties. Particularly when it comes to EDGAR, a great deal of sensitive, private information is regularly exchanged between companies and the SEC. Should this information be accessed before it’s appropriate, it could lead to all sorts of undesirable consequences. Even something as simple as prior knowledge of the type of form a company is in the process of filing can result in unwanted outcomes. Therefore, it’s essential that we as filers, filing agents, and other involved parties protect ourselves from unwanted intrusions.Continue reading "Good Security Practices: Simple Steps in..." »
Wednesday, September 27. 2017
On September 21st, the SEC approved sets of interpretive guidelines to assist companies in their efforts to comply with the pay ratio disclosure mandate. This mandate comes from Section 953(b) of the Dodd-Frank Wall Street Reform and Consumer Protection Act, and companies are required to begin making pay ratio disclosures in early 2018.Continue reading "SEC Releases Interpretive Guidance on Pay Ratio..." »
Monday, September 25. 2017
The Securities and Exchange Commission (SEC), the Municipal Securities Rulemaking Board (MSRB), and the Financial Industry Regulatory Authority (FINRA) opened registration for the Compliance Outreach Program for Municipal Advisors earlier this month.Continue reading "SEC To Host Compliance Outreach Program for..." »