At the time of this writing, Ortingo does not have an official API. Fortunately, Simple Data Toolkit provides an unofficial API for reading posts (at the time of this writing, the release of this is pending for complete support, but it is coming soon)
To retrieve all posts for a given user in Python, using Simple Data Toolkit, we can do the following:
from sdtk import com_sdtk_api_OrtingoAPI
def printer(data, reader):
print(reader.toArrayOfNativeMaps(None))
com_sdtk_api_OrtingoAPI.postsAPI().retrieveData({"owner": "60CQ59FN46SVQFXJ"}, printer)
from sdtk import com_sdtk_api_OrtingoAPI
def printer(data, reader):
print(reader.filterColumnsOnly(["title"]).toArrayOfNativeMaps(None))
com_sdtk_api_OrtingoAPI.postsAPI().retrieveData({"owner": "60CQ59FN46SVQFXJ"}, printer)
from sdtk import com_sdtk_api_OrtingoAPI
def printerUrls(data, reader):
print(reader.filterColumnsOnly(["url"]).toArrayOfNativeMaps(None))
com_sdtk_api_OrtingoAPI.suggestionsAPI().retrieveData({"query": "data"}, printerUrls)
from sdtk import com_sdtk_api_OrtingoAPI
def printerComments(data, reader):
print(reader.filterColumnsOnly(["commentDate", "post"]).toArrayOfNativeMaps(None))
com_sdtk_api_OrtingoAPI.commentsAPI().retrieveData({"owner": "60CQ59FN46SVQFXJ", "id": "test"}, printerComments)
from sdtk import com_sdtk_api_GitAPI def printer(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_GitAPI.reposAPI().retrieveData({"owner": "Vis-LLC"}, printer)To retrieve all branches a repo has using Simple Data Toolkit, we can do the following:
from sdtk import com_sdtk_api_GitAPI def printer(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_GitAPI.branchesAPI().retrieveData({"owner": "Vis-LLC", "repo": "Simple-Data-Toolkit"}, printer)To retrieve all the files in a branch using Simple Data Toolkit, we can do the following:
from sdtk import com_sdtk_api_GitAPI def printer(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_GitAPI.filesAPI().retrieveData({"owner": "Vis-LLC", "repo": "Simple-Data-Toolkit", "branch": "main"}, printer)To retrieve the data in a file using Simple Data Toolkit, we can do the following:
from sdtk import com_sdtk_api_GitAPI def printerData(data, reader): print(data) com_sdtk_api_GitAPI.retrieveAPI().retrieveData({"owner": "Vis-LLC", "repo": "Simple-Data-Toolkit-UI", "branch": "main", "path": "index.html"}, printerData)We can also login using a personal access token (https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)
from sdtk import com_sdtk_api_GitAPI def printerData(data, reader): print(data) com_sdtk_api_GitAPI.instance().setKey("Personal Access Token Here").retrieveAPI().retrieveData({"owner": "Vis-LLC", "repo": "Simple-Data-Toolkit-UI", "branch": "main", "path": "index.html"}, printerData)Simple Data Toolkit - Tutorial - IEEE Events API - PythonSimple Data Toolkit provides an unofficial API for reading events from the IEEE API. (At the time of this writing, the release of this is pending for complete support, but it is coming soon) To retrieve all events in Python, using Simple Data Toolkit, we can do the following:
from sdtk import com_sdtk_api_IEEEAPI,com_sdtk_calendar_IEEEEventFormat def printer(data, reader): ieee = com_sdtk_calendar_IEEEEventFormat.instance for event in reader.toArrayOfNativeMaps(None): ci = ieee.read(event) print(ci.summary) com_sdtk_api_IEEEAPI.eventsAPI().retrieveData({"limit": "2"}, printer)We can search using the following parameters: - limit - The limit to the number of events to return - start - The start datetime to search - end - The end datetime to search The columns supported at the time of this writing are: - created-at mapped to created - start-time mapped to start - end-time mapped to end - title mapped to summary - uid mapped to uidSimple Data Toolkit - Python - Loading Data and Text Through ChatGPTSimple Data Toolkit provides an API for passing data and text to ChatGPT and extracting related data or text. (At the time of this writing, the release of this is pending for complete support, but it is coming soon) Below is an example which uses an embedded data of users and orders, plus text loaded in from a file.
from sdtk import com_sdtk_api_ChatGPTAPI, com_sdtk_table_ArrayOfMapsReader #Set def callbackData(reader): print(reader.toArrayOfNativeMaps(None)) def callbackText(data): print(data) users = [ {"user_id": 1, "first_name": "Sally", "last_name": "Franklin"}, {"user_id": 2, "first_name": "Lucas", "last_name": "Franklin"}, {"user_id": 3, "first_name": "Joe", "last_name": "Romeo"}, {"user_id": 4, "first_name": "Julie", "last_name": "Romeo"}, {"user_id": 5, "first_name": "Lucia", "last_name": "Templeton"}, ] orders = [ {"order_id": 1, "user_id": 3, "item_desc": "Book 1", "item_quantity": 2, "date": "2024-01-01"}, {"order_id": 2, "user_id": 3, "item_desc": "Book 2", "item_quantity": 1, "date": "2024-02-01"}, {"order_id": 3, "user_id": 3, "item_desc": "Book 3", "item_quantity": 3, "date": "2024-03-01"}, {"order_id": 4, "user_id": 3, "item_desc": "Book 4", "item_quantity": 0, "date": "2024-04-01"}, {"order_id": 5, "user_id": 3, "item_desc": "Book 5", "item_quantity": 4, "date": "2024-05-01"} ] com_sdtk_api_ChatGPTAPI.queryAsReaderWithDataAPI().execute("What can we determine about the buying habits of all of our users?", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackData) com_sdtk_api_ChatGPTAPI.queryWithDataAPI().execute("What can we determine about the buying habits of all of our users? As a narrative.", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackText) content = "" with open('sample.html', 'r') as content_file: content = content_file.read() com_sdtk_api_ChatGPTAPI.queryWithDataAPI().execute("We also have this document in HTML format on recent trends.\n" + content + "\n\nWhat can we determine about the buying habits of all of our users? As a narrative.", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackText)Below is an example which queries data from ChatGPT in a table format using a DataTableReader from SDTK.
from sdtk import com_sdtk_api_ChatGPTAPI def callback(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_ChatGPTAPI.queryAsReaderAPI().retrieveData({ "query": "List all cities in the USA with known population." }, callback)Simple Data Toolkit - Python - Loading Data and Text Through ChatGPTSimple Data Toolkit provides an API for passing data and text to ChatGPT and extracting related data or text. (At the time of this writing, the release of this is pending for complete support, but it is coming soon) Below is an example which uses an embedded data of users and orders, plus text loaded in from a file.
from sdtk import com_sdtk_api_ChatGPTAPI, com_sdtk_table_ArrayOfMapsReader #Set def callbackData(reader): print(reader.toArrayOfNativeMaps(None)) def callbackText(data): print(data) users = [ {"user_id": 1, "first_name": "Sally", "last_name": "Franklin"}, {"user_id": 2, "first_name": "Lucas", "last_name": "Franklin"}, {"user_id": 3, "first_name": "Joe", "last_name": "Romeo"}, {"user_id": 4, "first_name": "Julie", "last_name": "Romeo"}, {"user_id": 5, "first_name": "Lucia", "last_name": "Templeton"}, ] orders = [ {"order_id": 1, "user_id": 3, "item_desc": "Book 1", "item_quantity": 2, "date": "2024-01-01"}, {"order_id": 2, "user_id": 3, "item_desc": "Book 2", "item_quantity": 1, "date": "2024-02-01"}, {"order_id": 3, "user_id": 3, "item_desc": "Book 3", "item_quantity": 3, "date": "2024-03-01"}, {"order_id": 4, "user_id": 3, "item_desc": "Book 4", "item_quantity": 0, "date": "2024-04-01"}, {"order_id": 5, "user_id": 3, "item_desc": "Book 5", "item_quantity": 4, "date": "2024-05-01"} ] com_sdtk_api_ChatGPTAPI.queryAsReaderWithDataAPI().execute("What can we determine about the buying habits of all of our users?", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackData) com_sdtk_api_ChatGPTAPI.queryWithDataAPI().execute("What can we determine about the buying habits of all of our users? As a narrative.", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackText) content = "" with open('sample.html', 'r') as content_file: content = content_file.read() com_sdtk_api_ChatGPTAPI.queryWithDataAPI().execute("We also have this document in HTML format on recent trends.\n" + content + "\n\nWhat can we determine about the buying habits of all of our users? As a narrative.", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackText)Below is an example which queries data from ChatGPT in a table format using a DataTableReader from SDTK.
from sdtk import com_sdtk_api_ChatGPTAPI def callback(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_ChatGPTAPI.queryAsReaderAPI().retrieveData({ "query": "List all cities in the USA with known population." }, callback)Simple Data Toolkit - Python - Loading Data and Text Through ChatGPTSimple Data Toolkit provides an API for passing data and text to ChatGPT and extracting related data or text. (At the time of this writing, the release of this is pending for complete support, but it is coming soon) Below is an example which uses an embedded data of users and orders, plus text loaded in from a file.
from sdtk import com_sdtk_api_ChatGPTAPI, com_sdtk_table_ArrayOfMapsReader #Set def callbackData(reader): print(reader.toArrayOfNativeMaps(None)) def callbackText(data): print(data) users = [ {"user_id": 1, "first_name": "Sally", "last_name": "Franklin"}, {"user_id": 2, "first_name": "Lucas", "last_name": "Franklin"}, {"user_id": 3, "first_name": "Joe", "last_name": "Romeo"}, {"user_id": 4, "first_name": "Julie", "last_name": "Romeo"}, {"user_id": 5, "first_name": "Lucia", "last_name": "Templeton"}, ] orders = [ {"order_id": 1, "user_id": 3, "item_desc": "Book 1", "item_quantity": 2, "date": "2024-01-01"}, {"order_id": 2, "user_id": 3, "item_desc": "Book 2", "item_quantity": 1, "date": "2024-02-01"}, {"order_id": 3, "user_id": 3, "item_desc": "Book 3", "item_quantity": 3, "date": "2024-03-01"}, {"order_id": 4, "user_id": 3, "item_desc": "Book 4", "item_quantity": 0, "date": "2024-04-01"}, {"order_id": 5, "user_id": 3, "item_desc": "Book 5", "item_quantity": 4, "date": "2024-05-01"} ] com_sdtk_api_ChatGPTAPI.queryAsReaderWithDataAPI().execute("What can we determine about the buying habits of all of our users?", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackData) com_sdtk_api_ChatGPTAPI.queryWithDataAPI().execute("What can we determine about the buying habits of all of our users? As a narrative.", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackText) content = "" with open('sample.html', 'r') as content_file: content = content_file.read() com_sdtk_api_ChatGPTAPI.queryWithDataAPI().execute("We also have this document in HTML format on recent trends.\n" + content + "\n\nWhat can we determine about the buying habits of all of our users? As a narrative.", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackText)Below is an example which queries data from ChatGPT in a table format using a DataTableReader from SDTK.
from sdtk import com_sdtk_api_ChatGPTAPI def callback(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_ChatGPTAPI.queryAsReaderAPI().retrieveData({ "query": "List all cities in the USA with known population." }, callback)Simple Data Toolkit - Python - Loading Data and Text Through ChatGPTSimple Data Toolkit provides an API for passing data and text to ChatGPT and extracting related data or text. (At the time of this writing, the release of this is pending for complete support, but it is coming soon) Below is an example which uses an embedded data of users and orders, plus text loaded in from a file.
from sdtk import com_sdtk_api_ChatGPTAPI, com_sdtk_table_ArrayOfMapsReader #Set def callbackData(reader): print(reader.toArrayOfNativeMaps(None)) def callbackText(data): print(data) users = [ {"user_id": 1, "first_name": "Sally", "last_name": "Franklin"}, {"user_id": 2, "first_name": "Lucas", "last_name": "Franklin"}, {"user_id": 3, "first_name": "Joe", "last_name": "Romeo"}, {"user_id": 4, "first_name": "Julie", "last_name": "Romeo"}, {"user_id": 5, "first_name": "Lucia", "last_name": "Templeton"}, ] orders = [ {"order_id": 1, "user_id": 3, "item_desc": "Book 1", "item_quantity": 2, "date": "2024-01-01"}, {"order_id": 2, "user_id": 3, "item_desc": "Book 2", "item_quantity": 1, "date": "2024-02-01"}, {"order_id": 3, "user_id": 3, "item_desc": "Book 3", "item_quantity": 3, "date": "2024-03-01"}, {"order_id": 4, "user_id": 3, "item_desc": "Book 4", "item_quantity": 0, "date": "2024-04-01"}, {"order_id": 5, "user_id": 3, "item_desc": "Book 5", "item_quantity": 4, "date": "2024-05-01"} ] com_sdtk_api_ChatGPTAPI.queryAsReaderWithDataAPI().execute("What can we determine about the buying habits of all of our users?", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackData) com_sdtk_api_ChatGPTAPI.queryWithDataAPI().execute("What can we determine about the buying habits of all of our users? As a narrative.", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackText) content = "" with open('sample.html', 'r') as content_file: content = content_file.read() com_sdtk_api_ChatGPTAPI.queryWithDataAPI().execute("We also have this document in HTML format on recent trends.\n" + content + "\n\nWhat can we determine about the buying habits of all of our users? As a narrative.", None, {"Users": com_sdtk_table_ArrayOfMapsReader.readWholeArray(users), "Orders": com_sdtk_table_ArrayOfMapsReader.readWholeArray(orders)}, callbackText)Below is an example which queries data from ChatGPT in a table format using a DataTableReader from SDTK.
from sdtk import com_sdtk_api_ChatGPTAPI def callback(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_ChatGPTAPI.queryAsReaderAPI().retrieveData({ "query": "List all cities in the USA with known population." }, callback)Simple Data Toolkit - Playstation Trophies - PythonSimple Data Toolkit provides an API for retrieving trophies from PlayStation. (Release pending) You will need to get an NPSSO token first: Login via https://store.playstation.com And then access https://ca.account.sony.com/api/v1/ssocookie This will need to be set in an environment variable PSN_NPSSO Or you can set it in Python with com_sdtk_api_PSNAPI.setNpsso To retrieve all trophies for an account id in Python, using Simple Data Toolkit, we can do the following:
from sdtk import com_sdtk_api_PSNAPI def printer(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_PSNAPI.trophyTitlesAPI().retrieveData({"accountId": None}, printer)To retrieve all trophies for a given title, you'll need it's communication id and use the following Python code:
from sdtk import com_sdtk_api_PSNAPI def printer(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_PSNAPI.trophiesForTitleAPI().retrieveData({"communicationId": "NPWR20188_00", "trophyGroupId": None}, printer)To retrieve all trophies earned for a given title, you'll need it's communication id and use the following Python code:
from sdtk import com_sdtk_api_PSNAPI def printer(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_PSNAPI.trophiesEarnedForATitleAPI().retrieveData({"accountId": None, "communicationId": "NPWR20188_00", "trophyGroupId": None}, printer)Atotium News - Business Aggregate - 2024-11-18Title: 401(k) Managed Accounts Are an Underutilized Resource URL: https://www.aaii.com/journal/article/233462-401k-managed-accounts-are-an-underutilized-resource Summary: A study conducted by Cerulli Associates, sponsored by Edelman Financial Engines, reveals the benefits and underutilization of 401(k) managed accounts among retirement plan participants. The study found that participants in managed account programs are nearly three times more confident in their retirement investing strategy. Despite these benefits, only 8% of participants use managed accounts, with a majority unable to correctly define them. The researchers suggest that improved communication and framing these accounts as employee benefits, along with promoting human advisor interactions, could increase adoption rates and enhance the financial well-being of 401(k) participants. Title: Using Bond Ladders and Income Annuities for Retirement Income URL: https://www.aaii.com/journal/article/13928-using-bond-ladders-and-income-annuities-for-retirement-income Summary: The article by Aaron Brask discusses two financial tools—bond ladders and income annuities—that retirees can use to generate stable cash flows and manage risks associated with retirement. It critiques the conventional total-return investing strategy, emphasizing that fixed-income investments like bonds can offer less risky, stable cash flows when held to maturity. Bond ladders are recommended for their simplicity and passive income features, while income annuities are highlighted for their ability to pool longevity risks across individuals, thereby enabling more efficient retirement funding. The article also addresses misconceptions around annuities, detailing their competitiveness and benefits in securing guaranteed lifetime income. Overall, both tools provide retirees with options to structure effective retirement income strategies while minimizing market volatility and actuarial risks. Title: So You Have Decided to Buy Bonds. Here Are Six Charts Showing Your Options. URL: https://www.wsj.com/finance/investing/so-you-have-decided-to-buy-bonds-here-are-six-charts-showing-your-options-d55078fa Summary: The article explores various options for investors considering bonds in the current economic climate. With Treasury bonds becoming more expensive and offering limited potential for capital gains, shifting strategies is advised. Long-term Treasurys have historically delivered better returns during easing cycles, despite risks of price fluctuations. For those looking into corporate debt, although investment-grade bonds offer marginal spreads over Treasurys, opportunities exist, particularly in consumer noncyclical sectors with higher yields. CLOs, mortgage-backed securities, and emerging-market debt present additional options, each with unique risk profiles and benefits. Additionally, dividend-paying equities can serve as a bond proxy, blending income with a level of risk more akin to bonds, a strategy that has delivered competitive returns historically even amid market volatility post-pandemic. Title: IBM Releases AI Models for Businesses URL: https://finance.yahoo.com/news/ibm-releases-ai-models-businesses-040820671.html Summary: IBM unveiled its latest "Granite 3.0" AI models, designed for business use, aiming to tap into the growing market for generative AI technology. By offering these models as open-source, IBM stands apart from competitors like Microsoft which charge for model access. IBM provides a paid service called Watsonx to help businesses run customized models in their data centers. Some Granite models are available for commercial use on Watsonx and Nvidia's software tools. The models were developed using Nvidia's H100 GPUs. Title: Angel Investing Isn't What It Used to Be URL: https://www.wsj.com/articles/angel-investing-isnt-what-it-used-to-be-e643c862 Summary: This article discusses how the landscape of angel investing has changed over the years, primarily due to the increased involvement of venture capital firms at early stages of investments. Angel investing, once a domain for individual investors supporting nascent startups, is now less appealing as venture firms, tech giants, and new entrants like hedge funds compete heavily in this space. This competition has driven up valuations and round sizes, making it tough for angels to secure prime deals. The value of angel deals in the U.S. has sharply decreased over recent years. Many angels are becoming limited partners in venture funds to diversify, while those with strong credentials and network connections still find opportunities. The rise of accelerator programs has also shifted the dynamics, offering startups institutional capital that diminishes their reliance on angel investors. Title: Treasuries Plunge Like It's 1995 as Traders See Soft Landing URL: https://finance.yahoo.com/news/treasuries-plunge-1995-traders-see-154428389.html Summary: The US Treasury market is experiencing its biggest selloff since 1995, as two-year yields have increased by 34 basis points following the Federal Reserve's first rate cut since 2020. This trend reflects a reduced probability of recession and strong economic data, prompting speculation that the Fed might slow its pace of rate cuts. Rising yields are influenced by the resilient US economy and financial markets' impact on the Fed's rate-cutting options. Additionally, market volatility and political concerns about potential Republican control of the government further contribute to rising yields. The market activity mirrors a similar situation in 1995 when then-Fed Chair Alan Greenspan achieved an economic soft landing.Simple Data Toolkit - Tutorial - Ethereum via Etherscan - PythonSimple Data Toolkit provides an unofficial API for reading Ethereum transactions from the Etherscan API. (At the time of this writing, the release of this is pending for complete support, but it is coming soon) To retrieve all Ethereum transactions for a particular address we can do the following:
from sdtk import com_sdtk_api_EtherscanAPI def printer(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_EtherscanAPI.transactionsAPI().retrieveData({"address": "0xAddress"}, printer)Replace 0xAddress with the address you wish to search on. Additionally, we can convert the transactions to our standard internal event interface like so:
from sdtk import com_sdtk_api_EtherscanAPI,com_sdtk_calendar_EtherscanFormat def printerEvents(data, reader): etherScan = com_sdtk_calendar_EtherscanFormat.instance() for event in reader.toArrayOfNativeMaps(None): ci = etherScan.read(event) print(ci.start.toString()) com_sdtk_api_EtherscanAPI.transactionsAPI().retrieveData({"address": "0xAddress"}, printerEvents)Replace 0xAddress with the address you wish to search on.Simple Data Toolkit - Tutorial - ACM Events - PythonSimple Data Toolkit provides an API for retrieving events from ACM (Association of Computing Machinery). (At the time of this writing, the release of this is pending for complete support, but it is coming soon) To retrieve all events in Python, using Simple Data Toolkit, we can do the following:
from sdtk import com_sdtk_api_ACMAPI def printer(data, reader): print(reader.toArrayOfNativeMaps(None)) com_sdtk_api_ACMAPI.eventsAPI().retrieveData({}, printer)We can also convert the transactions, to SDTK's internal event/calendar format with the ACMEventFormat class like so:
from sdtk import com_sdtk_api_ACMAPI,com_sdtk_calendar_ACMEventFormat def printerEvents(data, reader): acm = com_sdtk_calendar_ACMEventFormat.instance() for event in reader.toArrayOfNativeMaps(None): ci = acm.read(event) print(ci) com_sdtk_api_ACMAPI.eventsAPI().retrieveData({}, printerEvents)Atotium News - Business Aggregate - 2024-11-17Title: Bosses Are Calling Workers Back to the Office. That’s Good News for Landlords. URL: https://www.wsj.com/real-estate/commercial/back-to-office-workers-landlords-e5e15663 Summary: Companies are increasingly requiring employees to return to the office, reversing the trend of remote work during the pandemic. As a result, the office market is showing signs of stabilization, with investor interest growing in office properties, especially those with amenities. Despite the challenges of high vacancy rates and obsolete spaces, the amount of occupied office space remains steady. Some companies, like Amazon and Dell, are mandating five-day office attendance, shifting power back to managers as the white-collar workforce growth slows. The stabilization, however, doesn't equate to a full recovery due to ongoing defaults and expected space reductions when leases mature. Yet, certain markets are thriving with expansion from financial and AI firms. Enhanced office amenities are drawing employees back, boosting investor confidence and leading to significant financing deals, notably the refinancing of Rockefeller Center by Tishman Speyer. Title: Deficit Threat Drives Bond Yields Higher URL: https://www.wsj.com/finance/investing/deficit-threat-drives-bond-yields-higher-6a043d44 Summary: The article discusses how concerns over a rising federal budget deficit are causing a significant increase in bond yields, especially following a recent lackluster auction of government bonds. Investors anticipate sustained high deficits regardless of the upcoming election outcome, though they expect the deficit to expand most under a Republican victory due to potential tax cuts. The Treasury Department is likely to maintain its high level of debt sales, with potential for further increases. As longer-term Treasury yields rise in reaction to increased bond supply fears, analysts are watching upcoming Treasury borrowing announcements for signals on future auction plans. The fiscal year 2025 deficit projection stands near $2 trillion, with election results potentially affecting future fiscal conditions. Title: Your Billy Bookcase Should Have Multiple Lives, Says IKEA Sustainability Chief URL: https://www.wsj.com/articles/your-billy-bookcase-should-have-multiple-lives-says-ikea-sustainability-chief-f30b24e8 Summary: IKEA's sustainability efforts, led by Ingka Group's Chief Sustainability Officer Karen Pflug, focus on achieving net-zero emissions by 2050 without carbon offsets. A key initiative is the testing of Ikea Preowned, a platform in Madrid and Oslo for buying and selling secondhand IKEA furniture, which they hope to expand globally. The company aims to use renewable or recycled materials across its products while promoting circularity, encouraging customers to extend product lifecycles. Efforts include the provision of spare parts and a peer-to-peer marketplace, reflecting IKEA's commitment to sustainability without compromising product quality. Title: Used EVs Sell for Bargain Prices Now, Putting Owners and Dealers in a Bind URL: https://www.wsj.com/business/autos/used-evs-sell-for-bargain-prices-now-putting-owners-and-dealers-in-a-bind-a44e1718 Summary: The value of used electric vehicles (EVs) has dropped significantly, contrasting with the stable broader used-car market. This decline follows price cuts on new EVs, particularly led by Tesla, aimed at boosting sales but negatively impacting used EV values. Previously, in-demand models like the Tesla Model 3 and Model Y have seen a 25% price drop. Factors contributing to this dip include the influx of off-loaded Teslas from rental company Hertz and competitive lease deals on new models. The plummeting prices present challenges for current owners who find themselves owing more than their cars are worth and potential long-term concerns for the industry as leasing rises sharply. Title: Retail giant buys properties near DIA for $91M URL: https://www.bizjournals.com/denver/news/2024/09/30/amazon-aurora-porteos-dia-ambrose-property-group.html Summary: Amazon has acquired a warehouse and additional land in Aurora, Colorado, near Denver International Airport, for over $91 million. The purchases include a 625,000-square-foot building within a larger industrial development known as DIA Logistics Park, and a separate parcel of vacant land. These acquisitions expand Amazon's footprint in the region, benefitting from a location that already hosts several of the company's facilities. Title: The US retirement system gets a C+ in global study URL: https://finance.yahoo.com/news/the-us-retirement-system-gets-a-c-in-global-study-230119976.html Summary: The US retirement system received a C+ in the 16th annual Mercer CFA Institute Global Pension Index, placing 29th out of 48 countries. The evaluation highlighted concerns regarding pension funding and insufficient private retirement savings, exacerbated by declining birth rates and increasing life expectancy. The US scored a C+ for adequacy and Cs for sustainability and integrity. The report suggests incorporating automatic enrollment and contribution escalation to improve the system, taking cues from countries like the Netherlands, which have successful retirement systems. The Secure 2.0 Act, which mandates automatic enrollment and escalation for new retirement plans starting in 2025, could help address some of these issues.Simple Data Toolkit - Python - Loading Images Through ChatGPTSimple Data Toolkit provides an API for passing images to ChatGPT and extracting related text. (At the time of this writing, the release of this is pending for complete support, but it is coming soon) To generate a LaTeX document based on a series of images (effectively doing OCR) we can do the following:
from sdtk import com_sdtk_api_ChatGPTAPI import os import fnmatch import re texData = "" texBegin = "\n\\begin{document}\n" texEnd = "\n\\end{document}" header = "" footer = "" foundBody = False # Get a list of all .png files in the current directory png_files = [file for file in os.listdir('.') if fnmatch.fnmatch(file, '*.png')] def result(text): global texData global header global footer global foundBody text = text.replace("```latex", "").replace("```", "") body_match = re.search(r'\\begin{document}(.*?)\\end{document}', text, re.DOTALL) if body_match: body_content = body_match.group(1).strip() if len(texData) > 0: texData = texData + "\n" + "\\newpage" + "\n" else: header_match = re.search(r'^(.*?)\\begin{document}', text, re.DOTALL) header = header_match.group(1).strip() footer_match = re.search(r'\\end{document}(.*)$', text, re.DOTALL) footer = footer_match.group(1).strip() texData = texData + body_content foundBody = True else: foundBody = False print(text) # Loop over each .png file for file_name in png_files: foundBody = False while foundBody == False: com_sdtk_api_ChatGPTAPI.instance().query(result, "Can you generate a LaTeX document to represent the text in this image and format it correctly and return only the LaTeX code?", file_name) with open("output.tex", "w+") as file: # Write the string to the file file.write(header + texBegin + texData + texEnd + footer)
Connect differently.
Ortingo is a platform that makes journalism easier and information more accessible. Publish from a wide spectrum of various topics and connect with your audience with new ways of writing articles. Be part of a wealth of new information, through Ortingo.
Ready to connect differently?
Learn more about Ortingo
Any thoughts on Franklin's post?
To comment or reply, you need an Ortingo account.
Sign in or sign upHere's what Ortingoers think of Franklin's post.
There are no comments on this post.