jm + programming   27

An IDE is not enough
Very thought-provoking response to that 'Light Table' demo which went round the aggregators a couple of weeks back. 'The fundamental reason IDEs have dead-ended is that they are constrained by the syntax and semantics of our programming languages. Our programming languages were all designed to be used with a text editor. It is therefore not surprising that our IDEs amount to tarted-up text editors. Likewise our programming languages were all designed with an imperative semantics that efficiently matches the hardware but defies static visualization. Indeed it would be a miracle if we could slap a new IDE on top of an old language and magically alter its syntactic and semantic assumptions. I don’t believe in miracles. Languages and IDEs have co-evolved and neither can change without the other also changing. That is why three years ago I put aside my IDE work to focus on language design. Getting rid of imperative semantics is one of the goals. Another is getting rid of source text files (as well as ASTs, which carry all the baggage of a textual encoding minus the readability). This has turned out to be really really hard. And lonely – no one wants to even talk about these crazy ideas. Nevertheless I firmly believe that so long as we are programming in decendants of assembly language we will continue to program in descendants of text editors.' (via Chris Horn)
via:cjhorn  ide  programming  coding  programming-languages  semantics  syntax  source-code  text 
12 days ago by jm
The day I tried teaching primary school kids to code (and succeeded)
via Niamh -- 'I learned a bit about teaching at primary level and I learned that it is pretty fun although REALLY hard work! I learned that if you make a complex subject engaging kids will learn it and are probably capable of a great deal more than they are often given credit for. The youngest kids on the day were year four which is aged 8-9 and although they were definitely more able than some of their peers, you can expect that by year 5-6 (aged 9-11) probably a lot of the kids could follow it and indeed learn to code.'
coding  education  kids  programming  teaching  school 
9 weeks ago by jm
Near Neighbor Search in High Dimensional Data [PDF]
Detect near-duplicates; would be good for future Razor-like efficient near-duplicate detection. (slides)
slides  algorithms  email  performance  programming  near-neighbour-search  search 
february 2012 by jm
The best "why estimation is hard" parable I've read this week
'A tense silence falls between us. The phone call goes unmade. I'll call tomorrow once my comrade regains his senses and is willing to commit to something reasonable.'
agile  development  management  programming  teams  estimation  tasks  software 
february 2012 by jm
SiliconRepublic story on CoderDojo
'it's both incredible and poignant that a voluntary movement that was born in Ireland during the summer is about to go international. Coder Dojo, the brainchild of 19-year-old entrepreneur and programmer James Whelton from Cork and tech entrepreneur Bill Liao, began as a Saturday morning club for kids to teach each other software programming. It has grown into a national movement up and down Ireland, a place where kids and their parents can go and learn to write software code in a friendly environment. The first UK Coder Dojo was held in London only last week and other countries in Europe are clamouring to get the initiative started there, too.' Good on them!
coderdojo  programming  coding  kids  children  teaching  education  tech  ireland 
december 2011 by jm
eclim (eclipse + vim)
'Eclim is less of an application and more of an integration of two great projects. The first, Vim, is arguably one of the best text editors in existence. The second, Eclipse, provides many great tools for development in various languages. Each provides many features that can increase developer productivity, but both still leave something to be desired. Vim lacks native Java support and many of the advanced features available in Eclipse. Eclipse, on the other hand, still requires the use of the mouse for many things, and when compared to Vim, provides a less than ideal interface for editing text. That is where eclim comes into play. Instead of trying to write an IDE in Vim or a Vim editor in Eclipse, eclim provides an Eclipse plug-in that exposes Eclipse features through a server interface, and a set of Vim plug-ins that communicate with Eclipse over that interface. This functionality can be leveraged in three primary ways, as illustrated below.'
eclipse  java  programming  software  vim  editors  refactoring 
november 2011 by jm
Scala: The Static Language that Feels Dynamic
a good intro from Bruce Eckel. We need a good excuse to deploy some Scala ;)
scala  actors  java  language  programming  jvm  coding 
june 2011 by jm
Python Idioms and Efficiency Suggestions
will have to run this by our resident Pythonistas in work as a good set of guidelines
idioms  programming  python  reference  tips  via:hn 
june 2011 by jm
Dr. Neal Krawetz explains perceptual hashing
ie. TinEye and other "images like this one" search engines. nice explanation
algorithm  images  analysis  programming  dct  hashing  perceptual-hash  tineye  via:hn  image 
june 2011 by jm
pyflakes.vim - on-the-fly Python code checking in Vim
Vim gets a good IDE feature. 'highlights common Python errors like misspelling a variable name on the fly. It also warns about unused imports, redefined functions, etc.'
ide  vim  python  programming  via:preddit  coding 
april 2011 by jm
Silver Lining
'an application packaging format, a server configuration library, a cloud server management tool, a persistence management tool, and a tool to manage the application with respect to all these services over time.'  interesting, possibly too Pythonic
python  programming  dist  deployment  packaging  from delicious
april 2011 by jm
Bulletproof Node.js Coding
lots of patterns to write safe node.js code.  Pretty daunting, to be honest
javascript  node.js  coding  programming  async  from delicious
march 2011 by jm
The Effectiveness of Test Driven Development (TDD)
huh. Test-driven development is slower than traditional write-first-test-at-the-end development, but it results in less bugs. Grokcode theorise that its big win is amortising the cost of testing throughout the product iteration, hence reducing the temptation to skip testing when the crunch phase happens
tdd  programming  testing  qa  coding  from delicious
december 2010 by jm
"if slalom"
a great name for a common "code smell" of too much indentation, calling for merciless usage of Extract Method (via Aman)
via:akohli  code-smells  refactoring  if-slalom  programming  funny  if-else  indentation  from delicious
september 2010 by jm
/~colmmacc/ » Prime and Proper
algorithm to perform set membership tests on enumerated sets quickly and memory-efficiently, using multiplication by primes. Nice trick
hacks  colmmacc  prime-numbers  set-membership  bloom-filters  bignums  algorithms  programming  from delicious
september 2010 by jm
REPLs suck, I want something block oriented
good opinion piece; I agree, REPL isn't a usable approach for block-oriented languages
languages  repl  programming  ruby  hacking  coding  block-oriented  from delicious
july 2010 by jm
Interpolation search
neat search algo, via Jeremy Zawodny; can be more efficient than binary search (O(log log n)), for indexed, ordered arrays, at the cost of more computation per iteration
algorithms  programming  search  via:jzawodny  from delicious
july 2010 by jm
Mea Culpa
'Programming is an embarrassment compared to other fields of engineering and design. Our mainstream culture is one of adolescent self-indulgence. It is like something from Gulliver’s Travels, with the curly-bracketeers vs. the indentationites vs. the parenthesesophiles. The only thing that everyone seems to agree upon is how stupid all the other programmers are. Try googling “stupid programmers”. We have met the enemy, and he is us.' Fantastic post via Jan Lenhardt
via:janl  coding  programming  software  philosophy  languages  lisp  elitism  from delicious
may 2010 by jm
Refuctoring
'the process of taking a well-designed piece of code and, through a series of small, reversible changes, making it completely unmaintainable by anyone except yourself' (via Mozai)
funny  refuctoring  via:Mozai  coding  tests  tdd  programming  software  from delicious
may 2010 by jm
The Rise and Fall of the Hobbyist Game Programmer
great article on the 80's one-man shareware game hobbyists (via Walter)
1980s  games  history  programming  nostalgia  geek  gaming  hobbies  coding  6502  c=64  from delicious
november 2009 by jm
codepad.org
'an online compiler/interpreter, and a simple collaboration tool. It's a pastebin that executes code for you. You paste your code, and codepad runs it and gives you a short URL you can use to share it.' supports C, C++, D, Haskell, Lua, OCaml, PHP, Perl, Python, Ruby, Scheme, and Tcl code; isolated by a geordi-based supervisor, in turn running inside a firewalled virt, in turn running inside a firewalled dom0. nice work!
codepad  vm  jails  infrastructure  security  via:waxy  c  languages  programming  sandbox  pastebin 
august 2009 by jm
iPhone Sudoku Grab: How does it all work?
lovely run-through of the computer-vision algorithms this iPhone app uses (via Waxy)
via:waxy  ai  image  programming  algorithms  graphics  iphone  ocr  computervision  opencv  sudoku 
august 2009 by jm
Programmer Competency Matrix
actually quite a good breakdown of software eng skill progression
software  coding  programming  management  hiring  engineering  matrix  skills 
july 2009 by jm

related tags

1980s  actors  agile  ai  algorithm  algorithms  analysis  apache  asf  async  bignums  block-oriented  bloom-filters  c  c=64  children  code-smells  codepad  coderdojo  coding  colmmacc  computervision  cs  data  data-structures  dct  dependency-injection  deployment  development  dist  eclipse  editors  education  elitism  email  engineering  estimation  funny  games  gaming  geek  git  github  graphics  hacking  hacks  hashing  hiring  history  hobbies  ide  idioms  if-else  if-slalom  image  images  indentation  infrastructure  iphone  ireland  jails  java  javascript  jvm  kids  language  languages  lectures  lisp  management  matrix  mit  near-neighbour-search  node.js  nostalgia  ocr  oo  opencv  packaging  pastebin  patterns  perceptual-hash  performance  philosophy  prime-numbers  programming  programming-languages  python  qa  refactoring  reference  refuctoring  repl  ruby  sandbox  scala  school  search  security  semantics  set-membership  skills  slides  software  source-code  sudoku  syntax  tasks  tdd  teaching  teams  tech  testing  tests  text  tineye  tips  via:akohli  via:cjhorn  via:hn  via:janl  via:jzawodny  via:Mozai  via:preddit  via:waxy  vim  vm 

Copy this bookmark:



description:


tags: