2,962 karma · joined June 20, 2012
https://github.com/wting
[ my public key: https://keybase.io/wting; my proof: https://keybase.io/wting/sigs/yTnPQ0DZR5vV9WRhYq8SP7V56pyKc3Z8fMQQE9cADBQ ]
> My pragmatic summary: A large fraction of the flaws in software development are due to programmers not fully understanding all the possible states their code may execute in. In a multithreaded environment, the lack of understanding and the resulting problems are greatly amplified, almost to the point of panic if you are paying attention. Programming in a functional style makes the state presented to your code explicit, which makes it much easier to reason about, and, in a completely pure system, makes thread race conditions impossible.
> I do believe that there is real value in pursuing functional programming, but it would be irresponsible to exhort everyone to abandon their C++ compilers and start coding in Lisp, Haskell, or, to be blunt, any other fringe language. To the eternal chagrin of language designers, there are plenty of externalities that can overwhelm the benefits of a language, and game development has more than most fields. We have cross platform issues, proprietary tool chains, certification gates, licensed technologies, and stringent performance requirements on top of the issues with legacy codebases and workforce availability that everyone faces.
> If you are in circumstances where you can undertake significant development work in a non-mainstream language, I’ll cheer you on, but be prepared to take some hits in the name of progress. For everyone else: No matter what language you work in, programming in a functional style provides benefits. You should do it whenever it is convenient, and you should think hard about the decision when it isn’t convenient.
-- John Carmack (http://www.altdevblogaday.com/2012/04/26/functional-programm...)
For example, garbage collection can be thought as a "big C function implemented as a library." C++'s smart pointers and templates can be thought as libraries, but that doesn't detract from their value as programming language features.
Your argument is a derivative of "in the end everything is glorified assembly."
This is not restricted to web hosting, but common human behavior.
I've freelanced as a web dev and wedding photographer in the past. Low paying clients typically demand much more than higher paying ones.
Realistically most devs read documentation or Google to get something done. They only dive into the library if the documentation is unclear or something is broken. Reading well written libraries is a good learning experience, but not a requisite to use one.
In Haskell a function's type signature is expressive enough to exist as rudimentary API documentation.
> With that thinking we never get Linux (NeoMinix), tmux (NeoScreen), Clang (NeoGCC), WebKit (NeoGecko), Subversion (NeoCVS), or Vim itself (NeoVi/Elvis/Stevie/etc).
-- haberman (https://news.ycombinator.com/item?id=7288033)
Stuff is rewritten all the time. Servo is not replacing all of Firefox, just an experimental project to replace Gecko by a skeleton crew.
Jürg Billeter created Vala for the sole purpose of building GTK / GNOME applications and the two projects are tightly coupled.
It's not to say that Rust won't have GTK bindings in the future, but it's not a high priority for either Mozilla or GNOME devs and unlikely to displace Vala.
Don't mistake quantity of experience with quality.
He stated that Yale's prestige allows the university to garner top researchers and their associated egos. As a result there was significant academic politicking and very little collaboration, at least in the CS department.
I go to UT Austin, which has a population size of 75,000 and basically its own city. An on site clinic is a practical measure since it's convenient and handles the simple stuff[1] for the campus body while deferring to specialists or hospitals for more complex procedures.
The clinic is paid through mandatory fees and thus "free". By comparison, visiting another clinic or doctor is less convenient and has a $10-25 copay (more if you don't have insurance).
> Sexual harassment is indeed a problem, here as well, but again I wonder why not go to the police? At least here, it's a criminal offense.
It is a criminal offense, but there is a lot of emotional fallout that the police aren't prepared to handle. Mental health and counseling services are supposed to help victims in these situations, not push them out.
[1]: List of services on page 4 (PDF): http://healthyhorns.utexas.edu/IMAGES/pdf/UHS%20Information%...
For example, Google's Map Reduce paper has a section on fault tolerance that goes into detail about how they handle the issue of failing workers:
John Carmack is exploring functional programming[0], and this is Randall Munroe's second functional programming comic in recent weeks.
Guys, this is not a dick-sucking contest.
If you want to parse PE binaries, go right ahead.
If Red Hat wants to deep-throat Microsoft, that's *your* issue. That
has nothing what-so-ever to do with the kernel I maintain. It's
trivial for you guys to have a signing machine that parses the PE
binary, verifies the signatures, and signs the resulting keys with
your own key. You already wrote the code, for chissake, it's in that
f*cking pull request.
Why should *I* care? Why should the kernel care about some idiotic "we
only sign PE binaries" stupidity? We support X.509, which is the
standard for signing.
Do this in user land on a trusted machine. There is zero excuse for
doing it in the kernel.
Linus
[0]: https://lkml.org/lkml/2013/2/21/228I need something that syncs effortlessly, works on Android / Linux / Mac, and is fast. I used Trello and Any.Do for a couple months each, but eventually got fed up with Trello slow performance on mobile and Any.Do's Chrome extension bugs.
In their quest to become MBP replicas, ThinkPads lost their distinguishing features. Now that I've resigned myself to carrying a mechanical keyboard at all times (HHKB), I no longer choose a laptop based on one. I am now exploring alternative laptops after being a loyal ThinkPad customer for 7 years.
Using the fingerprint reader requires adding a ppa and installing a package:
http://www.thinkwiki.org/wiki/How_to_enable_integrated_finge...
* OS X: caps lock -> command
* iTerm: left command (the rebound capslock) -> control
This means in iTerm I need to use the right command key for command shortcuts, but it gives me a convenient control for terminal use. The end result is the same thing as binding caps lock to control on a Linux machine.I'm not sure why my work environment should be optimized for a <1% use case.
However something like this needs to be integrated tightly like iOS and apps need to be aware they may not receive requested permissions. I still use App Ops in Kit Kat and it silently breaks apps all the time. Apps expect to be able request information (e.g. contact details) and crash or stall when they can't.
In that respect, LBE Privacy Guard[2] was a much better alternative up to ICS. It was a privacy firewall that would pop up notifications when protected permissions were being used for the first time. Instead of blocking apps when denied, Privacy Guard would feed it blank data instead. This lead to a better UX and stopped blocked apps crashing.
There needs to be an open source version of LBE Privacy Guard since the current one hasn't been updated over a year and is closed source from a Chinese company.
[0]: https://play.google.com/store/apps/details?id=com.colortiger...
[1]: https://play.google.com/store/apps/details?id=biz.bokhorst.x...
[2]: DO NOT INSTALL, FORCES REBOOT LOOP
https://play.google.com/store/apps/details?id=com.lbe.securi...
On the other hand if he was given a sentence as a minor, he would be released in 2 years when he's 18. That leads to the question why he wasn't tried as an adult, but IANAL.
I'm a big fan of Thinkpad keyboards and have a few USB versions, but finally switched to mechanical keyboards 6 months ago. I still miss the Trackpoint daily though...
To be fair that statement isn't without merit.
I just went through a slew of interviews for new college grad positions this fall. I refused to apply for Java or .NET positions preferring Python / C / C++. This easily eliminated >90% of companies at the career fair.
Fortunately, I was still able to interview at the big 3 (Google, Amazon, MS) and a slew of Bay Area companies.
Amazon's onsite interview was a bit frustrating. All four interviewers ignored my resume and assumed Java expertise, asking the occasional question with Java terminology. When I answered the question reframed in Python / C++ terminology the conversation usually died off.