HNHacker News
TopNewBestAskShowJobs

wlaurance

136 karma · joined May 31, 2013

Software developer.

https://twitter.com/wlaurance

https://github.com/wlaurance

https://www.wlaurance.com

[ my public key: https://keybase.io/wlaurance; my proof: https://keybase.io/wlaurance/sigs/lv5rEdW-53QIC9wjjXG5MTmHULdlS25Ml9DbGZHBZRQ ]

submissionscomments
wlaurance··on One Million Checkboxes
Are you gonna setup Adsense? lol
wlaurance··on One Million Checkboxes
My favorite quotes:

- super satisfying, like a bubble wrap mmo

- global fidget toy

- This is brilliant! The websocket server must be going brrr

https://x.com/itseieio/status/1805986839058079896

wlaurance··on Show HN: Async/Await example for passport.js and express.js
I've been deep in the weeds building out a course. Today I wanted to share a snippet of building out an express + passport auth scheme using the latest async/await patterns. It's really nice to not be in callback hell. Even though passport mostly uses callbacks we can still do our app-specific code like looking up a user by email, de-serialization, and serialization in an async function if desired.

I have an email signup if you want to get the full working code same.

Thanks!

​

Will

wlaurance··on Never Struggle with Node.js, PostgreSQL, or Express.js Again
Looks like my email provider ConvertKit had some database issues this morning.

SMH.

wlaurance··on Show HN: Value My Funnel – Figure out the value of a visitor, lead and customer
Welcome!

I was looking for a way to share with my coworkers in Slack.

wlaurance··on Show HN: Value My Funnel – Figure out the value of a visitor, lead and customer
Looks really smart!

One thing I'd like is a way to share the final link where I see the projection and ideas

wlaurance··on Ask HN: Is Ruby/Rails over?
I think that an opinionated framework like Rails will be around for a long time.

Technology has its fads, but somethings stick around. There are plenty of people still coding in C. Laravel is a pretty big PHP framework.

There are plenty of companies that built on Rails. The cost of switching to a new technology is likely unfeasible. So likely the product/company will continue to use Rails.

So if you like Ruby/Rails, I say go for it!

wlaurance··on Ask HN: need feedback on using Vultr VPS hosting for production?
I have used digital ocean and vultr. From a technical review I used vultr and digital ocean differently. On vultr I ran some large Windows servers. For digital ocean I run all sorts of things.

In my experience, Digital Ocean's support is much much better than Vultr. Towards the end of my used of Vultr I had some pricing disputes for some IP address blocks.

On the other hand Digital Ocean gave me account credit when I reached out.

I can't speak for linode.

wlaurance··on Slack for Linux – Help Hack on This
Awesome, thanks for the recommendations. I'm switching over to grunt-node-webkit-builder.

I'm going to try to make it as easy as `npm install slack-for-linux -g' to get the client in your path.

So this looks a lot cleaner than the other yeoman grunt generator I used initially.

As for node-notifier, this seems easy. I guess the only thing is hooking into the events emitted by the Slack Javascript? I need to dig in further for this.

Thanks,

Will

wlaurance··on Slack for Linux – Help Hack on This
https://github.com/wlaurance/slack-4-linux/commit/66be9fc406...
wlaurance··on Slack for Linux – Help Hack on This
Internally it is using an iframe.

So that should continue to work decently. It's the building and packaging of the thing that will break.

wlaurance··on Test if a URL uses Node.js
Thanks! Node can thanked because it makes writing modular code painless, so separating concerns is very easy.
wlaurance··on Test if a URL uses Node.js
Yes, it is just a toy project. It is a lot more work to fingerprint successfully. OWASP looks very interesting. Thanks for the link and subsequently the white paper links!
wlaurance··on Test if a URL uses Node.js
Put in a PR! Currently, it is easy to do things with the Request object. Any ideas on what quirks/bugs to look into?
wlaurance··on Test if a URL uses Node.js
I should clarify that I am using the request module to make GET requests on the url submitted. But yes, I dislike that the curl stats print by default when output is redirected :/
wlaurance··on Test if a URL uses Node.js
I'm not sure what they are using to serve up their site, other than nginx. But they do have this header, "X-Hi-Human: The AIRBNB SRE team added this header. Come work with us! Email dave+header@airbnb.com"
wlaurance··on Test if a URL uses Node.js
Haha yeah, for anything static not served up by a framework that leaks headers it doesn't really do very well :)
wlaurance··on Test if a URL uses Node.js
It checks x-powered-by and Server in some cases. https://github.com/dotheyusenode/dotheyusenode/blob/master/c...

It also tries to read through the Javascript served up to see if it uses browserify. https://github.com/dotheyusenode/dotheyusenode/blob/master/c...

But yes it is a glorified `curl -I www.foo.com | grep -i 'x-powered-by` UI

wlaurance··on Ask HN: is it possible to open source an iOS app and protect it from copies?
Its all about the activation energy to replicate the app. Open sourcing lowers that amount significantly.
wlaurance··on Ask HN: is it possible to open source an iOS app and protect it from copies?
Obviously keep the keys to the castle out of version control.

I wrote a small blog post [0] on a similar topic not too long ago.

I went with the BSD 3 Clause license for the project I am working on [1][2]. I am not a lawyer so I have no idea if this is a good license or not. I was going for one that would force people to retain the copy right notice.

Obviously you would control the developer account and name of the app. So it would take some effort and money for someone to rename and republish under a new app name.

[0]http://www.wlaurance.com/2014/01/A-Different-Approach-to-Pro...

[1]https://github.com/t3mpus/tempus-api/blob/master/LICENSE

[2]http://www.t3mp.us

wlaurance··on CoffeeScript 1.7 changes
I'm pretty excited about the parentheses-free chaining.