look + programming   513

Patterns Failed. Why? Should We Care? by Brian Marick – Deconstruct
Why did patterns fail? Argues that they were too simple (like "Bed" -- a solved problem in architecture).
programming  architecture  pattern  talk  presentation 
october 2018 by look
GopherCon 2018: Julia Ferraioli - Writing Accessible Go - YouTube
Good talk about code style to make code more accessible to those with visual disabilities.
programming  golang  disability  accessibility  style 
october 2018 by look
Select Star SQL
Interactive book to learn SQL. Uses SQLite compiled to JavaScript to run in the browser.
book  tutorial  programming  sql 
september 2018 by look
Why Rust's error handling is awesome
Includes example of failure crate to add context.
programming  rust  error 
april 2018 by look
The Codex » I Do Not Like Go
Well written critique of Go's design, hitting the usual points.
golang  programming  critique 
february 2018 by look
Don't Get Bitten by Pointer vs Non-Pointer Method Receivers in Golang | I care, I share, I'm Nathan LeClaire.
Defining methods on Go structs with and without pointers.

"Reasons why you would want to pass by reference as opposed to by value:

- You want to actually modify the receiver (“read/write” as opposed to just “read”)
- The struct is very large and a deep copy is expensive
- Consistency: if some of the methods on the struct have pointer receivers, the rest should too. This allows predictability of behavior"
golang  programming 
january 2018 by look
Units of Measure (F#) | Microsoft Docs
F# has a nice feature where number types can be associated with a unit of measure. The compiler then prevents common errors (e.g. multiplying a inches by centimeters).
fsharp  programming 
september 2017 by look
(unlikely to be) The Last Word on Interviewing for a JavaScript Job
"Quite frankly, whiteboard problems in interviews are minefields. When asked a programming question, an interviewer might want to see any of the following mutually exclusive things:

1. Demonstrate that you can put together any old basic thing (“FizBuzzing”).
2. Demonstrate that you understand algorithm fundamentals like space and time requirements, mutability, state, and so forth.
3. Demonstrate the kind of code you’d write in production for colleagues to understand and maintain.
4. Demonstrate that you are current and familiar with the latest developments in your toolset, regardless of whether you are employing them in production.

You really can’t answer all of these in one code snippet. If the interviewer is just trying to quickly weed out the bullshitters, they don’t want you to factor the code and write tests for each piece. But if they want to see how you write code for production, they do. If they want to know that you’re keeping up to date, they might want to see you demonstrate your knowledge of some new language features.


Assume that most people are good at their primary job, and happen to be less than amazing at this part-time necessity of interviewing or being interviewed."
hiring  interview  programming  career 
august 2017 by look
graydon2 | "What next?"
Creator of Rust muses on possible advances in general purpose programming languages.
programming  language  future 
august 2017 by look
HTTP requests in Python - michaelgalloy.com
"The “Zen of Python” provides the basic philosophy of Python. From PEP 20:

There should be one — and preferably only one — obvious way to do it.

I doubt there is a single area in Python that violates this more than making a simple HTTP request. Python provides at least six builtin libraries to do this: httplib, httplib2, urllib, urllib2, urllib3, and pycurl. There are several reviews comparing the various libraries."
python  programming 
july 2017 by look
Iterators and Streams in Rust and Haskell
Deep dive on performance of idiomatic and non-idiomatic Rust and Haskell code.
programming  haskell  rust  performance 
july 2017 by look
How do you cut a monolith in half? — programming is terrible
"Using a message broker to distribute work is like a cross between a load balancer with a database, with the disadvantages of both and the advantages of neither."
programming  architecture  distributed  microservice 
june 2017 by look
#NoTDD – Eric Gunnerson's Compendium
"Instead of spending time teaching people TDD, we should instead be spending time teaching them more about design and especially more about refactoring, because that is the important core skill."
tdd  programming  testing  design  refactoring 
june 2017 by look
Scala Collections Tips and Tricks
Good cookbook of Scala collection operations and what is most idiomatic.
programming  scala 
june 2017 by look
Build your own Command Line with ANSI escape codes
Escape codes. Example in Python but works in any language.
cli  programming  shell  terminal  python 
june 2017 by look
Appcanary - Simple Ain't Easy, but Hard Ain't Simple: Leaving Clojure for Ruby
'“Simple != Easy” Is One Of The Most Toxic Ideas Ever Introduced To Programming'
programming  clojure  ruby  culture 
june 2017 by look
Lessons Learned – Scala Design Failure: Implicit Numeric Conversions
Implicit conversion of numeric types is broken and can't be disabled.
programming  scala  gotchas  conversion 
may 2017 by look
Functional Ciphers in Ruby
Example of using infinite lazy enumerator in Ruby.

"Enumerator is lazy-ish.... However, using a method such as map that acts on every item will never return because this is an infinite series. We will need true laziness to get this one to work."
ruby  functional  programming 
may 2017 by look
Programming in the Point-Free Style – Eirik Tsarpalis' blog
"I claim that the [non-point free] implementation provides the simpler and more idiomatic solution, for many reasons:

- it’s easiest to read and understand.
- it assigns a name to the argument, which is exposed as part of the type signature.
- it provides the most efficient implementation, avoiding gratuitous allocations/invocations of lambda objects.
- it allows setting of breakpoints, a crucial ability when debugging large codebases."
programming  functional  fsharp 
april 2017 by look
You Don't Need Referential Transparency - Hypothesis
The only requirement that property based testing has on the side effects your tests may perform is that if your test has global side effects then it must be able to roll them back at the end.

If that sounds familiar, it’s because it’s exactly the same requirement every other test has. Tests that have global side effects are not repeatable and may interfere with other tests, so they must keep their side effects to themselves by rolling them back at the end of the test."
testing  programming  software  python 
april 2017 by look
/usr/sbin - Selling Monads
"I think the code reuse justification is greatly undersold, and it’s been undersold to such an extent that many languages that adopt abstractions like Monad often don’t do it in a way that allows for code reuse. Scala is an example of this, where many classes have a flatMap method, but this method is not implemented as part of any interface. This loses an important benefit of general interfaces like Monad and only leads to further confusion."
functional  programming  haskell  monad 
april 2017 by look
Crafting Interpreters
Build your own programming language.
programming  book  language 
march 2017 by look
« earlier      
per page:    204080120160

related tags

a/b  accessibility  actionscript  activerecord  adobe  advice  agile  air  ajax  algorithm  amazon  analytics  angularjs  api  appengine  apple  architecture  arel  async  asynchronous  authentication  authorization  autotest  backbone  bash  beautifier  bestpractices  binding  blog  bloomfilter  book  browser  bug  burnout  business  c  c#  caching  captcha  career  cassandra  cgrect  charting  charts  chef  cli  client  clojure  clojurescript  clustering  cobol  cocoa  codereview  coding  coffeescript  collaboration  comet  comic  community  computer  computerscience  computervision  concurrency  condition  configuration  console  constraints  conversion  coredata  couchdb  course  critique  crockford  crop  cryptography  css  culture  data  database  datastructure  date  debugging  decay  decompressor  delayed_job  deployment  design  development  devops  disability  distributed  documentation  dotnet  dsl  dtrace  dump  dvcs  ebook  ec2  ecto  editor  education  elasticsearch  elisp  elixir  emacs  email  en  encoding  encryption  engineering  engineyard  english  entities  entrepreneurship  erlang  error  essay  evidence  evolution  exception  exercise  exif  extension  extraction  facebook  facebookconnect  facebooker  facerecognition  fail  filtering  firefox  flash  flex  float  focus  font  frame  framework  free  fsharp  functional  funny  future  gallery  game  gem  genetic  geocoding  geolocation  ggplot2  git  golang  google  gotchas  gpl  grammar  graphics  graphing  grid  haskell  hg  highlight  hiring  history  hotcocoa  hotkeys  html  http  humor  idiom  ieee  image  incanter  infographics  injection  interview  ios  iphone  ipython  java  javascript  join  jpeg  jquery  json  julia  jvm  kay  keyboard  keynote  language  langugage  learning  library  lighttpd  linearalgebra  linter  lisp  list  load  loader  logic  longpolling  lua  lucene  machinelearning  macosx  macruby  management  maps  math  mathematics  memcached  memcachedb  memory  mercurial  messaging  methodology  microservice  mit  ml  mobile  mock  mode  monad  money  monitoring  monoid  mooc  mozilla  multiple  mysql  namespace  naming  nginx  nodejs  nosql  notes  oauth  objective-c  objectmother  objectoriented  ocaml  om  opencv  opensearch  opensource  operations  optimization  orbited  orm  pack  pairprogramming  parallel  parser  pattern  patterns  peerreview  performance  perftools  perl  persistence  plugin  popularity  postgresql  presentation  probability  processing  productivity  profile  profiling  programming  project  property  prototype  proxy  push  python  query  queue  r  race  rails  rails3  rant  rating  recognition  redis  refactoring  reference  regexp  repl  research  resilience  rest  rspec  ruby  rust  s3  scala  scaling  scheme  school  scip  script  search  security  serialization  service  shell  shopify  shortcuts  sinatra  slideshow  slime  snippet  socialmedia  socket  softdelete  software  solr  sorting  spam  specification  sql  ssh  startup  static  statistics  stm  streaming  style  sudoku  super  svd  swank  swift  syntax  sysadmin  systems  table  talk  tcl  tcp  tdd  teaching  template  terminal  testdatabuilder  testing  textanalysis  textmate  themes  theory  thor  thread  three20  time  timeout  timezones  tips  tokyocabinet  tool  tutorial  twitter  typing  ui  uiview  unicode  unix  unpack  upgrade  usability  validator  vcs  video  virtualization  vision  visualization  web  webservices  widget  window  wordpress  workflow  xmpp  yield  yui 

Copy this bookmark: