"Here's a rule of thumb: forget for a second that it's a package main, and ask yourself what you would do if it were a library. Stupid little detail? Lowercase. Stable API? Uppercase. Bonus: easy to migrate to be a library later. But even if not, the case is a good signal even within package main about which functions are intended for use and which exist just to help implement the uppercase ones."
- Brad Fitzpatrick
"Or use Go and goroutines instead: all the joys of readable, top-down code, with the memory efficiency of events, and actually able to saturate all your CPUs (unlike, say, node or other single-threaded event systems)"
- Brad Fitzpatrick
bradfitz on Just landed: the network poller (epoll, etc) is now integrated with the scheduler - http://www.reddit.com/r...
"Previously the poll server stuff (epoll or whatever) was implemented entirely in the net package, in pure Go. When they were blocked on a Read or Write, they'd detect that, register with the pollserver (pure Go), and wait on a channel for when they should try again. So then a goroutine would wake up when epoll_wait returned, process the events, tell all the registered waiters (sending on channels), and then they'd be runnable (since they received on their channel) and try again. Later that was extended to good effect to have N poll servers (one per CPU, up to some limit). It all worked very well, but the goroutine scheduling still had one global lock and didn't have any CPU affinity. The scheduler is now much smarter and has fewer locks, and the epoll_wait stuff is now integrated right into the scheduler, without ping-ponging around different goroutines like before."
- Brad Fitzpatrick
bradfitz on Just landed: the network poller (epoll, etc) is now integrated with the scheduler - http://www.reddit.com/r...
"It's not fully precise yet. The stack precision isn't done, and some types of objects on the heap can still confuse it and be treated conservatively. But it's more precise."
- Brad Fitzpatrick
bradfitz on Just landed: the network poller (epoll, etc) is now integrated with the scheduler - http://www.reddit.com/r...
"Go has always used epoll for goroutines blocked on the network. But now the goroutine scheduler itself is aware of epoll (or kqueue, etc), so goroutines are run quicker and scheduled onto a more ideal processor than before, and with fewer locks involved."
- Brad Fitzpatrick
«For example, “Hi, I’m Mxyztplk” is a grammatically valid sentence if your name happens to be Mxyztplk. (Come to think of it, it’s just as grammatically valid if you’re lying.) Clearly, it doesn’t make sense to count every string that starts with “Hi, I’m ...” as a separate sentence. To a normal English speaker, “Hi, I’m Mxyztplk” is basically indistinguishable from “Hi, I’m Mxzkqklt”, and shouldn't both count.»
- 9000
It's probably still lower than that though, because just random words would not form a reasonable sentence. Most of these sentences would be practically as useful as "Hi, I'm Mxzkqklt", so it's important to figure out what you're really counting.
- Ещё быстрей Гонсалес
RT @falcon_android: Twitter emailed me. They refuse to extend the token limit because Falcon doesn't provide any features that their app doesn't have already...
"No. That's probably about how much they currently cost to manufacture without setting up whatever assembly lines and tooling and other economies of scale to bring the price down to a level which market research says people will actually like / buy at. Also, you start working on hardware when it's new and expensive. It gets cheaper over time. By the time they care about selling them, the hardware will be cheaper and the economies of scale will be in place. (Disclaimer: I work at Google, but have nothing to do with Glass... this is all guesses, based on other hardware I've seen be made...)"
- Brad Fitzpatrick