I wrote a post earlier about how to analyze data using Pandas. In that post, I just introduced some simple Pandas functions to analyze some random data. In this post, I am using real world traffic data from NYC. NYC has made a lot of data available to public recently on this website. There is …
Author Archives: Himanshu
When it comes to estimating effort, be pessimistic
This is the first post in the WorkTip series that I am starting on Enlist q. I have been working full-time as a developer for about 4 years now and have learnt so much that can only be learnt through experience. I have been lucky enough to be surrounded by some great minds and mentors …
Continue reading “When it comes to estimating effort, be pessimistic”
Manipulating columns in a table
Some time back, when I was still getting familiar with qsql, I went for an interview at an investment bank. I was interviewed by 4 different people for a total of 2 hours. 3 of the interviewers asked theoretical architecture related questions but the last one was all about writing code. The last interviewer gave …
C#3 Let’s capitalize on it
Here is a new challenge for you – capitalize the first letter of each word in a string. For example: q) f “I’m gonna make him an offer he can’t refuse” “I’m Gonna Make Him An Offer He Can’t Refuse” Post your answers in the comment section below and let me know if you have …
Introducing data analysis with Python and Pandas
Recently, I have been playing around with Python and its data analysis library – Pandas, which is built on another library called NumPy. Most of you have probably heard of Python (if not then I don’t know what’s wrong with you. Get out there and make some programmer friends or read some blogs). Python has …
Continue reading “Introducing data analysis with Python and Pandas”
Announcement – changes coming to the blog
Few weeks ago, I quit my first job as a q developer and moved to another company. My first job was where I was introduced to q/kdb+ and time-series data. If it wasn’t for that job, I wouldn’t be writing about q on this blog. However, it was time to move on and so I …
Continue reading “Announcement – changes coming to the blog”
Hidden arguments of functional select
In one of my previous posts, I discussed functional form of select, update, exec and delete. If you remember, the general form of a functional select is ?[t;c;b;a] where t is the table, c is for constraints, b for by clause and a for aggregation. Most of the time, you will see only these 4 …
q chat client
Check out this great chat client written in q/html with less than 50 lines of code. The author, Stephen Peck, describes it as “Persistent group chat in <50 lines using kdb+/k/q web sockets and JS”. You only need a working version of q/kdb and a browser to get it started. You can find the code …
Challenge#2 Reverse words in a phrase
Sorry for the delay in coming up with a new challenge. It’s been a busy few weeks. Last challenge was about partial sort. This week’s challenge will be about reversing words in a phrase. It’s a common challenge and many of you have probably seen it already. Task: Given a string with some words, produce …
Using functional forms of amend
In one of my previous posts, I talked about functional forms of select, exec, update and delete. I also briefly touched on the importance of functional queries and why you should get used to them as much as possible if you are serious about q. In this post, I will talk about functional forms of …