cs   31125

« earlier    

The Swiss Army Knife of Hashmaps | Arrow of Code
A while back, there was a discussion comparing the performance of using the hashbrown crate (based on Google’s SwissTable implementation1) in the Rust compiler. In the last RustFest, Amanieu was experimenting on integrating his crate into stdlib, which turned out to have some really promising results. As a result, it’s being planned to move the crate into stdlib.

While the integration is still ongoing, there’s currently no blog post out there explaining SwissTable at the moment. So, I thought I’d dig deeper into the Rust implementation to try and explain how its (almost) identical twin hashbrown::HashMap works.
cs  hashing 
yesterday by euler
Programming Language Foundations in Agda
This book is an introduction to programming language theory using the proof assistant Agda.
programming  language  theory  logic  cs 
3 days ago by rybesh
To Pair or Not to Pair: Pair Programming - YouTube | https://www.youtube.com/
Lady's from ThoughtWorks (https://www.thoughtworks.com/), and if that's sounds familiar, that's because they're the Selenium and GoCD people.

Benefits mentioned in the video:
1. knowledge sharing (1 + 1 > 2)
2. combines two modes of thinking: tactical (driver: local optimization), strategic (navigator: big picture)
3. reflection (on the story, value-added, effectiveness vs. # of LOC)
4. helps coder / team focus; discipline around structure of code, strategy, explain and justify choices, avoid rabbit holes
5. "I get more programming productivity" out of reducing time that I'm stuck than from increasing my speed when I'm not stuck."
6. helps practice "true" CI--code review on-the-go; more collective code ownership; >> trunk-based development

Tips:
1. don't do it for 8 hours a day
2. take breaks; it's exhausting
3. even skill levels
4. share feedback (I don't like it when ...), exchange READMEs
5. "the shame of pair programming"; requires vulnerability

Homogeneous teams feel easier, but easy is bad for performance. (ref: https://hbr.org/2016/09/diverse-teams-feel-less-comfortable-and-thats-why-they-perform-better)

The authors are saying that this idea goes against many people's intuition, and often if there's something counter-intuitive, there's a cognitive bias hidden away somewhere, right?

And the one that they're mentioning here is the "fluency heuristic," which says that we prefer information that is more easily processed, and if it's easily-processed, we think that it's more true, more right, more beautiful, and that serves us very well in a lot of situations in software development. We want readable code, easily-processable things. But I don't think that it serves us well if we think that's why we're not doing pair programming.

So, pairing feels hard, but that doesn't mean that it's not good for performance, and also it doesn't have to stay hard.

Ways to make it easier (reduce friction, conflict, anxiety):
1. get the talking going
2. active listening
3. friendly feedback
4. answer why

See also: https://www.youtube.com/watch?v=S92vVAEofes
agile  cs  programming  pairing  pairprogramming  teamwork  collaboration  communication  conference  talk  video 
4 days ago by kme
'Retreat' Is Not An Option As A California Beach Town Plans For Rising Seas : NPR
"At some point you're left with two options. You either organize a retreat, or you do what's called evacuation and you call FEMA because you're flooded out,"
CS  SLR  adaptation 
5 days ago by huntercutting

« earlier    

related tags

101  2014  acm  adaptation  agile  ai  algo  algorithm  algorithms  analog  architecture  archive  art  attribution  audio  badscience  big_o_notation  bigo  blog  bloom  book  books  c++  c  california  careers  categorytheory  climate_costs  climate_impact_reporting  climate_projection  climate_science_study  clojure  code.org  code  coding  collaboration  college  communication  compiler  compilers  complexity  compsci  computer  computers  computerscience  computing  concurrency  conference  constraints  control  course  cplusplus  cs166  cs_time_complexity  css  data  database  datascience  datastructure  datastructures  deep_learning  deeplearning  design  detection  dev  devel  development  distributed  distributedsystems  drought  ds  easternusa  education  essential  fgcs  filter  forkids  fp  free  function  functional_programming  games  github  graphs  hacker-news-comments  hashing  haskell  history  hitchicker  hn  illinois  infographic_good  integers  interview  interviews  iot  java  javascript  js  language  languages  learn  learning  lexer  lisp  load  logic  machinelearning  macros  math  mathematics  maths  matlab  memes  microservices  ml  music  newbie  nov18  onlinecoursework  opencoursework  opensource  operatingsystems  optimization  overload  p=np  pairing  pairprogramming  paper  papers  parsing  patternmatching  pdf  people  philosophy  php  probability  proglang  programmer  programmers  programming  prolog  python  question  questions  read  reading  reference  regex  regexp  research  researchers  resources  school  science  security  sequences  slr  snowfall  software-architecture  software  sound  stationery  statistics  structure  structures  talk  teaching  teamwork  tech  texas  textbook  theory  time_series  tools  tree  trees  tritandb  tutorial  unix  unplugged  uvm  video  wdc  webdev  wildfires  work  信息  论坛  阅读清单 

Copy this bookmark:



description:


tags: