283 karma · joined August 31, 2015
Going to Mars will have myriad discoveries & side effects, if we knew what they were what would be the point of going?
Also, what if curing cancer is harder than going to mars? One is by now a fairly quantifiable objective, the other is debugging a mind bogglingly complex system with no version control.
I’d love for NZ to be the next Tech hub, but I fear the culture just isn’t there yet. It’s easy to start a company here but it’s very hard to locally source materials or tools at anything like competitive prices thanks to the 100% markup almost any importer puts on anything (if you can get it at all). Software at least doesn’t have that barrier, good developers here are generally very busy. That’s good I guess.
Of course everyone has different opinions of what an acceptable level of risk is.
One thing to watch out for is Spree leaves cart level orders in the database, and deleting an order is not trivial. I have a cron job that deletes incomplete orders over a certain age, made after I realised ~90% of the database size was made up of abandoned cart data.
Have done personalised line items in the past, when adding to cart there is a function that checks not just the variant being added but the options being added with. The comparison hooks for these options are designed to be extended, so that one should be relatively easy. Complex price changes on orders/line items can be handled via adjusters. These also hook into orders and are very flexible (although I haven't had to build any).
Have also build custom integrations to sync inventory with an external source using webhooks, since everything is fundamentally just Rails underneath it's as easy as you might expect.
No experience with changing the auth system, but since there is a separate plugin for the authentication (spree_devise) I think the intention was/is to make it easy to swap out if needed. I don't know how easy that would be though. There is no address book out of the box (just a save last used address feature), that's one of the features I am finally adding now.
I think you could go one of two ways with this, either a) keep your code light using decorators etc and try to do everything the 'Spree' way so that you can benefit from an easy upgrade path or b) fork spree entirely and manually bring in updates from upstream. I am slowly leaning towards b) because Spree has some design decisions that are incredibly powerful but also make everything much more complicated. Mostly I am referring to the ability to split shipments on checkout here.. I spent hours tracking down a specific line that was rejecting a shipment once. I gave up entirely and replaced spree_frontend early on, but I am mostly a frontend developer.
Craft has a fairly sane way to do plugins. Commerce itself is a well written if sometimes obtuse plugin, which is handy because some of the documentation isn't great (the new version - 3 - looks better). It is an EVA database, but it's simple to navigate and debug. There's some fairly powerful ways to handle loading content.
In summary I'd say have a poke around the commerce plugin, you can run it for free unlicensed. It has a growing ecosystem of plugins, which is nice coming from Spree. Oh and support is pretty good too.
I picked up Spree in 2015, and still build with it on a weekly basis.
The platform and its ecosystem both have ups and downs, for example the order system is quite complex[1]. For another I have yet to find a perfect way to architect complex extensions.
Most of Spree's power lies in its models. In hindsight my advice to myself would be: start with spree_core, modify the API (I like using cart api's on the frontend) and replace the backend/frontend entirely.
[1] https://github.com/spree/spree/blob/3-5-stable/core/app/mode...
...Not to say they are perfect. Spree has an absolutely crazy order system[1] and Shopify is a pain to extend.
Strangely the Venn diagram of platforms that are extendible/fun to code and the ones with a great community/ecosystem don't seem to have much overlap.
[1] https://github.com/spree/spree/blob/3-5-stable/core/app/mode...
This would also very useful for more generalised whistle-blowing too..
Lately I have found myself wishing there was a wider format 5760 x 2160 screen of about 37-43" for 6 full HD screens-worth. But can't have everything I guess.
My slightly optimistic money is on the latter one.
[1]http://ecomodder.com/wiki/index.php/Vehicle_Coefficient_of_D... [2]http://www.autozine.org/Archive/Ferrari/old/458.html
What about exploration or just plain old boredom? There might be more radical escapes (VR, brain upload), more extreme sports or more people leaving this planet in search of something else.
1000 years is a long time. Forever is a lot longer than that..
View through all the lenses at your disposal (there are many), apply critical thought and compare theory to fact. If you find your answers change from absolutes to 'it depends which perspective you start from' then you are probably on the right track.
I'm a little dubious of this brand of logic. The one that goes if X was not supplied they would just get it from the <potentially slightly harder to find &/or riskier> place.
Perhaps, but surely the point is to reduce the incentive by making it harder/riskier - as making it impossible is generally not a viable option?
From what I gathered, in Japan you basically pay a set fine for travelling over a certain speed. So he added that into the fare (vaguely recall it was 15% or so).
Long story short, after some very impressive driving we got there in time. I gained a massive appreciation for Japanese taxi drivers that day.