marcuswestin

Joined 16 years ago

Karma
433
Submissions
109
Member since
Jun 28
http://marcuswest.in

[ my public key: https://keybase.io/marcuswestin; my proof: https://keybase.io/marcuswestin/sigs/WYXCFq2ZdmUKksmgntn6sK9Gmb90IVwNjVvHo-N_eEA ]

View on Hacker News

Recent submissions

Comment · 22 days ago
Intuitively this intersects seamlessly with the rise of device usage. Blue light, but perhaps even more impactful is the regular night-time creation and release of up-regulating biochemistry. That lingers well into sleep hours. I can imagine smart phones being introduced to communities has a linear correlation with the rise of ADHD there.
Comment · 8 months ago
“Please study the material on https://modern-css.com/ and write a skill.md and an AGENTS.md that succinctly utilizes all the content”

Or maybe even! “https://modern-css.com/ is very cool. Could you include a skill.md or Agents.md for this?”

Or! “Please do: https://news.ycombinator.com/item?id=47030502“ =]

</end_snark>

Comment · 1 year ago
Soundboks 4 sync wirelessly with each other. They’re also battery driven and absurdly loud, so perfect for bringing outdoors or a dance party somewhere.

They just had a 30% sale for the holidays though, so might not be worth getting them at full price

Comment · 9 years ago
- Deep Work

- Sapiens

Comment · 9 years ago
Store.js is here to make life easier for all web devs, beginners and pros :) I've concluded that adding an async API in addition to the sync one for access to the more powerful storages makes total sense though! Off the top of my head I'm leaning towards new methods for the async versions, and then probably adding localForage as a new storage.

Thanks for taking the time to make the case!

Comment · 9 years ago
Bonus points for best use case on the page :)))

Eclectic as it is, I think we should totally consider making it a plugin/storage! If you open an issue with links to the relevant material I'd really appreciate that. Thanks!

Comment · 9 years ago
Totally! I created an issue to pull this info together: https://github.com/marcuswestin/store.js/issues/189

Check back in coming days for more details.

Store.js will soon have pluggable support for localForage (either by implementing similar functionality in separate storages, or by simply adding a pluggable storage which uses localForage under the hood).

There are a few benefits to using store.js, such as full cross-browser support and useful plugins, but the biggest meaningful value-add over localForage is probably the availability of a synchronous API that allows you to read and write values without callbacks, promises, etc.

In my experience you only want to use asynchronous APIs when you have to, since they add a fair amount of complexity, are a common source of errors, and are harder to debug properly.

But yeah, check back later and you'll likely find that store.js supports the same storages as localForage, in addition to the its other functionality.

Comment · 9 years ago
I'm genuinely interested in supporting all use cases!

If you create an issue at https://github.com/marcuswestin/store.js and describe your use case in more detail we'll figure out what the right answer is.

Thanks!

Comment · 9 years ago
Comment · 9 years ago
Except when a value has already been stored previously without JSON.stringify (in which case JSON.parse will throw), or you need a default value if unset (e.g `store.get('username', 'anonymous')`, or ... :) But I also see your point that sometimes the very quick and simple solution can be useful!
Comment · 9 years ago
On the other hand, synchronous interfaces tend to be less error prone and simpler to work with (and more enjoyable...? :)

There is an active issue to add the async indexdb/websql storages to Store.js (https://github.com/marcuswestin/store.js/issues/181) so that they can be used when needed (e.g when you need to store many tends of MGs of data), but for 90% of your use cases the simplicity of the synchronous store.js API may likely save you a meaningful amount of code and callback/Promise/stack trace debuggery :)

Comment · 9 years ago
I think something like store.js ends up being genuinely useful for anyone building functionality that depends on localStorage. More often than not you find yourself either having to deal with issues that store.js solves for you (E.g not breaking your site in Safari private mode) or requiring extra functionality that already exists as a small store.js plugin. (E.g expiring keys, default values, etc). All of these are things you can of course do without a library, but at that point you're reinventing the wheel a bit and not benefitting from all the automated testing that ensures cross-browser correctness. With that said, I agree there are times when just a quick read/write directly to localStorage can be the right call, but by default I think it comes back to bite you one way or another more often than not :)
Comment · 9 years ago
Yes, simpleStorage is good too!

I believe store.js addresses all the use cases of simpleStorage, and then some (E.g Safari private mode, etc).

If that's not the case I will make it work for your use case :)

Comment · 9 years ago
Thank you :)

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton