jm + programming 27
An IDE is not enough
12 days ago by jm
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)
9 weeks ago by jm
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]
february 2012 by jm
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
february 2012 by jm
'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
december 2011 by jm
'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)
november 2011 by jm
'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
Real-World Scala: Dependency Injection (DI)
august 2011 by jm
I think I prefer the structural-typing approach, TBH
scala
patterns
programming
oo
coding
dependency-injection
august 2011 by jm
Scala: The Static Language that Feels Dynamic
june 2011 by jm
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
june 2011 by jm
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
june 2011 by jm
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
april 2011 by jm
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
april 2011 by jm
'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
march 2011 by jm
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)
december 2010 by jm
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"
september 2010 by jm
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
september 2010 by jm
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
july 2010 by jm
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
july 2010 by jm
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
may 2010 by jm
'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
may 2010 by jm
'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
Summary of all the MIT Introduction to Algorithms lectures
november 2009 by jm
good reviews and notes from Peteris Krumins
algorithms
mit
programming
coding
lectures
from delicious
november 2009 by jm
The Rise and Fall of the Hobbyist Game Programmer
november 2009 by jm
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
august 2009 by jm
'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?
august 2009 by jm
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
july 2009 by jm
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: