Hacker Newsnew | comments | show | ask | jobs | submit | login

On Chrome/Fedora that PDF has no spaces between letters at all.

-----


The second edition is even better. It skips many chapters from the first edition that you don't really need and it goes into more detail in other more important ones to what OP is asking.

-----


I'm curious, did Newton name Newton's law himself or did other people do that for him? Did Gantt name his diagrams? Isn't it a bit vain to name a law with your own name?

-----


At the very least, it will earn you 20 points on the crackpot index: http://math.ucr.edu/home/baez/crackpot.html

-----


Aside from being interesting and a new thing to learn, is Go used extensively in the professional world?

For network programming I've often used Python + Twisted + ZMQ, what are the most commonly used alternatives?

-----


I'm developing a DNS hosting service (http://slickdns.com) and am using Django to do the bulk of the development, but I've also written a little utility web server in Go as it needs to be high performance but also lightweight and Go fits the bill perfectly. Updates are also a breeze as it's just a single static binary, compared to Django/Python where I have to make sure that any 3rd party dependency packages are installed first.

Last week I also developed a little random password generating web server with a web service API in Go. It's live at http://random-password-please.com/, and the source is at https://github.com/jbarham/random-password-please. IMHO it's a good illustration of how easy it is to write network servers in Go as it makes use of goroutines and channels and it all fits together very easily and naturally.

-----


I use Go very heavily for "duct tape" in production, combining processes like machine vision, VNC clients, and video transcoding into a uniform internal API. It has been conceptually a lot easier to work with than my native Python since it offers better (for me) abstractions and a very manageable concurrency model.

Using Go in a professional setting really isn't a technical challenge. The biggest concern is if you have to grow your team, you're either going to have to teach Go (which isn't that hard -- I've seen two different people come from dynamic languages and pick the basics up in a week) or hire people who know Go (often already happily employed).

To further mangle Charles V: "I speak Spanish to God, German to my horse, and Go to connections that might make me wait."

-----


Here's a list of a few organizations that are using Go: http://go-lang.cat-v.org/organizations-using-go

-----


You might find that the blocking style of Go networking code is far less mind bending than using twisted.

-----


Yes, and the beautiful thing about it, is that the blocking calls you make are actually implemented as evented IO. This is great when you have a large number of goroutines; it keeps it very fast!

-----


Wait, what? Do you have any references for that? My impression was that Go creates new threads for new Goroutines when the current ones are blocked. Is that not how it works?

-----


The Go runtime creates new threads to run goroutines when a thread is blocked making a syscall. The net package avoids having too many threads blocking on syscalls by using epoll/kqueue etc. for socket I/O.

-----


The goroutine is a user-thread, Go can create as many threads as there are cores and schedules user-threads inside these threads without the programmer managing that, you just create goroutines. When a goroutine "blocks" it schedules out from the thread and another can replace it.

http://golang.org/doc/effective_go.html#goroutines

-----


All I/O is evented I/O. It's just that with modern I/O requirements it's too expensive to use a whole thread to wait for the event.

-----


Go is very new language, so I doubt its currently being used much outside Google.

Answering your second question, almost every good programming language has some good networking libraries. Choice of language usually depends on what you are building and what are your requirements.

-----


I've considered this for the summer. I'm still deciding between swimming, climbing or thaiboxing. Do you know any other fun ones that might make you grow muscle?

-----


Brazilian Jiu-Jitsu is really interesting. Started a training course two weeks ago. It's quite the full-body workout - sore muscles after every session. Core muscles, arms, legs, back. Sparring really makes primal instincts kick in, so there's never a motivation problem. Everyone's exhausted after an hour session, and it's the good kind of exhaustion. Very intense and varied experience. BJJ was explicitly designed to minimize the advantage of larger and heavier opponents, so it revolves around technique to a significant degree. Therefore, sparring with someone way bigger than you is completely different from sparring with someone much lighter; Both are incredibly entertaining. Best session I had was against a female partner, probably 15cm and 15kg lighter. She had a very keen sparring instinct and easily outmanouvered me. Felt the quick intellect behind every move. Amazing experience. Something in it that's missing from the average modern life ...

Climbing is the One True Sport for me though. Do try it! The climber's physique is quite attractive and confidence-inspiring. There is a minimum of technique that I hope people will be aware of. I don't want to make it seem complicated though, it isn't.

In the climbing process itself, the minimum technique is this: Become efficient. Get a feel for your balance on the wall, make stable triangles on the holds to free the fourth limb to go to the next handhold/foothold, and use larger joints/muscle groups rather than smaller; Most people's instinct tells them to to pull the body up with upper-arm strength, but generally one can keep the arms straight and use legs, waist, torso, or shoulder muscles to gain elevation.

And climbing is not a trivial load on the body. One can climb injury-free, but this does require a minimum technique or form. Always warm up, always perform the proper stretches (about 8 main forms of stretches, takes 10 mins or so after practice and really kickstarts the post-exercise well-being). Listen to pain: Usually, pain comes from imbalance in the muscles, or tendons or cartilage not being ready yet. Back slightly off and learn the quite simple exercise designed to put that joint and that muscle group back into balance. Climbing stresses tendons and cartilage, which by nature strengthen and heal slower than muscle.

-----


Squats, deadlifts, bench press, overhead press. But maybe I have a warped sense of 'fun.'

-----


Kitesurfing.

-----


Rowing is also a good way to grow muscle.

-----


If there was any doubt as to whether the original technique described in the original video worked, this blog post has just confirmed it.

-----


I came to the same conclusion about a month ago. Some of the examples he listed I solve by tossing a coin and leaving it up to chance. I only do this when I really don't care about the outcome. Before tossing the coin, I make sure of this, if I prefer an outcome, then I don't need to toss. There was a famous quote that more or less said the same thing.

-----


Tossing a coin is actually a great mechanism for bringing your unconscious into the decision. Flip the coin. If you suddenly feel yourself wishing it fell the other way, then your gut is telling you to to go with the other decision. Most likely your gut doesn't care and you can just go whichever the coin falls.

-----


Hello, I also started rails by reading your tutorial. I have a question, this post http://stackoverflow.com/a/5612941 suggests that the way to model a friendship is to duplicate rows in a transaction and it cites a book you wrote.

Is this still the way to go? I like the idea of duplicating rows because it simplifies the associations a lot, but I've been warned against it. Is that the way you would do it?

Thanks.

-----


I know it's probably harmless, but this is one of those things that I rather wait before trying it out. You never know, there could be very small hidden side effects. The brain is so complex and poorly understood that I rather not mess with it in this way.

Examples: maybe this will make you likelier to have a brain seizure when you are just 60 years old, maybe after prolonged use one region of your brain is more active making you behave differently (could be positive or negative), maybe it will make you more susceptible to Parkinson, Alzheimer, etc...

That being said, if everyone was as coward as I am, we would have missed on lots of inventions.

-----


Applying electrical current DIRECTLY to the brain: what could possibly go wrong?

-----


I found the comparison for CPU use kind of confusing. You can't tell which stat belongs to which technology.

-----

More

Applications are open for YC Summer 2015

Guidelines | FAQ | Support | API | Lists | Bookmarklet | DMCA | Y Combinator | Apply | Contact

Search: