New SQL Docs
We just launched a new sql documentation website: sqldock.com
to allow integration with Pulse / qStudio and docs more easily.
More updates on this integration will be announced shortly. 🙂
We just launched a new sql documentation website: sqldock.com
to allow integration with Pulse / qStudio and docs more easily.
More updates on this integration will be announced shortly. 🙂
We have been working on version 2.0 of Pulse with a select group of advance users for weeks now. To give you a preview of one new feature, check out markers shown on the chart below. We have marker points, lines and areas.For example this will allow adding a news event to a line showing a stock price. This together with many other changes should be released soon as part of 2.0.
Pulse is specialized for real-time interactive data, as such it needs to be fast, very fast. When we first started building Pulse, we benchmarked all the grid components we could find and found that slick grid was just awesome, 60East did a fantastic writeup on how Slick grid compares to others. As we have added more features, e.g. column formatting, row formatting, sparklines…..it’s important to constantly monitor and test performance. We have:
Today I wanted to highlight how our throughput tests work by looking at our grid component.
To test throughput we:
Video Demonstrating 21,781 rows being replayed as 435 snapshots taking 16 seconds = 27 Updates per second. (European TV updates at 25 FPS).
Update: After this video we continued making improvements and with a few days more work got to 40 FPS.
We then examine in detail where time is being spent. For example we:
Then we try to improve it!
Often this is looking at micro optimizations such as reducing the number of objects created. For example the analysis of how to format columns is only performed when columns change not when data is updated with the same schema. The really large wins tend to be optimizing for specific scenarios, e.g. a lot of our data is timestamped and received mostly in order. But those optimization are for a later post.
We just announced a unique event that gathers 4 of the newest, most advanced databases for Finance into 1 hour:
If you work on big data in Finance, this is your chance to get an overview of the rapidly changing database landscape. TimeStored will be organizing a free online presentation, each database company will present 10 minutes on what is unique to their solution. Bringing together the top new technologies together in one place.
We want to be the best finance streaming visualization solution. To achieve that, we can’t just use off the shelf parts, we have built our own market data order book visualization component from scratch, it’s only dependency is webgl. We call it DepthMap. It plots price levels over time, with the shading being the amount of liquidity at that level. It’s experimental right now but we are already receiving a lot of great feedback and ideas.
Faster Streaming Data
A lot of our users were capturing crypto data to a database, then polling that database. We want to remove that step so Pulse is faster and simpler. The first step is releasing our Binance Streaming Connection. In addition to our existing kdb streaming connection, we are trialling Websockets and Kafka. If this is something that interests you , please get in touch.
The below network diagram is intended as an outline of the skill set required for a financial software developer.
Note:
Skill | Topic | Sub-Topic | Links | Requirement |
basics | ||||
linux | surrey | Change Directories, edit config files, kill processes, copy/move files, check disk space. | ||
bash | tldp.org | Write a script to periodically sync a directory between servers and schedule it using cron. | ||
git | git-scm | Checkout, branch, commit, push code. | ||
Common Tools: jira/jenkins | user-stories | Write a good jira, assign owner. Kick off a build on a common CD platform. | ||
Programming Language | Knowledge of 2 different programming paradigms. | |||
kdb | kdb-tree | Write efficient selects for pulling back a subset of data. | ||
python | Download data from a REST api, calculate average/mean/median for certain metrics. | |||
java | book | Write a java program to count the number of words in a file. | ||
Databases | Be aware of the major types of database available and when to use each. | |||
kdb | kdb-tree | |||
mysql/postgresql/oracle/ms | Know standard SQL. | |||
Software Engineeering | peopleware | How to grow good software. | ||
Good Software | Properties of good software with examples. | |||
Architecture | Common Enterprise software patterns. | |||
Distributed Systems | Difficulties with distributed systems and common patterns to solve them. | |||
Data Processing Pipelines | Common processing Pipeline Patterns | |||
Site Reliability Engineering | SRE | How reliable should software be? | ||
Metrics | Ccommon metrics used to measure reliability and when to use each | |||
Monitoring | What monitoring systems/tools are available? What are monitoring best practices? | |||
Releases | Accelerate | |||
Support | Handling outages. Engaging with users. | |||
Software Concepts | Testing | Testing Methods and knowledge of one test framework | ||
User Interfaces | dont-think | What makes a good user interface? | ||
Networking | How computers connect. Expected latency/bandwidth. | |||
TCP/IP | ports, switches, racks, data centres, windows. | |||
Middleware | Messaging midddleware: solace/JMS/kafka/MQ. | |||
Software Development | ||||
agile | ||||
scrum | book | Sprints, iterations, standups, restrospectives, story-time. | ||
Lean Development | lean-startup | When, why and how to develop lean. | ||
Code Reviews | pragma | Code review best practices. |
Skill | Topic | Sub-Topic | Links | Requirement |
IT Skills | ||||
excel | Create a table with conditional formatting, calculate sum/average of column, use vlookup | |||
outlook | Filter emails, create meetings. | |||
Communication | ||||
Emails | How to write an email to users, team mates, managers, senior management. | |||
Meetings | atlassian | What is a meeting meant to accomplish? How to achieve that. | ||
powerpoint | Prepare a presentation for management. | |||
visio | Draw an architectural diagram of your system. | |||
Sales | ||||
Marketing | Traction | How to get your software used and appreciate by more users. | ||
Support | ||||
Networking | Building a network to get things done. | |||
Management | Grove | |||
Building a Team | Dysfunctions | |||
One to Ones | What makes a good one-to-one | |||
Interviews | How to evaluate cnadidates effectively. | |||
Quality | How to ensure quality of product. | |||
Organizational Structures | phoenix | Different structures for management. | ||
Project Management | ||||
Roadmaps | ||||
Decision Making | Which approach to decision making to use when. |
Jq has now added support for:
The added keywords in most cases will only support the most common types and arguments.
Mixed lists in particular are not handled well by most keywords but we will continue to improve.
We often get asked what is in our online training course.
We do describe this on the course page and in a PDF to be be totally thorough here’s a screenshot of our full listing:
The biggest shakeup in the KDB world was Arthur Whitney, the founder of KX and creator of KDB selling his stake in KX and moving on to creating a new version of the K language called Shakti. “Shakti merges database, language, connectivity and stream processing into one powerful platform “. So far it appears to overlap heavily with kdb functionality, adding further cryptographic features, while not yet supporting on-disk storage.
FD/KX Products: