Interesting. It depends on what you mean by better off. I almost never had problems at restaurants with no or optional tipping. The waiters tend to behave professionally and this is what I wish. But in the US, I always feel uncomfortable with the over-the-top behavior of waiters. They behave like I am their long lost high-school friend and I find that creepy.
Whoops, that must have been a mistake on my part earlier, changing the url and pasting the wrong one (which I was checking earlier because someone posted it here). Sorry, and thanks.
Since this thread is already so off-topic, perhaps we'll ask the submitter to resubmit.
Does anybody know if the upgrade to Sierra also takes an eternity if you have many files in /usr/local? (homebrew, tex, etc.) Previous upgrades moved all files, one by one, out of /usr/local and then back in during the upgrade.
> But Pascal was created about the same as C and had proper types.
The Pascal I remember (some version of Turbo Pascal in the early 90s) had strings where you had to declare the length as part of the type. Strings of different length had different types and you could not pass a string of length 30 to a procedure that expected a string of length 31. The way to solve this is to declare that all your strings had the same length and hope that it would be enough. It was horrible and at the time I found the C approach much more reasonable. Of course Pascal improved through the years and the C approach turned out to be a huge security problem.
The first byte tells you the string's length. If the MSB of the first bit is set, the string's first 4 bytes tell you the length of the string. I mean yes its not a horrible system, but there are better systems.
I'll be honest I like Rust's. Just keep the length and the pointer on the stack in a tuple.
ISO Extended Pascal and other Pascal dialects had open arrays.
Algol and Mesa were two other languages that you could generalize over array size.
For anyone interested in systems programming it is a good eye opener to delve into the system programming languages from 60 and 70's, before C escaped UNIX.
I didn't meant to say that Pascal hat the perfect solution, but that with that times technology, better solutions than the C one were possible, and more so with any language more modern than ancient Pascal.
There is something in the article that looks wrong. It's suggesting that `let returnsCat: () -> Cat = animalF` should work, where `animalF` returns `Animal`. The Swift playground agrees with my understanding that this is not correct: "Cannot convert value of type '() -> Animal' to specified type '() -> Cat'".
I think is just a matter of editing, the line "It even works with functions:" should probably say something like "It's even the same with functions" as before clearly stated that "let cat: Cat = Animal()" doens't work
If you wipe the system then the time to set it up exactly like it was before is usually orders of magnitude larger than just waiting for the upgrade to move your brew installation out of /usr/local and back again. A better advice would be to just move the contents of your /usr/local to another directory and then move them back to /usr/local after the installation finishes.
I just ignored this and waited for the installer to do whatever it wanted. It took about 1 hour but everything went fine and I'm now up and running.
One reason I don't like Automator so much is that it forces me think where to save the workflows I create. Automator has a very iTunes-like interface and I would expect that it takes care of organizing the created workflows. Actually, I think the Workflow app for iOS has nailed this down perfectly (together with integration of the workflows with the rest of the system).
You may go to Script / Applescript Editor Preferences and check "Show Script menu in menu bar". This way you can have scripts organized in folders and available through the menu bar. Console apps / Shell scripts supported as well and run in the background. I believe you can create a symbolic link to have them indexed by Spotlight as well.
The reason I am not committing to Dropbox Pro is because I need to use such a service when I'm in China (and with people in China). Setting up an EC2 server, configuring apache or nginx, setting up some access control, etc., goes completely against the whole idea of Dropbox being simple. Also, it's one way, unless you go to extra lengths to setup some upload system. Of course if this is something you use several times each day then it's worth setting up, but for occasional use it's really an overkill. By the way, no, I haven't found any good substitute for Dropbox that works in China.
Yeah, I said that mainly for my somewhat niche case of having a team that works together on stuff in the US but needs to on occasion share files to partners in China or team members who need to access files while in China. Agreed that it isn't the most convenient but once you set it up it just takes care of itself for the most part. Dropbox is just syncing files so there isn't much that can break.
Tianhe-2 uses Xeon Phi, not the mainstream Xeon processors. By the way, even mainstream Xeons can have very different performance depending on the specific model.