A few weeks ago we started building a Section 16 Data Scraper with the intention of a user being able to enter a CIK and Legato downloading all of the CIK’s Section 16 filings, putting the data together into a spreadsheet, and then being able to start a Section 16 filing by using that data as an entry point. At the end of the last post we had a script that would go out and download all of a singular CIK’s filings. It would also cache any filings it saw so that we were only downloading each individual filing once. This week we are going to continue onward and code a system to scrape useful data out of the filings and put it together into a CSV file.Continue reading "LDC #122: Building a Section 16 Data Scraper,..." »
Friday, February 08. 2019
Friday, January 04. 2019
If you are not familiar with the term Section 16, Section 16 is a section of the Securities Exchange Act of 1934. In fact, it is section 16 of the act. Section 16 is a way to attempt to mitigate insider trading at companies. It states that any person who is a director of the company, an officer of the company, or a 10% or more beneficial owner, directly or indirectly, they must file Forms 3, 4, and 5. These forms report the level of equity interests whenever a significant change occurs. The terms that you will see referenced here are reporting owner, who is the person of interest here, and issuer, who is the company that in which the reporting owner has equity.
Continue reading "LDC #117: Building a Section 16 Data Scraper,..." »
Friday, November 16. 2018
About a year ago I wrote a blog with the basics of how logs work with GoFiler and Legato. At the end I mentioned that in a future blog post we would talk more about what you can do with log objects. Today we are going to do just that. This blog assumes that you have read the previous blog and understand the basics of the log object.
Continue reading "LDC #111: Back To The Log" »
Friday, October 19. 2018
If you are anything like me, you may like looking in the past to see where you have been, which will hopefully allow you to figure out where you are going in the future. The more that I immerse myself in programming, the more documentation that I end up creating, just in order to know where I have been and what I have done before. As I program, I like to create documentation as I go along. It makes the process easier in the long run. Sometimes, however, I find myself having to pick up a project and having to create documentation from the start. It would be easier if someone had been keeping records all along, but if I have to know where I’ve been, I need to go through the whole process from the beginning.
Continue reading "LDC #107: All Our Filings In a Row" »
Friday, September 28. 2018
This week I want to go over a short script that I’ve written recently in order to help automate some of the tasks I have picked up around the office. Some of these tasks involve moving around files and folders on the network. I got tired of manually copying and pasting folders, so I wrote a script to help make moving large amounts of files and folders easier. There’s plenty of ways that this script could be made more in-depth, but this is a practical example of a way to make your life a little bit easier.Continue reading "LDC #104: Copy All the Things - An Example of..." »
Friday, August 17. 2018
Language directives allow you to change the code the programming language sees when it runs. We’ve talked a little bit about directives before, but today I will take a look at a subset of directives: conditionals. Conditionals allow a programmer to add or remove sections of code based on the existence of other directives. This means that it’s easy to build larger suites of code while allowing sections of code to be taken out without causing errors during runtime.
Continue reading "LDC #98: Conditionals, If You Want Me To" »
Friday, July 20. 2018
Legato is an extremely powerful tool that allows you take control of GoFiler by helping you to automate tasks and giving you new features. In addition to Legato, GoFiler also includes a command line API, allowing you to perform some tasks without fully opening GoFiler. You can combine these features together to have GoFiler run Legato scripts from the command line interface. This means that your possibilities are actually endless for what you can accomplish. Today we are going to discuss extending your control over GoFiler by using the Windows command line to communicate directly with Legato, allowing you to write scripts that can span multiple computers.
Continue reading "LDC #94: Taking Command Of GoFiler" »
Friday, June 22. 2018
If you’re a long time reader of the developers corner, you may remember that last April I talked about using collaboration tasks in GoFiler through Legato. I shared a short script that read any tasks attached to a project upon opening a project and had Legato post the tasks in the Information View. Today I would like to present a modification to the script while introducing the email function. This script will also require a basic understanding of how HTML is formed and how CSS style data is stored in HTML.
Continue reading "LDC #90: Emailing Collaboration Tasks" »
Friday, May 25. 2018
Computers are amazing at creating things like photos, videos, papers, books, Powerpoint presentations, and the ultimate combination of all of the above: Grumpy Cat memes. An essential but often invisible part of computers is the storage space where all of this stuff goes: hard drives, network drives, and other physical storage space. These things are required to make your computer work the way it should, but they do a very good job at not calling attention to themselves. However, knowing that storage spaces exist and how you can interact with them can help you later on when you want to create programs and scripts that require certain types of storage to be available.
Continue reading "LDC #86: Uncovering the Storage Vault" »
Friday, April 27. 2018
A few weeks ago we talked about what the clipboard object is and how you can get information off of the clipboard using Legato. This week we’re going to talk about putting information onto the clipboard using Legato by modifying one of our previous scripts.Continue reading "LDC #82: A Second Snap of the Clipboard" »
Friday, March 30. 2018
Today we’re going to talk about one of the most commonly used but least commonly understood features of your computer: the clipboard. Everyone who regularly uses a computer regularly knows how much of a time-saver using copy and paste can be, and the value only goes up the more you use it. As a programmer, the amount of time that I save by moving code around can’t even be measured, and I’m sure I’m not alone when I say that. However, the inner workings of the clipboard are often times misunderstood. Today I will explain what the clipboard is and how to interact with it using Legato.Continue reading "LDC #78: A Snapshot of the Clipboard" »
Friday, March 02. 2018
This week we’re going to talk about another client requested feature. Many EDGAR HTML documents end up referencing previously filed documents on the SEC’s EDGAR system. These documents are located at “https://www.sec.gov/Archives/edgar/data/[document reference]”. Recently the SEC has migrated to only HTTPS, the secure hypertext protocol, and will redirect any requests for HTTP to HTTPS. However, the EDGAR system will still only accept links that reference “http://www.sec.gov/[etc]”. This causes some extra work if you are merely copying the link from a browser that is accessing the document on the EDGAR system, as the link will be copied as HTTPS. Today, we’re going to write a simple script that hooks into the validate function and lets you know if you have any HTTPS references as well as offer to fix them.Continue reading "LDC #74: Removing That Pesky S From HTTPS" »
Friday, February 02. 2018
This week we are going to take a look at another client request to be able to remove multiple hyperlinks at the same time. In GoFiler there is a Remove Hyperlink function that will find where the caret currently is and if it is within a hyperlink it will remove the link. If the caret is located before or within an anchor/bookmark tag, the function will remove the anchor instead. However, if you have any text selected the tool gives the user a popup box and does not remove anything. So today we’re going to look at a simple script to hook into the Remove Hyperlink function, check if the user has text highlighted, and if so, remove all hyperlinks and bookmarks that we find in the highlighted section.Continue reading "LDC #70: Removing All Selected Hyperlinks" »
Friday, December 29. 2017
It’s nearly the day where we all stare at the clocks waiting for the time to strike midnight. I’m talking, of course, about New Year’s Eve. A new year means new beginnings and new adventures. So to count us down to midnight I created a Legato script to inform you how long it is until the new year.Continue reading "LDC #65: It's Almost The New Year" »
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" »