There is clearly a gap in tooling. We have had a cambrian explosion of tools and we have tried many options. Now it is time for core Python folks to step in and consolidate the ecosystem.
174 karma · joined October 23, 2015
There is clearly a gap in tooling. We have had a cambrian explosion of tools and we have tried many options. Now it is time for core Python folks to step in and consolidate the ecosystem.
Otherwise it feels like lots of machinery created out of nowhere. Lots of calculations and very little intuition.
Jeremy Howard made a comment on Twitter that he had seen various versions of this idea come up again and again - implying that this was a natural idea. I would love to see examples of where else this has come up so I can build an intuitive understanding.
I know there are other methods related to matrix factorization, but I’m asking specifically about quantization.
Does quantization literally mean the weight matrix floats are being represented using fewer bits than the 64 bit standard?
Second, if fewer bits are being used, are CPUs able to do math directly on fewer bits? Aren’t CPU registers still 64 bit? Are these floats converted back to 64 bit for math, or is there some clever packing technique where a 64 bit float actually represents many numbers (sort of a hackey simd instruction)? Or do modern CPUs have the hardware to do math on fewer bits?
Say I have a simple table of outdoor temperatures and ice cream sales.
What can the machinery of causal inference do for me in this situation?
If it doesn’t apply here, what do I need to add to my dataset to make it appropriate for causal inference? More columns of data? Explicit assumptions?
If I can use causal inference, what can it tell me? If I think of it as a function CA(data), can it tell me if the relationship is actually causal? Can it tell me the direction of the relationship? If there were more columns, could it return a graph of causal relationships and their strength? Or do I need to provide that graph to this function?
I know a wet pavement can be caused by rain or spilled water or that an alarm can go off due to an earthquake or a burglary. I have common sense. I also understand the basics of graph traversal from comp sci classes.
How do I practically use causal inference?
To the authors of future articles on this (or any technical tutorial), please explain the essence, the easy path, then the caveats and corner cases. Only then will abstract philosophizing make sense.
Are they Tableau dashboard replacements?
Are the better than a standard bootstrap admin theme?
I’m eventually planning on o do more with it, but need some free time in my life.
A website which allows people in financial trading companies to more easily understand the FIX protocol.
Obviously this is a very niche app, but very useful! It is somewhat well known in the industry (among the type of people who use FIX).
Amusingly, recently a friend forwarded me a website, run by a prestigious financial software company, which is CLEARLY a copy of my website! They are marketing their site on LinkedIn and, I’m sure, other places.
I keep thinking of developing this firther. I have several ideas, just lack the time.
This used to be an absolutely fantastic forum. I was a young comp sci graduate who somehow finished school without taking any programming language theory courses. I used to read this every single day. At one point I had every book ever written on ML (ocaml, sml, etc) and most written about various lisps. To this day I love how TAPL was written (Types and Programming Languages by Pierce). I loved the expansive nature of Concepts, Techniques, and Models of Computer Programming by Van Roy. Some books were discussed so often that they were simply referred to by their abbreviations.
There were serious academics, PHD students, industry folks and newbies like myself who could not even understand most abstracts, much less the full papers.
I once asked if a new forum could be created for novices like myself so I could ask my dumb little questions. I was instead encouraged to ask my questions in the main forum :)
For a short while there was a related user group in NYC where people would discuss type theory at random diners.
I've had to explain the concept of downloading files, file system directory structure and other basics. These are students are at a pretty good school, studying to become data scientists!
The reason is exactly what the author in the link says. They grew up with smart devices, but apparently not desktop/laptop computers.
For a slightly different use case, I wrote https://postcell.io/ for my classes. We use mostly Jupyter notebooks in my class and I mark certain cells with a special magic command. When students execute code in that cell, it is sent up to my server and I can see every student’s submission. I turn off student names and share the screen with the class. We then go through all the variations of answers and talk about the differences.
Although anyone can use it, the interface is probably a bit rough right now.
I created http://sqlforever.com so students can start writing queries against a pre-loaded database. No downloads, no signups, no picking this option or that option. Just sql.
The backing database is SQLite. The datasets are open source relational datasets available on the internet.
Students can click a button to share their queries with a teacher or classmates.
For example, I always wanted to implement a few financial trading software ideas using programming languages I don't use at work, such as scala and javascript. By writing a blog post, I force myself to make the project at least somewhat complete and understand it enough to explain it to others. It is a good way to commit to something, at least for a few weeks.
I wanted to buy a laptop with a GPU for CUDA experiments.
I was looking at Lenovo Yoga 710 (14 inch with nvidia gpu). Am I going to have a bad time dual booting a linux distribution?
The disruptor is an actual library based on ring buffers (other have already pointed out some other features).
In practical terms, this library has been immensely popular. Within a couple years of disruptor's release, practically every (java based) trading firm was using them. I've even seen c++ implementations, only vaguely resembling this library, being referred to as 'disruptors.'
Beyond the library, the original (and subsequent) presentations by the authors popularized the concepts of "mechanical sympathy" (understand the abstraction layer beneath what you are currently working in) and introduced a whole new set of developers to modern CPUs, thinking about cache lines, etc.
With a bit of a background in the theory, the tools mentioned above and their alternative add up to a bewildering number of projects, all seemingly doing very similar things.
Just a couple of hours ago I asked a relevant question on SO (unfortunately, it looks like it will be closed soon): http://stackoverflow.com/questions/37843295/book-recommendat...
I'm intensely curious about paid memberships for web apps such as these. On one hand, they are absolutely awesome. On the other hand, I'm too much of a programmer to see how this generates revenue.
I have an app which also serves as a tool for a small niche (much smaller than debuggex). A bunch of people use my tool daily but I've always assumed that if I created a 'premium' version, I won't make more than $5-$10 :)
This is a side project of mine and has been for a few years. It is very gratifying to get emails from random users telling me how much they love the app (and asking for additional features). Just a couple of weeks ago I added an important feature: the ability to securely share FIX logs.
I'm pretty proud of the fact that the interface is pretty simple, yet hides lots of functionality the users probably don't even notice. For example, the logs you paste can be surrounded by other garbage, such as timestamps or log4j noise and the correct message will still be extracted. It will guess delimiters. Users can drag and drop a file on to the text field. Click on a message (very subtly) highlights related messages. I'm sure I'm forgetting many more.
There is plenty (plenty!) more I could add. Just a small matter of having no time :)
We ended up abandoning mesos just to get our prototype going.
FIX is a text based protocol from the early 90s. The other interface is a modern, binary protocol. It sounds to me like NYSE upgraded their technology which resulted in lower latency.
Is NYSE charging more for the binary protocol? Should NYSE just cut off everyone on the old text protocol to in order to advertise one-true-interface for everyone? Is IEX trying to earn cheap publicity points by counting on people's ignorance of financial infrastructure minutia?
I'm an experienced java guy looking to get in person C++ training. Hopefully something which moves quickly through the basics and addresses advanced concepts in memory management, concurrency and other low level topics.
Anyone have recommendations? The web is full of listings for HOTT, Learning Tree, GlobalKnowledge style mega training companies. Are they actually worth the $3k-$5k they charge? I'm afraid it will be a mediocre programmer droning on for 5 days in front of a power point.