Circle Division Solution - YouTube
An explanation of a neat circle puzzle involving combinatorics, graphs, Euler's characteristic formula and pascal's triangle.
math  geometry  graph-theory  youtube  videos  puzzles 
20 hours ago
Essence of linear algebra preview - YouTube
Geometric intuitions for linear algebra concepts. Top notch explanations and animations.
videos  youtube  linear-algebra  learning  GrantSanderson  3Blue1Brown 
Filip Dujardin Photography
Fantastic yet plausible architectural composites.
art  architecture  photography  photo-gallery 
10 days ago
How bad is the Windows command line really?
I knew Batch was bad from how painful it's been anytime I've touched it, but apparently it's even worse than I thought.
windows  shell 
16 days ago
A libc/POSIX layer for Windows written in Native API.
windows  portability  programming  c  libc  posix 
23 days ago
Shortcat - Keyboard productivity app for Mac OS X
Control the pointer using the keyboard and the Accessibility API.
keyboard  osx  tools 
4 weeks ago
The rEFInd Boot Manager: Methods of Booting Linux
rEFInd's docs are quite good for understanding UEFI and the boot process.
uefi  linux  booting  learning 
4 weeks ago
Keynote by Damian Conway - "Three Little Words" - YouTube
Damian Conway embarks on a path of madness and writes a Perl5-parsing regex so he can define new keywords in pure Perl so he can implement the `class`, `has`, and `method` keywords a la Moose/Perl6 for his Declarative Inside-Out Syntax ("Dios") module for Perl 5.12+.

He also presents a number of other sweet toys and tools at the end, especially Test::Expr, and Data::Dx.
videos  youtube  perl  programming  regex  parsing  oop  talks 
5 weeks ago
Suzanne Sadedin's answer to What do scientists think about the biological claims made in the anti-diversity document written by a Google employee in August 2017? - Quora
Detailed response to James Damore's memo by an evolutionary biologist. The best response I've seen.

"That doesn’t support the claim that gender-liberal societies allow men and women to express innate differences more freely. If that interpretation were correct, women and men should diverge in gender-liberal societies independent of egalitarianism. Instead, men change personality in more egalitarian societies regardless of gender issues; women don’t. How can we explain that? Maybe personality differences are mediated by power. It makes sense that relatively powerless individuals should be more agreeable and socially alert, less assertive, and more fearful/neurotic — that’s simply rational."

"True, gender gaps don’t always imply sexism. But sexism always implies sexism. We don’t need to infer the existence of sexism from the gender gap in software engineering, we can see it in the countless expressions of misogyny we hear from software engineers."

"Whether the binding values are adaptive depends on your situation; claiming that “neither side is 100% correct and both viewpoints are necessary for a functioning society” is vacuous. In evolutionary timescales, there are scenarios when one side is useful, and scenarios when the other is, which is presumably why our neurological architecture predisposes us to both. But in general, Google has done magnificently well without resorting to the binding values — and let’s hope it continues to, because an authoritarian, fanatical and puritanical Google that dehumanizes outsiders would be very, very bad news."
gender  google  society  JamesDamore 
5 weeks ago
On That Google Memo About Sex Differences | Psychology Today
David Schmitt, whose [Sex Differences in Big Five
Personality Traits Across 55 Cultures](http://www.bradley.edu/dotAsset/165918.pdf) paper was cited in James Damore's memo, estimates the magnitude of effects various sex differences could have on the gender gap and endorses both affirmative action and discussion about sex differences.
gender  google  JamesDamore 
5 weeks ago
A Brief History of Women in Computing | Faruk Ateş
Faruk argues that the following factors have kept women out of software development: sexist advertising, aptitude and personality tests, workplace environments, and pop culture portrayals of nerds. He also says such factors could compound to fully explain the gender gap.

He uses the point that India has near gender parity in compsci to argue biology has no bearing on the gender gap and that it's purely cultural. Seeing the gender balance of other fields in India would be a good test of a point Scott Alexander's brought up in [Contra Grant on Exaggerated Differences](http://slatestarcodex.com/2017/08/07/contra-grant-on-exaggerated-differences), that gender differences become more pronounced in more progressive and gender-equal countries.
gender  society  JamesDamore  FarukAtes 
6 weeks ago
Contra Grant On Exaggerated Differences | Slate Star Codex
Scott makes a good case for women's greater interest in working with people over things being a factor in the gender gap in STEM and presents a model that possibly explains why the gender gap that disappeared in other previously male-dominated fields remains in tech.

Also, an observation that seems so obvious but that I've never thought of:

"[A]ny domain with more men than women will see more potential perpetrators concentrating their harassment concentrated on fewer potential victims, which will result in each woman being more harassed."
google  gender  society  ScottAlexander 
6 weeks ago
Preventing server overload: limit requests being processed (evanjones.ca)
Interesting point: if a queue is being used, dropping requests from the head results in lower overall latency than dropping the tail.
scaling  programming 
7 weeks ago
The Evolution of Trust
Beautiful little game showing the implications of the prisoner's dilemma on trust.
games  learning  society 
8 weeks ago
--force considered harmful; understanding git's --force-with-lease - Atlassian Developers
From the manpage:

--force-with-lease alone, without specifying the details, will protect all remote refs that are going to be updated by requiring their current value to be the same as the remote-tracking branch we have for them.
8 weeks ago
Chromium Notes: Ninja, a new build system
How slow Chrome build times on Linux motivated Evan Martin to write Ninja.
build  programming  tools 
8 weeks ago
The curse of too many dimensions | Smash Company
"The common theme of these problems is that when the dimensionality increases, the volume of the space increases so fast that the available data become sparse."
8 weeks ago
fzf 0.16.10
"You might have noticed the performance regression between 0.13.5 and 0.15.9 in the above figure. That's because of the new search algorithm introduced in 0.15.0. The new algorithm, a variant of Smith-Waterman algorithm, requires more computation, but it is guaranteed to find the matching substring with the best score."

Sequence alignment algorithms, commonly used in bioinformatics, are relevant for fuzzy search.
search  algorithms 
8 weeks ago
Radical Book Club: the Decentralized Left | Status 451
Long review of books on political activism.

Some quotes:

My take on Lefty swarming outrage, for example, is that the tactic is swarming outrage, but the strategy is operant conditioning. If there’s a Halloween party where white people wore sombreros or something, people get uncomfortable before the Lefties even react, not necessarily because they agree with the Lefty opinion but because they’re anticipating the unpleasant Lefty reaction.


One mistake people make is falling in love with a particular tactic (streetfighting, for example). Smucker says: among tactics, message, and movement, be least attached to tactics. Tactics don’t define you. The movement is what matters.


The term “affinity group” term comes from Leftist anarchists in Spain, who organized their guerrillas in units based on small groups of close friends who knew each other very well.
What Morea realized: on top of their other benefits, affinity groups (which he likened to “a street gang with an analysis”) could be useful for avoiding conspiracy charges — not just because they’re hard to break into, but because there are so many conspiracies that they’re impossible to untangle.


This got a lot of media coverage (which they’d planned out, of course). Their approach, hugely influential, was called “prefigurative direct action.” What does “prefigurative” mean? It means your protest action foresees the world you plan to win. For example, trees growing instead of a nuclear plant. An earlier example of prefigurative direct action: black people sitting at a segregated lunch counter. The act puts people who witnesses it into an integrated future.


But not all of the protestors were roleplaying protestors, or cops. No: some were tasked with roleplaying average people watching the protest on TV, and giving feedback on how each option looked. Which made the protestors realize that to normies, violence wouldn’t play so hot.


So if you’ve ever wondered why Occupy had those endless discussions: that’s why. It’s not just anarchism. It’s Quakerism. Yeah: much of the modern radical Left is essentially made up of secular Quakers who run decision-making like Quaker meetings. By “secular Quakers,” I don’t mean literal Quakers — I mean they’re basically running Quaker meetings without knowing it! This blew my dang mind.


After Ferguson October, Ferguson Action, Black Lives Matter, and other national networks coordinated with each other in conference calls for weeks. When the grand jury announced officer Darren Wilson was not being indicted for shooting Michael Brown, they were ready. They’d been ready. When the grand jury’s verdict was announced in late November, plans were already in place and awaiting the go signal.

Result: within 48 hours of the verdict, there were protests in 170 cities. THAT IS WHAT EFFECTIVE ORGANIZATION CAN DO.


If the only people you talk to are your active allies, and you make your whole subculture increasingly self-referential and geared toward active allies, YOU’RE DOING IT WRONG. If you treat everybody in every other category — passive allies and neutrals included — as if they’re all active opponents and you’re the righteous few, YOU’RE DOING IT WRONG. Per Joshua Kahn Russell, “Both of these approaches virtually guarantee failure. Movements win not by overpowering their active opponents but by shifting the support out from under them.”
politics  management  via:JuliaGalef 
8 weeks ago
Survey of Rounding Implementations in Go · Matt Jibson
Rounding floats is hard. Also, Go 1.10 will include math.Round.
golang  programming  floating-point 
10 weeks ago
Solving the Romeo and Juliet Problem - 250bpm
Until now forging alliances through marriage always seemed silly to me, but the ability to align incentives across groups isn't to be scoffed at.
10 weeks ago
The Atomic Bomb Considered As Hungarian High School Science Fair Project | Slate Star Codex
An incredible number of 20th century geniuses were Ashkenazi Jews, who are particularly predisposed to genetic disorders correlated with increased IQ.
science  genetics  ScottAlexander 
june 2017
The End Of Object Inheritance & The Beginning Of A New Modularity - YouTube
An analysis of why composition produces better designs than inheritance.

Compared to inheritance, composition:
- reduces the complexity of relationships (bidirectional to unidirectional)
- exposes structure, since types are more explicit and unidirectional relationships form obvious layers
- exposes/limits violations of abstraction (Make illegal behavioural interactions impossible.)


- Make small methods and objects, minimizing relationships and favouring unidirectional relationships.
- Write interfaces to be natural from the perspective of the implementing module, not the client's. Stateless adapters to massage data into pleasing shapes for other modules are cheap.
youtube  oop  videos  programming  design  via:Glyph 
june 2017
Big Data with Golang Instead of MapReduce
Using Go to process a moderately large volume of data on a single beefy machine, instead of provisioning a Spark or Hadoop cluster.
golang  analytics  hadoop  comparison 
may 2017
Why Optimistic Merging Works Better - Hintjens.com
Not sure I'm convinced, but if it worked for ZeroMQ...
management  programming  community 
may 2017
Five Factor Testing - Custom Web & Mobile Development Company | DevMynd
1. Verify the code is working correctly
2. Prevent future regressions
3. Document the code’s behavior
4. Provide design guidance
5. Support refactoring

"This isn’t a to-do list; it’s a framework for discussing test strategy."

"Our traditional ways of discussing tests are largely based on morality and shame, and are not very useful."
programming  testing  SarahMei 
may 2017
youzicha — gdanskcityofficial: heaveninawildflower: ...
Bird illustrations by Kono Bairei.

Wikipedia: "His work included flower prints, bird prints, and landscapes, with a touch of western realism."
art  birds  japan 
may 2017
The tragedy of 100% code coverage | IG Labs

So is 100% code coverage worth​​ pursuing?

Yes, everybody should achieve it … in one project. I am of the opinion that you have to go to the extreme to know what the limit is.

We already have plenty of experience of one extreme: projects that have 0 unit tests, so we know the pain of working on those. What we are usually lacking is the experience in the other extreme: projects where a 100% code coverage is enforced and everything is TDD. Unit testing (especially the test first approach) is a very good practice but we should learn which tests are useful and which ones are counterproductive.
programming  testing 
may 2017
Nuxi CloudaABI
Dependency injection for Unix applications
containers  via:campbellr 
may 2017
Modern Perl 4e Table of Contents
It's so long since I've read Programming Perl or Learning Perl that I can't make a fair comparison, but Modern Perl was exactly what I wanted to (re?)learn it.
books  perl  programming 
april 2017
Can Science Tell Us Right From Wrong? - YouTube
A panel of scientists and philosophers debate the question. Includes Sam Harris, Lawrence Krauss, Steven Pinker, Patricia Churchland, Roger Bingham, Peter Singer, and Simon Blackburn.
philosophy  ethics  science  videos  youtube  SamHarris  StevenPinker 
march 2017
« earlier      
acm agile ai alankay alcohol algorithms analytics anatomy android animation ansible api apl apple apps architecture art assembly audio automation averypennarun backup bash benchmark bitcoin book books boxing browser bsd build business c c++ camera canada cap career cgpgrey charting chat chrome cli clojure code-review coffee collaboration color comedy comic comics common-lisp comparison compatibility compilers compression compsci concurrency container containers cooking crime critique cryptography cs css culture cycling d3 danluu database databases dating debug debugging dedupe depression design desktop development devops dinner distributed distro diversions django dns docker documentation drm dtrace economics editor editors electronics emacs energy engineering environmentalism erlang error-handling estimating estimation ethics expect failure feminism fighting filesystem filesystems fitness food foss functional funny games gaming gc gdb gender genetics gifs gifts git github gnu golang google gpg graphics grep guide hadoop hardware haskell health hiring history hosting howto html http humor images init interview interviews iterators jamesdamore java javascript json k kafka keyboard language latex lauriepenny learning library linear-algebra linguistics linux lisp logging logic mac machine-learning maciej-ceglowski macros make management manufacturing markdown maryrosecook math meetings memory messaging metaprogramming microservices microsoft middleware midori mobile monitoring music mysql naming networking nginx nlp nosql ocaml oop openstack operating-systems ops optimization oracle os osx packaging painting parsing password patterns pdf performance perl philosophy photo-gallery photography pinboard plan9 podcast politics portability posix postgres postmortem powershell practices presentations probability productivity products profiling programming prolog prose psychology puzzle puzzles python queues quotes react recipes refactoring reference regex reliability religion remote research rest review reviews richhickey robots ruby running rust scaling science scifi scottalexander screen scrum search security seo sex shell signals slides smb soa society software solaris sorting sports sql squats ssh standards statistics stock story style sync sysadmin talks tcl tdd teamwork terminal testing text-processing themorningpaper timeseries tmux tools toys troubleshooting tutorial type-systems typography ui unclebob unix ux vcs versioning via:akerboom via:boingboing via:campbellr via:drmaciver via:jwz via:onethingwell via:popular via:reddit via:starslatecodex via:torboto video videos vim vimeo virtualenv visualization web webgl weightlifting wheel window-manager windows women writing wwii x11 xml yossikreinin youtube zeromq

Copy this bookmark: