jonschoning + programming   763

The Undeleted Blog of Clinton Forbes: The Universal Standard Library
The CSIRO (Australia) has calculated in a 2010 study that the amount of time wasted annually by the estimated six million professional software developers world-wide due to inconsistent standard library naming is equal to the GDP of Portugal [citation needed].
programming 
yesterday by jonschoning
javascript - How do I get started with Node.js - Stack Overflow
Tutorials

Node.js guide
Node tuts
Videos

Introduction to Node.js with Ryan Dahl
Node.js: Asynchronous Purity Leads to Faster Development
Parallel Programming with Node.js
Server-side JavaScript with Node, Connect & Express
Books

The Node Beginner Book
Mastering Node.js
Up and Running with Node.js
Node.js in Action
Blogs

Ryan Dahl's Node blog
How To Node
DailyJS
Nodejitsu blog
Podcasts

NodeUp
JavaScript resources

Crockford's videos (must see!)
Essential JavaScript Design Patterns For Beginners
JavaScript garden
JavaScript Patterns book
JavaScript: The Good Parts book
Node Modules

Wiki List on Github/Joyent/Node (start here last!)
Search for registered node.js modules
javascript  node  nodejs  programming 
9 days ago by jonschoning
Rands In Repose: Please Learn to Write
I have this thing I want to to build.
I have a finite set of tools that enforce a set certain of rules I must follow.
And… go.
creativity  programming 
14 days ago by jonschoning
Big O notation - Wikipedia, the free encyclopedia
Notation Name Example
constant Determining if a number is even or odd; using a constant-size lookup table or hash table
double logarithmic Finding an item using interpolation search in a sorted array of uniformly distributed values.
logarithmic Finding an item in a sorted array with a binary search or a balanced search tree as well as all operations in a Binomial heap.
fractional power Searching in a kd-tree
linear Finding an item in an unsorted list or a malformed tree (worst case) or in an unsorted array; Adding two n-bit integers by ripple carry.
linearithmic, loglinear, or quasilinear Performing a Fast Fourier transform; heapsort, quicksort (best and average case), or merge sort
quadratic Multiplying two n-digit numbers by a simple algorithm; bubble sort (worst case or naive implementation), Shell sort, quicksort (worst case), selection sort or insertion sort
polynomial or algebraic Tree-adjoining grammar parsing; maximum matching for bipartite graphs

L-notation or sub-exponential Factoring a number using the quadratic sieve or number field sieve
exponential Finding the (exact) solution to the travelling salesman problem using dynamic programming; determining if two logical statements are equivalent using brute-force search
factorial Solving the traveling salesman problem via brute-force search; generating all unrestricted permutations of a poset; finding the determinant with expansion by minors.
algorithms  complexity  programming  math 
14 days ago by jonschoning
Superfeedr : Protocols over APIs
Another solution is to favor protocols over APIs. To over-simplify things, an API is just a combination of uni-laterally decided upon protocol and an endpoint
api  programming 
15 days ago by jonschoning
Learn Code The Hard Way -- Books And Courses To Learn To Code
I'm going to give you a piece of advice when you're trying to learn something new: Never listen to people who try to make beginners feel like losers. For whatever reason, some people get off on making beginners feel like they're worthless for attempting something. Maybe it's because they feel threatened by new entrants, or maybe they were picked on as kids and this makes them feel powerful. Who knows, but generally if they're trying to make you feel like a loser because right now you're not that good at something, then just ignore them. They suck.

Finally, I'd like to tell you that the best way to get good at something is to not attach your identity to the activity. I do say I am a programmer, but really I mean I'm a person who writes code (and does a bunch of other stuff). The skill of coding is not who I am, it's just one of the many things that makes me the complex interesting person I am. Who am I? I don't know, or I at least can't describe it in words.

If you do that, and learn to code for your own reasons, then you'll be just fine and get out of it what you put into it. If you attach your identity to being a programmer, then changes like "everyone can code" will lead to resentment because you are no longer unique.
code  education  programming 
15 days ago by jonschoning
Rubular: a Ruby regular expression editor and tester
Regex quick reference
[abc] A single character of: a, b or c
[^abc] Any single character except: a, b, or c
[a-z] Any single character in the range a-z
[a-zA-Z] Any single character in the range a-z or A-Z
^ Start of line
$ End of line
A Start of string
z End of string
. Any single character
s Any whitespace character
S Any non-whitespace character
d Any digit
D Any non-digit
w Any word character (letter, number, underscore)
W Any non-word character
b Any word boundary character
(...) Capture everything enclosed
(a|b) a or b
a? Zero or one of a
a* Zero or more of a
a+ One or more of a
a{3} Exactly 3 of a
a{3,} 3 or more of a
a{3,6} Between 3 and 6 of a
programming  regex  ruby  tools 
15 days ago by jonschoning
Welcome | Flask (A Python Microframework)
Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. And before you ask: It's BSD licensed!
flask  python  programming 
21 days ago by jonschoning
Backus–Naur Form - Wikipedia, the free encyclopedia
In computer science, BNF (Backus Normal Form or Backus–Naur Form) is one of the two [1] main notation techniques for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocol; the other main technique for writing context-free grammars is the van Wijngaarden form. They are applied wherever exact descriptions of languages are needed: for instance, in official language specifications, in manuals, and in textbooks on programming language theory.
Many extensions and variants of the original Backus–Naur notation are used; some are exactly defined, including Extended Backus–Naur Form (EBNF) and Augmented Backus–Naur Form (ABNF).
programming  syntax  contextfree  grammar 
22 days ago by jonschoning
Coding Horror
This is all your app is: a collection of tiny details.
This is still one of my favorite quotes about software. It's something we internalized heavily when building Stack Overflow. Getting the details right is the difference between something that delights, and something customers tolerate.

Your software, your product, is nothing more than a collection of tiny details. If you don't obsess over all those details, if you think it's OK to concentrate on the "important" parts and continue to ignore the other umpteen dozen tiny little ways your product annoys the people who use it on a daily basis – you're not creating great software. Someone else is. I hope for your sake they aren't your competitor.

The details are hard. Everyone screws up the details at first, just like Petmate did with the first version of this automatic feeder. And it's OK to screw up the details initially, provided …

you're getting the primary function more or less right.
you're listening to feedback from the people who use your product, and actively refining the details of your product based on their feedback every day.
blog  coding  development  software  programming 
23 days ago by jonschoning
What Makes a Good Programmer
1. Hits deadlines and if they are missing them they tell you quickly and openly that they cannot make it in the alotted time. It is more about honesty as to where a developer is in a task. I have never seen anyone say you will have to find a way to do it in the time, resources, etc are always shuffled to accommodate these kinds of issues. I always reckon one major task will be hopelessly under-scoped and another over-scoped. Moving resources around is rarely an issue.
2. Hits the spec to completeness. Most bugs are not quality flaws, instead they are spec completion issues. Timelines in projects are usually so short and compressed that hitting a spec to perfection in the time a task is intended means that bugs that are found are not about spec completion issues but real quality flaws; ie bugs.
3. Is productive in new technologies quickly. In the last project we did the team used the technologies; Flex, Actionscript, PureMVC, Java, Javascript, Spring, Struts, JSP tags, DHTML, Dojo, SVG, FXG, XML, E4X, etc, etc. Once you go into maintenance mode and bug fixing; any one person on the team may have to work in any or all of those areas even if they are not familiar with it. Being able to do quality work in new technologies is an under-rated skill.
4. No hand holding. One of the things I dislike is when someone is in an area of code and knows that something needs to be done, but are hesitant to go and make the change because of a fear of breaking something, or not wanting to step on someone else's toes, or they lack confidence to make the change, or they would rather someone else do it which is usually impossible when everyone is busy. I always say, "If you need it, go ahead and do it." I prefer developers with that kind of confidence who will modify code at any level of the technology stack. That isn't everyone's cup of tea but developers tend to harden up quickly and grow in confidence when they are given that expectation and responsibility.
programming 
28 days ago by jonschoning
An IDE is not enough
so long as we are programming in decendants of assembly language we will continue to program in descendants of text editors.
programming 
4 weeks ago by jonschoning
Blub Paradox
An idea developed in an article BeatingTheAverages by PaulGraham (http://paulgraham.com/avg.html). He argues that some languages are more powerful than others and posits a hypothetical middle of the road language called Blub. He describes the gist of the paradox thus:
As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub.
Most people without the experience of them can't see language features as really useful things. I know an otherwise extremely talented programmer who can't see the value of garbage collection and thinks it simply encourages "lazy programming" even as he struggles to find the right location to delete objects shared and referenced by many others. Are you claiming to be such a renaissance person as to be able instantly to recognize the value and worth of every new programming feature to which you are exposed?
programming 
4 weeks ago by jonschoning
« earlier      

related tags

3D  3Dprinting  agile  algorithm  algorithms  amd  android  anemic  animation  anti-pattern  api  apple  architecture  art  asp.net  aspnet  async  audio  autofac  azure  backbone  backbonejs  backup  bash  benchmark  best-of  bitshifting  blog  book  bookmarklet  books  browser  bug  business  c  c#  c++  cache  caching  career  cat  chart  chicago  circa  clojure  closure  cloud  cocoa  code  coding  color  commonjs  community  comparison  compiler  complexity  compression  compsci  contextfree  cookie  coroutine  creativity  css  culture  cv  d3  dart  data  database  datastructure  datetime  debugging  demoscene  deployment  design  dev  developers  development  devops  distributed-programming  django  dotnet  dsl  duck  dynamic  ebook  editor  editorial  education  emacs  enumerable  enumerator  epub  erlang  event  exceptions  exercise  facebook  faq  feminism  finance  firebug  firefox  flask  forum  framework  free  fsharp  fun  functional  funny  game  games  gc  gist  git  github  github-watch  go  google  googlereader  grammar  graphic  graphics  growl  gtd  hack  hackernews  hacking  hardware  haskell  history  hn  hosting  html  html5  http  hungarian  ide  ifttt  inheritance  inspiration  instagram  interview  io  ioc  ios  iptables  irc  japan  java  javascript  job  jobs  jquery  js  json  kata  kinect  language  languages  latex  law  lecture  library  life  light  linguistics  links  linux  lisp  list  listview  lit  llvm  logging  lua  mac  machine-learning  machinelearning  machinelearningblog  mail  mailinator  make  map  mapping  maps  math  matlab  max  memory  meteor  microsoft  minecraft  mit  ml  mobile  monad  music  mvc  nasa  ndesk  news  noaa  node  nodejs  nosql  numpy  octave  oo  oop  openkinect  opensource  options  orm  osx  pairprogramming  paradigm  parallel  parallelism  parser  parsing  pdf  performance  photo  pi  plugin  podcast  poetry  politics  postgres  powershell  presentation  processing  productivity  programming  proxy  pycon  python  quadtree  quotes  r  rails  rank  razr  reddit  redis  reference  regex  repl  repo  repository  requirejs  rest  rfc  robot  rss  rsync  ruby  scala  scalability  school  science  scip  screencast  scrips  scripting  scriptloader  search  security  sed  semicolon  server  sharepoint  shell  sitepoint  sms  socat  social  sociology  socketio  software  solr  sorting  source  spdy  sql  sqlserver  stackexchange  stackoverflow  startups  statemachine  statistics  style  syntax  tech  testing  theory  tiboe  tmux  tool  tools  tree  tutorial  twilo  twitter  type  unicode  unix  ux  video  vim  visualization  visualstudio  vs  webapp  webgl  websockets  websvc  wiki  windows  winrt  wishlist  work  workflow  world  wrox  wtf  youtube  zedshaw 

Copy this bookmark:



description:


tags: