294 karma · joined September 18, 2013
This can lead to both a constant churn in processes and a piling on of additional processes, which bog the team down with an explosion of on-call-like rolls that get rotated through team members.
One thing that we always did towards the beginning of a class was an exercise where we tell them to write down the steps to make a peanut butter and jelly sandwich. Then we'd literally get bread, peanut butter, and jelly, and follow their instructions to the letter. No one ever adequately describes the process: "put peanut butter on bread" - With what? the jar is closed, I can't! etc.
You might argue this introduces too imperative a thought process - but it gets the "computers do exactly what you tell them to" idea across very well.
Not as defunct as you might think! See: https://geekhack.org/index.php?topic=41422.0
But that aside, if all that's left is basic cleaning then McDonalds could simply contract a cleaning service. I'd guess that a single team could service at least 10 fast food restaurants a day. And then how many years before running the cleaning service only requires one person?
Might take some work to figure out how to run this on modern hardware, but I found it on myabandonware[0] if anyone's interested. They do have a guide[1] for how to play it.
I also just discovered there was a clip from it in recently-released and HN-discussed The Witness!
[0]: http://www.myabandonware.com/game/connections-3i2 [1]: http://www.myabandonware.com/howto/#mac
I initially had problems understanding monads in Haskell having come from a math perspective.
Maybe not, but the lack of an "Approval" system is keeping us from moving from Bitbucket to Github. The proposed fix for +1 spamming could easily serve as an approval system for us.
(Bitbucket, I might add, has also become incredibly stagnant, as can be seen by this long standing issue to support Markdown[0])
[0]: https://bitbucket.org/site/master/issues/6930/support-some-o...
The cab was falling apart. One of the doors didn't open from the inside. The axles made horrible, periodic thunking sounds (I'd guess the CV joints but am no car expert). The engine light, the wheel stability light, and the SRS warning light lit up the dash. The cab driver drove 10-15mph over the speed limit and nearly side-swiped several other cars. I asked to pay with a card and was met with a grunt of disgust, even as I added a standard 10% tip.
I understand there are some regulation issues related to Uber in many cities, but given the experiences I've had, I can't wait to be rid of taxis.
I should add that in London I had the opposite experience, where the standard cabs (and official app) were fantastic, but Uber was price gouging during a tube strike.
Coupling that with the fact that any AI will be limited by its human-defined interface leaves me pretty unconcerned about AI, even if we ever figure out what truly makes a conscious, intelligent being and determine how to replicate it fully in some other medium.
That said, I appreciate Bostrom's work as a philosophical rather than practical matter.
...But I don't think it's great satire, for the reasons you point out.
Now that Microsoft is supporting non-Windows with .Net core, C# is more attractive. That said, if I was thinking compiled Python with static typing my mind would go to Go.
Lots of options!
I'd be curious to see if you still hold the same opinions. (It's a very entertaining podcast too!)
Apple is probably in the unique position to actually implement such a system successfully, controlling the hardware, os, and even language choice.
If you didn't read it I would recommend you do - it's possibly one of the most interesting and reflective things I've ever read about programming as a profession.
Wasn't trying to pass judgment on the kid; even if he bought a brand new clock and stuck it in a case, I still think that's an admirable quality. The media is picking it up as he "made" a clock, and to me that didn't fit well with the photos.
Monads can be understood very simply in Category Theory if you don't care so much about the details: pick a couple of your favorite categories (which is just a bunch of objects with morphisms) and find a functor between them. Then find a functor back the other way. Composing those two functors gives a Monad - a functor from a category back into itself (an endofunctor). Not just any endofunctor will be a Monad though, so if you start with an endofunctor (instead of two functors) you need to also have two other "natural transformations". (That endofunctor + the two natural transformations is why monads are sometimes called triples).
The application of monads to programming was not obvious to me, even having dealt with them a bit mathematically. I started looking at Haskell earlier this year and it turns out that a Monad in haskell is defined on the Hask category, where objects are types and morphisms are functions between them. Even that wasn't enough for me to get why they're useful, and that seems to be because as far as I can tell they're only used for "threading" state through a series of functions...but perhaps I'm still missing something?
discoverable != must be discovered
This is a misconception and criticism I used to have. However, it's a misunderstanding of the point of HATEOAS - the point isn't that you can't use hard-coded URIs, but that any given URI should be reachable by traversal from the root URI.
In other words, it's fine to keep a bookmark to your favorite article, just make sure you can get to that article from the homepage, too.
(I guess I would say modulo redirects as well)