All Projects → kennytilton → whoshiring

kennytilton / whoshiring

Licence: MIT license
A browser for Hacker News's Ask HN: Who's Hiring, with Matrix Inside(tm)

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to whoshiring

Toubkal
Fully reactive programming for nodejs and the browser
Stars: ✭ 67 (+179.17%)
Mutual labels:  reactive, dataflow
Derivatives
🌱 Your companion to create derived values from a single source (atom)
Stars: ✭ 101 (+320.83%)
Mutual labels:  reactive, dataflow
Umbrella
"A collection of functional programming libraries that can be composed together. Unlike a framework, thi.ng is a suite of instruments and you (the user) must be the composer of. Geared towards versatility, not any specific type of music." — @loganpowell via Twitter
Stars: ✭ 2,186 (+9008.33%)
Mutual labels:  reactive, dataflow
WpfExtensions
Some syntactic sugar for Wpf development.
Stars: ✭ 128 (+433.33%)
Mutual labels:  reactive
stimulus reflex todomvc
An implementation of TodoMVC using Ruby on Rails, StimulusJS, and StimulusReflex
Stars: ✭ 50 (+108.33%)
Mutual labels:  reactive
deep-state-observer
State library for high performance applications.
Stars: ✭ 25 (+4.17%)
Mutual labels:  reactive
rust-flutter-reactive
This is a sample app to improve consistency over Mobile App Development.
Stars: ✭ 25 (+4.17%)
Mutual labels:  reactive
agera
Reactive Programming for Android
Stars: ✭ 7,267 (+30179.17%)
Mutual labels:  reactive
agile
🌌 Global State and Logic Library for JavaScript/Typescript applications
Stars: ✭ 90 (+275%)
Mutual labels:  reactive
gotcha
Go Taint CHeck Analyser
Stars: ✭ 40 (+66.67%)
Mutual labels:  dataflow
frontend
Frontend repository / Reactive realtime forum software (currently alpha).
Stars: ✭ 13 (-45.83%)
Mutual labels:  reactive
lego
🚀 Web-components made lightweight & Future-Proof.
Stars: ✭ 69 (+187.5%)
Mutual labels:  reactive
springboot-rsocketjwt-example
Example of using JWT with RSocket and Spring Boot
Stars: ✭ 26 (+8.33%)
Mutual labels:  reactive
CocosProjectTemplate
一个Cocos Creator使用的应用基础框架 微信小游戏版本https://github.com/ustchcl/CocosProjectTemplateWx
Stars: ✭ 20 (-16.67%)
Mutual labels:  reactive
elastic-composer
Client-side Elasticsearch query generator and executor. Filter fields, find search suggestions, and paginate query results for your indicies using a simple, reactive, and high-level API
Stars: ✭ 14 (-41.67%)
Mutual labels:  reactive
bindkit
Two-way data binding framework for iOS. Only one API to learn.
Stars: ✭ 13 (-45.83%)
Mutual labels:  reactive
backscatter
Reactive extension for Backbone
Stars: ✭ 17 (-29.17%)
Mutual labels:  reactive
reactive-graphql
A GraphQL implementation based around RxJS, very well suited for client side only GraphQL usage
Stars: ✭ 58 (+141.67%)
Mutual labels:  reactive
InterReact
Interactive Brokers reactive C# API.
Stars: ✭ 28 (+16.67%)
Mutual labels:  reactive
dash.js
⚒️ Reactive UI components and framework for modular dashboards.
Stars: ✭ 74 (+208.33%)
Mutual labels:  reactive

whoshiring

Welcome to "whoshiring", a browser for Hacker News's monthly Ask HN: Who's Hiring pages.

Implementation

Whoshiring is built atop the Matrix mxWeb™ web application un-framework -- just a thin, pass-through wrapper for HTML, CSS, JS, and AJAX. Here is the Live version.

Running it yourself

Easy.

git clone https://github.com/kennytilton/whoshiring.git

Now open whoshiring/index-es6.html in FireFox. Other browsers reject pulling HN pages from a local directory into an iframe for scraping. Ideas on generalizing to other browsers for development are welcome.

You can now play with the source*, save, and refresh the page back in the browser. That is how I work, FWIW. I am also have on a CLJS/re-frame version where figwheel will hot load changes.

* No, you cannot (play with the source)

mxWeb is simple, but only after we have grokked the data flow library Matrix™ on which it is built. Matrix is like MobX, but goes a bit further. We find the Binding.scala data flow library impressive as well.

Matrix is largely undocumented**, though there are an extensive number of sample apps, including this one, TodoMVC, The Flux Challenge, and a simulator of Ivan Sutherland's Micropipelines.

All that said, a few exceptional users have picked up mxWeb after zero to three emails, so it is doable.

Staying current

The app works by scraping saved HN page sources. The files directory has a subdirectory for each HN message ID in which they ask Who's Hiring. That subirectory has multiple HTML files retrieved with the additional query parameter p=<n> where <n> is 1 to however many pages of answers (job listings) they have. They do about 200 jobs per page, and recently had about 870 jobs all told. Anyway...

To refresh your page data:

cd whoshiring
./grab

More soon.

Going minimal

To compile the JS into a single file, use the epinymous bash script at the toplevel of the directory:

cd whoshiring
./whoshiring

Now open index.html, again in FireFox.

** Undocumented, but not unexplained

My latest attempt to explain mxWeb is a wonderfully elaborate CodePen application within an application, both built from mxWeb. The larger app presents the incremental evolution of about half of TodoMVC and a bit more, using mxXHR™ to check items for adverse events on an NIH web site.

It is a solid write-up, but the point emphasized was the transparency of the data flow mechanism, and transparency is hard to see. What might help is a recent write-up of how we stumbled onto data flow, including how we made it transparent.

More help

Shoot me an e-mail or raise a GitHub issue and I will help.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].