Logo

Who is talking?

Archive

The beloved spinner

almost 3 years ago | Oscar Villirreal: Digital Caveman

So many times we confront this issue. In the world of AJAX where requests take time, we’ve come to develop a handful of incredible solutions such as promises and deferred responses in order to continue to execute JavaScript with out blocking the thread. This is an incredible achievement for true async comes to existence But what about the user? […]

Clojurers to Follow

almost 3 years ago | Daniel Higginbotham: Flying Machine Studios

I follow all these Clojurers (Clojurians? Clojurists? Clojeoisie?) because their tweets are interesting and useful. If you're into Clojure, then I'm sure you'll want to follow them, too: Bridget Hillyer (@BridgetHiller) Bridget is one of the main forces behind ClojureBridge, an organization which teaches free Clojure workshops to women. She's also one of the coolest people I know, and I'm proud to call her a friend! Alan Dipert (@alandipert) Alan is the smartest person I know, and I'm proud to call him a friend, too. He's also super funny and nice, which seems unfair to me. Everything he writes will learn you good. I haven't discussed this with my wife yet, but I plan on naming my firstborn Dipert in his honor. Eric Normand (@ericnormand) Eric runs the Clojure Gazette and LispCast. He's also a friendly guy who's passionate about teaching Clojure. Carin Meier (@gigasquid) Carin has written many excellent articles and given many excellent talks on Clojure, specifically on using it to dominate the world with robots. Bozhidar Batsov (@bbatsov) Bozhidar is my Emacs hero! He maintains CIDER and writes about Emacs. I don't understand how he manages to accomplish so much. My guess, though, is that he's written an AI clone of himself in elisp. Fogus (@fogus) Fogus goes by one name, which is completely badass. I really enjoy his tweets! David Nolen (@swannodette) I have no idea what a swannodette is, but good god David knows all the cool stuff. How does he do it? Alex Miller (@puredanger) Alex is the Clojure Community Czar. Follow him to hear about Clojure events and developments. Tweet him about all your stacktrace woes. Rich Hickey (@richhickey) Rich Hickey created a programming language called Clojure. It's pretty good! That's it for now! If there's anyone you'd like me to add, please let me know! I'm @nonrecursive.

Enabling dynamic compression (gzip) for WebAPI and IIS

almost 3 years ago | Kristof Mattei: Kristof's blog

A lot of code on the internet refers to writing custom ActionFilters, or even HttpHandlers that will compress your return payload for you. For example, see this package (which with its name implies that it is Microsoft, but then says it’s not Microsoft). At the moment of writing the above-linked package even throws an error … Continue reading "Enabling dynamic compression (gzip) for WebAPI and IIS" The post Enabling dynamic compression (gzip) for WebAPI and IIS appeared first on Kristof's blog.

Enabling dynamic compression (gzip) for WebAPI and IIS

almost 3 years ago | Kristof Mattei: Kristof's blog

A lot of code on the internet refers to writing custom ActionFilters, or even HttpHandlers that will compress your return payload for you. For example, see this package (which with its name implies that it is Microsoft, but then says it’s not Microsoft). At the moment of writing the above-linked package even throws an error … Continue reading "Enabling dynamic compression (gzip) for WebAPI and IIS" The post Enabling dynamic compression (gzip) for WebAPI and IIS appeared first on Kristof's blog.

Nirmal Merchant's invitation is awaiting your response

almost 3 years ago | Nirmal Merchant: Urban Gypsy

Nirmal Merchant would like to connect on LinkedIn. How would you like to respond? Accept: http://www.linkedin.com/blink?simpleRedirect=30Qe3kNcjoMc34PcPsQczsOejkZh4BKrSBQonhFtCVF9CJRsz8JgAp3fnBBiShBsC5EsOoVclZMu6lvtCVFfmJB9D9Bp6VFrmlObnhMpmdzoiRybmtSrCBvrmRLoORIrmkZpSVFqSdxsDgCpnhFtCV9pSlipn9Mfm4Ctj8Jqjtzrn9IcmAJqPpMqT8NbjRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I8112622635_1&markAsRead= View Nirmal Merchant&n.com/blink?simpleRedirect=ej5vs7xBnTpKqjRHpipOpmhKqmRBsyRQs6lzoS4JoyRDtCVFnSRJrScJr6RBfmtKqmJzon9Q9DpMrzRQ9DkObmAToSROr35FbmISs6JOciQZpjYOtyZBbSRLoOVKqmhBqSVFr2VTtTsLbPFMt7hE&msgID=I8112622635_1&markAsRead= You are receiving Reminder emails for pending invitations. Unsubscribe here: http://www.linkedin.com/blink?simpleRedirect=1JrSd5cylOr69JtngMd2lWomByoC5Uc3sRfmNFomRB9z0Sc30OfmhF9z0Qe3kNcjoMc34PcPsQczsOejkZp6BD9zANnT1UplZSrCAZqSkCoDlPrDkJpyRzoClJnSRJrScJr6RBfmtKqmJzon9Q9CZLpPRQ9DkObmAToSROr35FbmISs6JOciQZpjYOtyZBbSRLoOVKqmhBqSVFr2VTtTsLbPFMt7hE&msgID=I8112622635_1&markAsRead= You received an invitation to connect. LinkedIn will use your email address to make suggestions to our members in features like People You May Know. Unsubscribe here: http://www.linkedin.com/blink?simpleRedirect=tj8Jqjtzrn9IcmAJqPpMqT8NbjRAqmkCpR1ScP53kRl2sPxGcCVGl4RAnQRAd5p3jkB5bn9BlARqkD1am6R6h3cRjQlJl75OnTlkqj9abmQPu5xkuj0TqRl1gk51pAhki4wUi6Zgd4phgjRAqmZI9zANnT1UplZSrCAZqSkCkjoPp4l7q5p6sCR6kk4ZrClHrRhAqmQCrDlIfngCtj8Jqjtzrn9IcmAJqPpMqT8NbjRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I8112622635_1&markAsRead= Learn why we included this at the following link: http://www.linkedin.com/blink?simpleRedirect=0Ue3sQfmh9pmNzqnhOoioVclZMu6lvtCVFfmJB9CNOlmlzqnpOpldOpmRLt7dRoPRx9DkObmAToSROr35FbmISs6JOciQZpjYOtyZBbSRLoOVKqmhBqSVFr2VTtTsLbPFMt7hE&msgID=I8112622635_1&markAsRead= © 2014, LinkedIn Corporation. 2029 Stierlin Ct. Mountain View, CA 94043, USA

Building a Fanfiction Recommender - I

almost 3 years ago | Sidhant Godiwala: Sidhant Godiwala's Blog

I’m currently working through Python for Data Analysis (you can follow along here) using the useful IPython Notebook and Pandas. While the book has been enlightening, I think its time to dive into a meaty problem to get some experience. Some of the stories on fanfiction.net are brilliant but they’re very difficult to find, there are just too many to look through. So far I’ve relied on r/rational as a filter but I think I can do better. My goal is to create a simple collaborative filtering recommender using the preferences of the authors on fanfiction.net. The Data Authors on fanfiction.net have lists of stories they’ve written, favourite stories and favourite authors. Each story has several attributes like chapters and categories I’ve written a web scraper which collects author records using a breadth first search starting with a seed list of author ids. In case you don’t feel like picking up Clojure or writing your own scraper I’ve uploaded a 100 author records here. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 // an author record {"id":"2269863", "name":"Less Wrong", "author-stories":[{"id":"5782108", "title":"Harry Potter and the Methods of Rationality", "author":"2269863", "date-submitted":"2010-02-28T08:12:39Z", "date-updated":"2014-07-26T02:01:00Z", "categories":["Harry Potter"], "genres":["Drama", "Humor"], "chapters":102, "word-count":565501, "follows":13290, "favourites":14432, "reviews":24766, "language":"English", "complete?":false, "rating":"T"}, ...], "favourite-stories":[{"id":"5193644", "title":"Time Braid", ... }, ...], "favourite-authors":["4976703", ... ]} Wrangling A step by step guide on how to parse these records can be found in wrangling.ipynb I’ve decided on 6 DataFrames authors - author information (only name for now) indexed by author id stories - story information indexed by story id favourite_authors - mapping of author id to favourite author ids favourite_stories - mapping of author id to favourite story ids genres - a relation DataFrame mapping story ids to genres categories - a relation DataFrame mapping story ids to categories For the full schema in nicely formatted markdown check out the metafiction readme My first plot Matplotlib plays well with Pandas and a one liner reveals the most popular genres in the records I’ve got. 1 genres.sum().order().plot(kind="barh") Stories can be in multiple genres and most stories have at least one romantic relationship so this isn’t as damning as you might believe. Although ‘angst’ and ‘hurt’ being quite high up does lead some credence to the image of the Tortured artist Next steps I’ve been pointed to Programming Collective Intelligence to help me build the recommender, any other suggestions welcome. Stay tuned for part II

Building a Fanfiction Recommender - I

almost 3 years ago | Sidhant Godiwala: Sidhant Godiwala's Blog

I’m currently working through Python for Data Analysis (you can follow along here) using the useful IPython Notebook and Pandas. While the book has been enlightening, I think its time to dive into a meaty problem to get some experience. Some of the stories on fanfiction.net are brilliant but they’re very difficult to find, there are just too many to look through. So far I’ve relied on r/rational as a filter but I think I can do better. My goal is to create a simple collaborative filtering recommender using the preferences of the authors on fanfiction.net. The Data Authors on fanfiction.net have lists of stories they’ve written, favourite stories and favourite authors. Each story has several attributes like chapters and categories I’ve written a web scraper which collects author records using a breadth first search starting with a seed list of author ids. In case you don’t feel like picking up Clojure or writing your own scraper I’ve uploaded a 100 author records here. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 // an author record {"id":"2269863", "name":"Less Wrong", "author-stories":[{"id":"5782108", "title":"Harry Potter and the Methods of Rationality", "author":"2269863", "date-submitted":"2010-02-28T08:12:39Z", "date-updated":"2014-07-26T02:01:00Z", "categories":["Harry Potter"], "genres":["Drama", "Humor"], "chapters":102, "word-count":565501, "follows":13290, "favourites":14432, "reviews":24766, "language":"English", "complete?":false, "rating":"T"}, ...], "favourite-stories":[{"id":"5193644", "title":"Time Braid", ... }, ...], "favourite-authors":["4976703", ... ]} Wrangling A step by step guide on how to parse these records can be found in wrangling.ipynb I’ve decided on 6 DataFrames authors - author information (only name for now) indexed by author id stories - story information indexed by story id favourite_authors - mapping of author id to favourite author ids favourite_stories - mapping of author id to favourite story ids genres - a relation DataFrame mapping story ids to genres categories - a relation DataFrame mapping story ids to categories For the full schema in nicely formatted markdown check out the metafiction readme My first plot Matplotlib plays well with Pandas and a one liner reveals the most popular genres in the records I’ve got. 1 genres.sum().order().plot(kind="barh") Stories can be in multiple genres and most stories have at least one romantic relationship so this isn’t as damning as you might believe. Although ‘angst’ and ‘hurt’ being quite high up does lead some credence to the image of the Tortured artist Next steps I’ve been pointed to Programming Collective Intelligence to help me build the recommender, any other suggestions welcome. Stay tuned for part II

Finding Chef nodes bootstrapped in the last X hours

almost 3 years ago | Steve Jansen: /* steve jansen */

I needed to write a script to garbage collect old nodes in Chef related to auto-scaling groups. I decided to search for nodes bootstrapped in the last X hours. I experimented with ways to find nodes that have been up for less than X hours. In this example, I search for nodes that have been up for 8 hours or less. Of course, this assumes you never restart your nodes: 1 knife exec -E 'search(:node, "uptime_seconds:[0 TO #{ 8 * 60 * 60 }]") { |n| puts n.name }' I also tried finding nodes that converged in the last 8 hours (which would have to be combined with some other filter of course): 1 knife exec -E 'b = Time.now.to_i; a = (b - (8*60*60)).to_i; search(:node, "ohai_time:[#{a} TO #{b}]") { |n| puts n.name }' Overall, I think the easiest option is to just set a node attribute like ‘bootstrap_date’ at bootstrap (or set it if it’s nil). This would be a clearcut way to find out how old a node truly is. One of my colleagues pointed out that Chef Metal sets a very handy node['metal']['location']['allocated_at'] attribute that gets the job done if you are spinning up new nodes with metal.

Nirmal Merchant's invitation is awaiting your response

almost 3 years ago | Nirmal Merchant: Urban Gypsy

Nirmal Merchant would like to connect on LinkedIn. How would you like to respond? Accept: http://www.linkedin.com/blink?simpleRedirect=30Qe3kNcjoMc34PcPsQczsOejkZh4BKrSBQonhFtCVF9CJRsz8JgAp3fnBBiShBsC5EsOoVclZMu6lvtCVFfmJB9D9Bp6VFrmlObnhMpmdzoiRybmtSrCBvrmRLoORIrmkZpSVFqSdxsDgCpnhFtCV9pSlipn9Mfm4CtjoJs3sTc3tzcmAJqPpMqT8NbjRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I8112622635_1&markAsRead= View Nirmal Merchant&n.com/blink?simpleRedirect=ej5vs7xBnTpKqjRHpipOpmhKqmRBsyRQs6lzoS4JoyRDtCVFnSRJrScJr6RBfmtKqmJzon9Q9DpMrzRQ9DkSbn0TdP0ToP5FbmISs6JOciQZpjYOtyZBbSRLoOVKqmhBqSVFr2VTtTsLbPFMt7hE&msgID=I8112622635_1&markAsRead= You are receiving Reminder emails for pending invitations. Unsubscribe here: http://www.linkedin.com/blink?simpleRedirect=1JrSd5cylOr69JtngMd2lWomByoC5Uc3sRfmNFomRB9z0Sc30OfmhF9z0Qe3kNcjoMc34PcPsQczsOejkZp6BD9zANnT1UplZSrCAZqSkCoDlPrDkJpyRzoClJnSRJrScJr6RBfmtKqmJzon9Q9CZLpPRQ9DkSbn0TdP0ToP5FbmISs6JOciQZpjYOtyZBbSRLoOVKqmhBqSVFr2VTtTsLbPFMt7hE&msgID=I8112622635_1&markAsRead= You received an invitation to connect. LinkedIn will use your email address to make suggestions to our members in features like People You May Know. Unsubscribe here: http://www.linkedin.com/blink?simpleRedirect=tjoJs3sTc3tzcmAJqPpMqT8NbjRAqmkCgl1TdA8TlRASdl1Ul7llbj1Ignlbp4Zic69PcA53mldOejBfhn1goiR6kkYPbmx3sCF7bmkJdDwUojlVullqqRl1gk5Telh9oTlRsmoQlQxhgjRAqmZI9zANnT1UplZSrCAZqSkCkjoPp4l7q5p6sCR6kk4ZrClHrRhAqmQCrDlIfngCtjoJs3sTc3tzcmAJqPpMqT8NbjRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I8112622635_1&markAsRead= Learn why we included this at the following link: http://www.linkedin.com/blink?simpleRedirect=0Ue3sQfmh9pmNzqnhOoioVclZMu6lvtCVFfmJB9CNOlmlzqnpOpldOpmRLt7dRoPRx9DkSbn0TdP0ToP5FbmISs6JOciQZpjYOtyZBbSRLoOVKqmhBqSVFr2VTtTsLbPFMt7hE&msgID=I8112622635_1&markAsRead= © 2014, LinkedIn Corporation. 2029 Stierlin Ct. Mountain View, CA 94043, USA

Google search appliance (GSA) sorting and filtering

almost 3 years ago | Sumit Bajaj: Sumit Bajaj's Blogs

Working with Google Search Appliance(GSA), sometimes business has requirement of sorting or filtering the results. Browsing the internet did not provide any helpful pointers for the ways to sort or filter the search results therefore I have written these instructions to use sorting & filtering in easy way with examples.Sorting:Google Search Appliance(GSA) has provided the tags to sort the results in ascending or descending order. Pages should have meta tags which provides information to GSA box for crawling. Using those tags, sorting can be achieved.For example: If web pages has a tag<meta name="title" content="Sumit Bajaj::Passionate Technologist" />GSA URL should include parameter to sort the results&sort=meta:title:a  (for arranging all results in ascending order w.r.t title)&sort=meta:title:d  (for arranging all results in descending order w.r.t title)Similarly it can be sorted for another meta tags.Filtering:Similar like sorting meta tags can be used for filtering as well. Google Search Appliance(GSA) has provided the provision to filter the results too. Pages should have meta tags which provides information to GSA box for crawling. These tags can be used for filtering the output.For example: If web pages has a tag<meta name="articledate" content="2014-10-12" />GSA URL should include parameter to filter the results&query=inmeta:articledate:daterange:2014-01-01.. (all article whose articledate is greater than 2014-01-01)&query=inmeta:articledate:daterange:2013-01-01..2014-01-01(all article whose articledate is in between 2013-01-01 & 2014-01-01)&query=inmeta:articledate:daterange:..2014-01-01 (all article whose articledate is lesser than 2014-01-01) Similarly we can modify the tags and syntax to get desired output.Reference:Google Search Appliance documentFor more details, you can contact me on "email.bajaj@gmail.com" or visit my websitehttp://www.bajajsumit.comEnjoy coding and build the best.Sumit Bajaj <!--[if IE]><style type="text/css">body {behavior: url(csshover3.htc);} </style><![endif]--> <!-- Start: Facebook like and share for Sumit Bajaj -->

Following a Select Statement Through Postgres Internals

almost 3 years ago | Pat Shaughnessy: Pat Shaughnessy

Captain Nemo takes Professor Aronnax on a tourof the engine room, a fascinating descriptionof future technology from an 1870 perspective. This is the third of a series of posts based on a presentation I did at the

New Clojure for the Brave and True Chapter: Interacting with Java

almost 3 years ago | Daniel Higginbotham: Flying Machine Studios

After many months of editing existing chapters, I've written a brand-new chapter, "Interacting with Java". Here's a snippet: There comes a day in every Clojurist's life when she must venture forth from the sanctuary of pure functions and immutable data structures into the wild and barbaric Land of Java. This treacherous journey is necessary because Clojure is hosted on the Java Virtual Machine (JVM), granting it three fundamental characteristics. First, you run Clojure applications the same way you run Java applications. Second, you need to use Java objects for core functionality like reading files and working with dates. Third, Java has a vast and wondrous ecosystem of incredible libraries, and Clojure makes it painless for you to use them. In this way, Clojure is a bit like a utopian community plunked down in the middle of a non-utopian country. It's preferable to interact with other utopians, but every once in a while you need to talk to the locals in order to get things done. I appreciate all the tweets and emails I've received about the book; it's very gratifying and it helps keep me motivated. I'll be going to the Clojure Conj again this year. This will be my third Conj, and I'm so excited for it. I don't usually enjoy going to conferences, but I love the Conj because the talks are absolutely incredible. I hope I see you there!

regexes for the serverspec 2 update

almost 3 years ago | Steve Jansen: /* steve jansen */

The Serverspec team just released v2 of their outstanding testing library today, after a very long beta period. The v2 release had a few breaking breaking changes due to dropped rspec matchers that had been deprecated. If your test-kitchen tests recently broke today, here’s a few regexes I used with Sublime Text’s regex find/replace to rewrite the dropped matchers for the new matchers. 1 2 3 4 5 6 7 8 9 10 11 it\s*\{\s*(should|should_not)\s*return_(stdout|stderr)\s*\(?(\/.*\/)\)?\s*\} its(:\2) { \1 match \3 } it\s*\{\s*(should|should_not)\s*return_(stdout|stderr)\s*\(?(\".*\")\)?\s*\} its(:\2) { \1 contain \3 } it\s*\{\s*(should|should_not)\s*return_(stdout|stderr)\s*\(?('.*')\)?\s*\} its(:\2) { \1 contain \3 } it\s*\{\s*(should|should_not)\s*return_exit_status\s*(\d+)\s*\} its(:exit_status) { \1 eq \2 } Hopefully the kitchen busser project will one day add support for Gemfile-style constraints on the test node, since busser always installs the latest version of a busser plugin gem today..