GithubHelp home page GithubHelp logo

dmv's Introduction

๐Ÿ‘‹

Zeke's Professional Life

gantt
    title Life Events Timeline
    todayMarker off
    dateFormat YYYY-MM-DD
    axisFormat %Y

    section Professional Experience
    Partners in Health :milestone, 2010-06-01, 3m
    UCSF :milestone, 2011-06-01, 3m
    Beth Israel Deaconess Medical Center :milestone, 2012-06-01, 3m
    Software Engineer, Fiksu : 2014-01-01, 2014-06-30
    Adjunct Professor, Hampshire College : 2014-01-01, 2014-06-30
    Lead Instructor, Fullstack Academy : 2014-07-01, 2017-02-28
    CTO, CoLane : 2016-11-01, 2019-12-01
    Head of Tech, GetFrank, PBC : 2019-12-01, 2021-10-31
    Principal Engineer, StitchFix : 2021-10-31, 2022-08-01
    Staff Engineer, Amazon/One Medical : 2022-08-01, 2024-05-25
    section Projects
    section Education
    Hampshire College : 2009-09-01, 2013-05-30
    section Residency
    Amherst, MA : 2009-09-01, 2010-05-30
    Boston, MA : 2010-05-30, 2010-08-31
    Amherst, MA : 2010-09-01, 2011-05-30
    San Francisco, CA : 2011-05-30, 2011-08-31
    Amherst, MA : 2011-09-01, 2012-05-30
    Boston, MA : 2012-05-30, 2012-08-31
    Amherst, MA : 2012-09-01, 2014-06-30
    New York, NY : 2014-06-30, 2015-08-30
    Chicago, IL : 2015-08-30, 2024-05-25
    section Writing
    div iii :milestone, 2013-05-01, 0d
    Researchers, Hire Hackers :milestone, 2013-05-01, 0d
    Div III#58; Empowerment software :milestone, 2013-05-01, 0d
    Await... async :milestone, 2015-11-15, 0d
    Sequelize ERD :milestone, 2016-01-18, 0d
    We have coding in schools backwards :milestone, 2017-05-21, 0d
    Offer scorecard :milestone, 2018-11-15, 0d
    Pandemic writing practice :milestone, 2020-08-29, 0d
    Using Vega Lite to explore chemistry :milestone, 2021-02-28, 0d
    Playing with Hilbert :milestone, 2021-03-13, 0d
    Cost of computing :milestone, 2021-10-29, 0d
    How to help a student get unstuck :milestone, 2021-10-30, 0d
    Zeke's new brand rollout :milestone, 2021-10-31, 0d
    A word of caution on hiring rubrics :milestone, 2021-11-01, 0d
    Semantic operation layer :milestone, 2021-11-02, 0d
    Why is Excalidraw so fucking good? :milestone, 2021-11-04, 0d
    Helping students with pair programming :milestone, 2021-11-05, 0d
    Moving to a new job? You want a personal knowledge base :milestone, 2021-11-13, 0d
    I returned my Remarkable2, here's why :milestone, 2021-11-28, 0d
    Work in progress#58; hookreducer.com :milestone, 2021-12-19, 0d
    Micro-business update#58; name change, software coming together :milestone, 2021-12-25, 0d
    Things to consider before joining a bootcamp :milestone, 2021-12-28, 0d
    Lessons learned from a recent job search :milestone, 2022-01-23, 0d
    Reflections on babies and how they fuck up household supply chains :milestone, 2022-05-18, 0d
    WebReducer Update 3 :milestone, 2022-05-31, 0d
    Elevators, Subways, and Rocket Launchers#58; The Unpredictable Path of Software Development :milestone, 2023-09-04, 0d
    Nextty#58; a radically collaborative computing environment :milestone, 2023-11-27, 0d
    Have a ball of mud? You need(ed) a map. :milestone, 2024-02-18, 0d
    We need to be the historians of our own software :milestone, 2024-03-09, 0d
    Get shit done by warping friction-space :milestone, 2024-05-29, 0d

   
Loading

dmv's People

Contributors

andrewmash avatar gtelljohann avatar ivanyyuk avatar rpastor90 avatar zekenie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dmv's Issues

Remove lodash dependency

Right now DMV assumes that the user of the library has a specific version of lodash. This is bad. There's no reason why we need to have lodash as a dependency

hasAnyRole function

would be useful

function hasAnyRole() {
  const roles = Array.from(arguments);
  return (req, res, next) => {
    const hasOneRole = roles.some(role => req.user.hasRole(role))
    if(hasOneRole) {
      return next();
    }
    next(new errors.forbidden());
  }
}

Feedback from Omri

Feedback from @omriBernstein

Cool! I really dig the fullstack-ness of this. Seems like it can reduce a ton of redundancy. I didn't realize about the express middleware part beforehand, I think that's slick.

  • I assume that it assumes that req.user is a thing yeah? You could also make that configurable, e.g. dmv.expressMiddleware.user(function (req, res) { return req.user; }) (resolve in f7d605c)
  • Similarly I think it'd be more flexible if angular user was not .setUser but something like .registerFunctionForGettingUser (name is too long but hopefully you get the idea). That way I wouldn't have to remember to update dmvs "current user" whenever the current user changes. (resolved in 37d3826)
  • Also I think that .can is awkward when used as <noun>.can โ€‹_and_โ€‹ <user>.can, I think the noun one should be .action or something. So postNoun.action('approve') (resolved in 454c16d)
  • Similar, maybe with auth.can it should be something like auth.allows or auth.permits so as not to be confusing? (addressed by 02f99a0)
  • Oh and random other thing, I think for your example you should not use 'post' as the example noun. Just too easy to confuse it with HTTP POST which is decidedly a verb. Maybe 'article' instead? (addressed by 02f99a0)
  • And as I mentioned last time we chatted about this I think you should allow custom function for state auth. (addressed in 24c019d)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.