ap + programming   282

Profiling Vimscript performance
Vim provides built-in profiling tools that make it easy to diagnose performance issues. We’ll start by looking at how to profile the vimrc file, then move on to a real world scenario where profiling helped to identify and aleviate a performance bottleneck.
vim  programming 
february 2015 by ap
Environment Variables Considered Harmful for Your Secrets
The environment is implicitly available to the process. It's hard to track access and how its content gets exposed. […] The whole environment is passed down to child processes (if not explicitly filtered) which violates the principle of least privilege. So your secret keys are implicitly made available to any 3rd-party tools you're using (like ImageMagick to resize an image). It's hard to say what those 3rd-party tools will do with the environment, especially in rare occasions like crashes.
programming  security  advice  ! 
january 2015 by ap
Building Infrastructure | Poul-Henning Kamp
For the parameters I use table-driven programming, and since few people seem to be aware you can even do that I’ll switch to digitus magistrans mode for a moment: […] Another convention I have adopted are a set of macros to manage and tag structs. […] Asserts — Yes, I love them, [and] three macros I use a lot are:
c  programming  advice  ! 
december 2014 by ap
Functional programming in object oriented languages
I’m starting to think of constructor arguments as the mechanism for partially applying all the methods on an object. Considering an object as a partial application of a set of methods is really quite interesting to me. It almost dictates that methods MUST operate, in some way, on the state of the object – just as we always read good OO code should
programming  functional  oo  ! 
march 2014 by ap
It’s “locking” if it’s blocking | Yosef Kreinin
They’re both loops, and very similarly-looking ones. Moreover, we can get stuck at both loops for an indefinite period of time. How come they're at the opposite sides of the locking/lock-free distinction?! Where's the difference?
compsci  concurrency  programming  ! 
december 2012 by ap
Why node.js is cool (it’s not about performance) | Nelson Elhage
The upshot of [free choice of event loops and whether to use one at all] is that if you pick a couple of random networked libraries written by different people [virtually every other language people use today] – let’s say, an HTTP server, a Twitter client, and an IRC client – and want to combine them […] you will end up at best having to write some awkward glue code, and at worst doing something truly hackish in order to make them communicate at all. […] By having a built-in event loop, and by making that event loop the default way to accomplish virtually anything at all […], node.js provides a very strong pressure to write networked code in a certain way.
programming  nodejs  ! 
march 2012 by ap
Giving away the secrets of 99.3% email delivery | Noah Lorang @ 37signals
1. Constantly monitor spam blacklists.
2. Have valid SPF records. Don’t impersonate your users.
3. Sign the mail! DKIM
4. Dedicated and conditioned email sending IPs.
5. Configure reverse DNS entries.
6. Enroll in feedback loops.
email  programming  sysadmin  advice  ! 
february 2012 by ap
JavaScript Needs Blocks « Katz Got Your Tongue?
Language partisans often accuse Ruby of unnecessarily having two types of “callables”. In my experience as an author of large libraries in both Ruby and JavaScript, it results in more elegant abstractions in the end. […] In my view, this explains why JavaScript feels so elegant for evented code that involves a lot of callbacks, but somewhat clunky for the iterator case, and Ruby feels so elegant for the iterator case and somewhat more clunky for the evented case.
ruby  javascript  programming  ! 
january 2012 by ap
It’s all about the logging | Matt Sergeant
One of my goals in Haraka has been to ensure that issues are easy to track. [… Error] messages contain a UUID which can be tracked back directly into the logs. Having sat across the developer/sysadmin divide for a number of years (OK in truth, I just had fantastically bitchy sysadmins, and I love them for that) this is *hugely* important.
programming  sysadmin  advice  logging  ! 
december 2011 by ap
It came from… the HOLD SPACE! | Mark Jason Dominus
How did we get anything done before the invention of Perl, Python, and those other guys? Answer: It wasn’t always easy. In this talk, I discuss the tools and systems for building Unix utilities from 1975 until about 1990, including lex, ed, sed, expr, bc, and other ancient mysteries.
unix  programming  history  :slides  ! 
december 2011 by ap
Nearly Hygienic C Macros via __COUNTER__ | Jonathan Rentzsch
Here’s how __COUNTER__ works:

> A new predefined macro __COUNTER__ has been added.
> It expands to sequential integral values starting from 0.
> In conjunction with the ## operator, this provides
> a convenient means to generate unique identifiers.

It’s still not gensym-quality, since the generated variable name can shadow other variable names:
c  programming  ! 
november 2011 by ap
#608497 – gimp: four buffer overflows | Debian Bug report logs
Here is a [proof of concept] for four new buffer overflows in GIMP. Compile it with open-cobol. […]
[gimp-overflows-poc-in-cobol.cob (application/octet-stream, attachment)]
programming  funny  ! 
november 2011 by ap
Programming Languages and Text | Tim Bray
We were mostly a full-text-search company, Odesta was mostly a pure document-management outfit. Shortly after the acquisition, we had a technical summit […] The Odesta guys talked first. Their Doc Man stuff was pretty cool, it had a RDBMS of interesting metadata about each object checked into and out of the system, and the software could slice and dice this many different ways, had a very sophisticated security model, and so on. We were up next, and our head search-algorithm guy was talking about tokenizing and inflexion processing and index update and so on, when one of the Odesta guys put up his hand with a question and said in a slow Southern-accented voice: “Hold on… you mean you guys **look inside** the documents?!?” At which point a silence fell in the room as we all had an “Aha!” moment.
programming  unicode  :quotation  ! 
november 2011 by ap
Conspiracy Theory # 1 | Dadhacker
“We keep the castle safe for us.”
programming  funny  ! 
november 2011 by ap
It’s all about the logging | Matt Sergeant
One of my goals in Haraka has been to ensure that issues are easy to track. Deny (5xx and 4xx to the SMTP-savvy people) messages contain a UUID which can be tracked back directly into the logs. Having sat across the developer/sysadmin divide for a number of years (OK in truth, I just had fantastically bitchy sysadmins, and I love them for that) this is HUGELY important.
programming  advice  logging  ! 
november 2011 by ap
The True Alternative | The Daily WTF
Public Function EmailList() As Boolean
    Try
        Return True
    Catch ex As Exception
        Return False
    End Try
End Function
programming  funny  ! 
november 2011 by ap
Why not Haskell? | Evan Martin
The set of runnable Haskell programs is much smaller than the space of programs that get the job done, and frequently I’m more interested in being done.
programming  haskell  language-design  ! 
october 2011 by ap
Cocoa Shaders | Guy English
One of the first things I do when I download an app is poke around its resources. Often you’ll find all manner of bitmap images that lay out portions of the apps controls. Left sides, middles, right sides. […] “Code is easier to change and understand than images are.” […] In 3D graphics a “shader” is used to define and control how a surface is rendered. The basic principle is that for each point on a surface inputs are given to the shader and it returns the final color for that point. […] Thanks to the flexibility of Objective-C and Cocoa we can apply this approach to our drawing [of custom controls] and build an elegant encapsulation. […] There’s still room for improvement though. We don’t necessarily want our shaders to be tied to one control. […] And we’d really like to be able to say: “Button, when you’re enabled use the ‘WhiteGloss’ shader, when you’re pressed use ‘GrayGloss’”.
programming  graphics  gui  ! 
september 2011 by ap
Mitigating Dangling Pointer Bugs Using Frame Poisoning | Robert O’Callahan
Exploiting dangling pointers is essentially about exploiting type errors. […] Our approach is to prevent the first phase of the attack by making it impossible to overwrite fields of deallocated objects with values of the wrong type. We do this by ensuring that whenever the memory used by a deallocated frame object is reallocated to a new object, the new object must always be exactly the same type as the old object and at exactly the same address.
c  programming  hacking  advice  ! 
october 2010 by ap
Using Haskell’s ‘newtype’ in C | Nelson Elhage
Typedefs are unchecked by the compiler […] It turns out we can get the compiler to check it for us, with a little more work, by using a singleton struct instead of a typedef: `typedef struct { uint32_t val; } physaddr_t;` […] A half-decent compiler will optimize the resulting code to be completely identical to the code without the structs, in almost all cases.
c  programming  advice  ! 
october 2010 by ap
sort: parallelize internal sort | coreutils.git
The number of sorts done in parallel is limited to the number of available processors by default, or can be further restricted with the `--parallel` option. On a dual-die, 8 core Intel Xeon, results show sorting with 8 threads is almost 4 times faster than using a single thread.
concurrency  programming  unix  ! 
august 2010 by ap
An Improved Liberal, Accurate Regex Pattern for Matching URLs | John Gruber
Just like the pattern from November, it attempts to be practical, above all else. It makes no attempt to parse URLs according to any official specification. It isn’t limited to predefined URL protocols. It should be clever about things like parentheses and trailing punctuation.
web  programming  ! 
july 2010 by ap
A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World | Communications of the ACM
In the lab the user’s values, knowledge, and incentives are those of the tool builder, since the user and the builder are the same person. Deployment leads to severe fission; users often have little understanding of the tool and little interest in helping develop it (for reasons ranging from simple skepticism to perverse reward incentives) and typically label any error message they find confusing as false. A tool that works well under these constraints looks very different from one tool builders design for themselves. [[Followed by a veritable litany of social problems. —Ed.]]
software-development  programming  politics  depressing  recommended  ! 
march 2010 by ap
Quite Contrary | The Daily WTF
“I have no idea who put this in, or why it was put in. But it’s there, and it’s somehow called in a few places. As tempted as I was to investigate how it was used, I figured I’d spare my sanity.”
programming  funny  ! 
march 2010 by ap
IDEs and Dynamic Languages | Ted Leung
One of the points that I’ve been trying to make since I’ve gotten back in to the languages space is that a lot of what is happening in languages now is unpausing the nuclear winter that Java imposed on the programming language space. If you haven’t been following this space for a while, you’d believe that all this dynamic language stuff was invented in the last 5 or 10 years or so. […] The truth is that the intellectual forbears of these languages, Lisp and Smalltalk, were invented about 30 years ago or so. [[Actually it’s 50 and 40, respectively. —Ed.]]
programming  quotations  ! 
march 2010 by ap
Zero One Infinity Rule
Simply stated: You will either need zero of a thing, one of a thing, or an arbitrary number of the thing. Programmers and architects ignore this at their own peril. Arbitrary fixed limits are a CodeSmell.
programming  recommended  ! 
february 2010 by ap
Ravioli Code
In the structured programming world, when things got messy your code became SpaghettiCode. Everyone knows what SpaghettiCode is. It has been said that with objects you get RavioliCode: thousands of little classes everywhere and no one knows how to find the places where things really happen.
programming  oo  recommended  ! 
february 2010 by ap
JS Bin: Collaborative JavaScript Debugging
Test live JavaScript with HTML and CSS context; Public URLs render outside of JS Bin; Inject major JavaScript libraries; Debug remote Ajax calls
javascript  programming  collaboration  service  ! 
january 2010 by ap
The author of this module is a mindless drone | Adam Kennedy
By mere virtue of using a code generation system, [programmers] are disinclined to do things like replace the boilerplate [documentation] and such. ¶ I’ve needed a module starter for myself for a while, and Module::Starter seemed a bit like overkill […] While writing it, I thought I might as well implement certain functionality to make sure I always replace the boilerplate.
programming  funny  ! 
december 2009 by ap
OpenSSL is written by monkeys | Marco Peereboom
That spanned 5 files, 6 indirections and all that to open and `fgets` the contents of a file. And we still are doing an indirect call. All this work and jumping around when all I wanted is to have a function that can translate a PEM (NOT in a file!!!) cert into a X509 structure. But between the million or so functions nothing handy like that exists; or so I suspect but since there are no docs I really have to guess.
ssl  programming  rant  ! 
december 2009 by ap
Gofmt | Russ Cox
Once you have a tool that can parse and print a program losslessly, it’s easy to insert mechanical processing in the middle, to transform the program between parsing and printing. Want to change something about the language? Change it in gofmt and reformat the source tree. […] Gofmt has an option, -r, to specify a rewrite rule in the form _pattern -> replacememt_. In the pattern and replacement, single-letter lower case names serve as wildcards matching arbitrary expressions. [[Very, very cool. —Ed.]]
golang  programming  tools-will-save-us  ! 
december 2009 by ap
A proposal for error handling | Laurence Tratt
A while ago I wrote about my experience of writing extsmail, and how surprised I was that highly reliable and fault tolerant programs could be written in C. In large part I attributed this to the lack of exceptions in C. In this article, I expand upon this point, consider some of the practical issues with exceptions based language, and present a candidate language design proposal that might partly mitigate the problem. I don't promise that this is a *good* design; but it does present some of the issues in a different way than I've previously seen and if it encourages a debate on this issue, that might be use enough.
programming  culture  ! 
december 2009 by ap
Slow Languages Battle Across Time | James Hague
Atari BASIC on original 8-bit computer hardware [vs Python on modern hardware. …] But what about the “thousands of times” figure I tossed about in the first paragraph?
programming  performance  productivity  ! 
november 2009 by ap
There’s more than one way to null a pointer | David Mandelin
Thinking about that, I got an idea so dumb it was clever. I knew I wanted to know the code point that set dslots to null. And I knew the only real piece of data about the crash I could get was the crash address. So, clearly, the answer is to make each code point that sets dslots to null use a different null address. […] Debugging this kind of crash is all about trying to sort things out that make no sense with almost no data
programming  hacking  recommended  ! 
november 2009 by ap
Coding from Scratch: A Conversation with Virtual Reality Pioneer Jaron Lanier, Part 1
Source code is a simulation of pulses that can be sent sequentially down a wire, as are passed variables or messages. ¶ Now, I think that’s a notion that can be extended very, very, far. And if you really want to, you can even use it to describe all of nature, but it’s not the only idea that could be extended that far. […] If you look at nature at large, probably a better way to describe how things connect together is that there’s a surface between any two things that displays patterns.
programming  complexity  compsci  ! 
october 2009 by ap
Testing for Race Conditions | Yuval Kogman
Since most concurrent code tries to minimize the duration of critical sections, the probability of critical sections interleaving with context switches can be very low. On a single CPU machine all the non blocking operations performed in a single time slice are atomic from the point of view of other processes. For a computer 10ms is a pretty long length of time. ¶ Therefore, when testing for concurrency bugs it’s important to introduce artificial contention to increase the chance of exposing a race condition.
programming  software-qa  concurrency  security  ! 
october 2009 by ap
Bits of Evidence | Greg Wilson
What we actually know about software development, and why we believe it’s true.
programming  software-development  science  :slides  ! 
october 2009 by ap
Surprising reasons to use a syntax-coloring editor | Mark Jason Dominus @ comp.editors
I avoided syntax colouring for years, because it seemed like a pretty stupid idea, and when I tried it, I didn’t see any benefit. But recently I gave it another try, with Ilya Zakharevich’s `cperl-mode` for Emacs. I discovered that I liked it a lot, but for surprising reasons that I wasn’t expecting. […] When people argue about whether syntax colouring is a good idea or not, they tend to pull out the same old arguments and dust them off. The reasons I found for using syntax colouring were new to me; I’d never seen anyone mention them before. […] I haven’t found many of the other benefits that people say they get from syntax colouring.
programming  editor  ! 
october 2009 by ap
There’s a lot of “short vs long” going on in the comments here. That seems silly to me. | Isaac Schlueter @ Hacker News
We have a hard time remembering short names for a long time, and we have a hard time looking at long names over and over again in a row. [[Great comment about picking the right length for variable names. —Ed.]]
programming  advice  ! 
september 2009 by ap
Database Representation for Recurring Events | Rick DeNatale
My approach to this would start with recognizing the difference between an event, and an occurrence of that event.
programming  advice  ! 
september 2009 by ap
The Problem with Threads | Edward A. Lee
Threads, as a model of computation, are wildly non-deterministic, and the job of the programmer becomes one of pruning that non-determinism. […] A folk definition of insanity is to do the same thing over and over again and to expect the results to be different. By this definition, we in fact require that programmers of multithreaded systems be insane. Were they sane, they could not understand their programs.
programming  concurrency  complexity  compsci  :pdf  ! 
september 2009 by ap
Dirty Coding Tricks | Gamasutra
The publisher’s test department employed one guy whose only job was to jump around the world for ten hours a day, looking for places he could fall through.
programming  funny  ! 
september 2009 by ap
Incidental Redundancy | Chris Ammerman
A repetition of code syntax or semantics that tempts the programmer to refactor, but if carried out the refactoring could damage the elegance and discoverability of the program. The difference between incidental redundancy and regular redundancy in code is that the redundancy does not arise because of any *substantive*, or at least *relevant*, similarity between the two problems in question.
programming  advice  recommended  ! 
august 2009 by ap
Design versus construction | Chris Siebenmann
The process of getting something physical constructed is generally divided into two phases: design, the intellectual engineering work, and construction, which is theoretically mere unintelligent physical labour.
programming  software-development  engineering  complexity  recommended  ! 
august 2009 by ap
Get a stack trace from your running perl | Joshua ben Jore
(gdb) call (void*)Perl_eval_pv("require Carp; Carp::cluck('Hi')", 0)
perl  programming  reference  ! 
july 2009 by ap
A Letter to My Younger Self | Charles Miller
Every so often there’s a meme that goes around inviting bloggers and diarists to pen a letter to themselves as a child or a teenager, telling themselves all the things they now wish they had known at that age. […] I’ve always balked at writing such a letter myself […] So I pondered. And I thought. And I finally came up with the one important, nay vital bit of advice I would give myself if I had the chance.
programming  funny  ! 
july 2009 by ap
What to Know Before Debating Type Systems | Chris Smith
Dynamic and static type systems are two *completely* different things, whose goals happen to partially overlap. A static type system is a mechanism by which a compiler examines source code and assigns labels (called “types”) to pieces of the syntax, and then uses them to infer something about the program’s behaviour. A dynamic type system is a mechanism by which a compiler generates code to keep track of the sort of data (coincidentally, also called its “type”) used by the program. The use of the same word “type” in each of these two systems is, of course, not really entirely coincidental; yet it is best understood as having a sort of weak historical significance.
programming  compsci  static-analysis  type-systems  reference  recommended  ! 
july 2009 by ap
Why Pair Programming Works | Elliotte Rusty Harold
1. Continuous Code Review; 2. Fewer blockages; 3. Masking distractions; 4. Guaranteed focus; 5. Multiple points of view; 6. Reduced training cost and time
xp  programming  reference  ! 
july 2009 by ap
What Pair-Programing is Not | Miško Hevery
I sacrificed my productivity to make Arthur productive in a single day. If I did not it would take Arthur weeks before he would figure out how to set everything up how things worked and enough courage to fix a bug. Yet that is exactly what most companies do. Think about the confidence Arthur had on day one working with us. He was up and ready and he fixed two bugs on day one.
programming  collaboration  productivity  xp  ! 
june 2009 by ap
Hacking While Drunk | Matt S. Trout
People often claim that a couple of drinks (or indeed a couple of joints) make them more creative. I’m not sure I’ve ever considered this to be true, but something I *have* observed a lot of times is that the biggest blocker to us getting stuff done is our own perfectionism.
programming  psychology  productivity  ! 
june 2009 by ap
Six Stages of Debugging
1. That can’t happen.
2. That doesn’t happen on my machine.
3. That shouldn’t happen.
4. Why does that happen?
5. Oh, I see.
6. How did that ever work?
programming  funny  :fullquote  recommended  ! 
june 2009 by ap
zzGeneralFunctions | The Daily WTF
After a quick skim through the tens of thousands of lines of code, it was fairly obvious that, while the developers followed that “more than once” comment to the letter, they didn’t follow the implied advice: _before you put a function here, check if that function already exists_.
programming  funny  ! 
may 2009 by ap
Fachbegriffe der Informatik | Lutz Donnerhacke
Multimedia: funktioniert mit elektrischem Strom | objektorientiert: Den Code habe ich von meinem Vorgänger geerbt | Polymorphie: Der Fehler tritt in vielerlei Gestalt auf | […]
programming  technology  funny  :de  ! 
may 2009 by ap
Implementing Typed Lexical Variables | Florian Ragwitz
With this, our example code now works. If someone wants to assign, say, `'foo'` to the variable declared as `my Int $x`, our magic callback will be invoked, try to validate the value against the type constraint and fail loudly. WIN!
perl  moose  programming  ! 
may 2009 by ap
dyncall.org — calling C functions dynamically
The dyncall library encapsulates architecture-, OS- and compiler-specific function call semantics in a virtual "bind argument parameters from left to right and then call" interface allowing programmers to call C functions in a completely dynamic manner.
c  programming  software-package  ! 
april 2009 by ap
Eliminating Messy Code with Sentences and Paragraphs | chromatic @ Modern Perl Books
Find and replace and automated refactoring tools and cross-referencing and compilers which treat all vertical whitespace as more or less the same and a function of five lines as equivalent to a function with five thousand lines are tools which allow us to manage messes in the same sense that Smalltalk’s lovely browser lets Smalltalk programmers manage ravioli code. Our tools let us work around nascent problems until they grow too large for our tools. Then we’re in real trouble.
programming  complexity  tools-will-save-us  ! 
march 2009 by ap
Haskell is sandbox crack! | Mike Vanier
Well-written Haskell programs seem almost stratospheric in their abstraction level compared to well-written programs in other languages. […] […] And this is a good thing. […] But nobody said that it was going to be pleasant.
haskell  programming  amusing  ! 
march 2009 by ap
Not Enough Work | xkcd
Signs your coders don't have enough work to do: [[Panel 2 is my favourite. —Ed.]]
programming  culture  funny  :comic  ! 
march 2009 by ap
Displaying web content in an extension – without security issues | Wladimir Palant
Over the last few years I reported a bunch of security vulnerabilities in various extensions and by far the most common issue was: “Extension Foo allows execution of remote code in privileged context”. Typically, an RSS reader extension would take the content of the RSS feed (HTML code), format it nicely and insert into the extension window. […] All these problems could have easily been avoided by choosing the right approach that makes use of the existing security mechanisms in the Mozilla codebase […] And it is really not that hard.
firefox  programming  security  ! 
february 2009 by ap
How Not To Sort By Average Rating
You are a web programmer. You have users. Your users rate stuff on your site. You want to put the highest-rated stuff at the top and lowest-rated at the bottom. You need some sort of “score” to sort by. ¶ WRONG SOLUTION #1: Score = (Positive ratings) - (Negative ratings) […] ¶ WRONG SOLUTION #2: Score = Average rating = (Positive ratings) / (Total ratings)
programming  statistics  algorithm  mathematics  advice  ! 
february 2009 by ap
acme modules i will not write | Ricardo SIGNES
These have been sitting in my idea queue, but I have no time to think if hilarious things to do, so I share two silly module names with you:
programming  funny  ! 
february 2009 by ap
HOPL: an interactive Roster of Programming Languages
The History of Programming Languages […] is concerned with the idea-historical treatment of the development of programming languages as a means of human expression and creation. […] This site is all about […] why people designed and implemented languages and what influenced them when they did so (historically, philosophically, politically as well as theoretically). This site lists 8512 languages, complete with 17837 bibliographic records featuring 11064 extracts from those references. It is in effect a family tree of languages with 5445 links, making it not only the biggest programming language family tree around, but also one of the largest idea-genealogical projects undertaken.
programming  history  reference  recommended  ! 
january 2009 by ap
Programmers are Tiny Gods | Derek Powazek
Programmers are the Gods of their tiny worlds. They create something out of nothing. In their command-line universe, they say when it’s sunny and when it rains. And the tiny universe complies.
funny  programming  psychology  advice  ! 
january 2009 by ap
Es: A shell with higher-order functions
We applied concepts from modern functional programming languages, such as Scheme and ML, to shells, which typically are more concerned with UNIX features than language design. Our shell is both simple and highly programmable. By exposing many of the internals and adopting constructs from functional programming languages, we have created a shell which supports new paradigms for programmers. […] Functions in the environment [mean] nearly all shell state can now be encoded in the environment, [so] it becomes superfluous for a new instance of _es_ […] to run a configuration file.
functional  unix  shell  programming  ! 
december 2008 by ap
Higher-Order Perl
I’d explain, but it would feel too much like making excuses. Also you probably don’t care about the mundane details of my life for the past four years. And anyway, even if I rehearsed the whole thing, you would be quite justified in asking, at the end of the long story, “So I don’t get it. What took you so long?” You may remember I wanted to turn the book into a wiki. That would have been awesome. But the book’s fourth anniversary is coming up this spring and I have to admit to myself that I’m not gonna get the wiki together. So I’m posting the thing already.
programming  :ebook  ! 
december 2008 by ap
Shoot-out: most annoying compiler error message | marco @ Lambda the Ultimate
PL-6, the system programming language of the old Honeywell CP-6 Operating System had a most useful message that would occur from time to time: “Error found between beginning and end of file.”
programming  funny  ! 
november 2008 by ap
Re: Tradeoffs of XML encoding by enclosing all content in CDATA blocks | Michael Kay @ xml-dev
If you go down that road [of putting pragmatism first and correctness second], you don’t know when to stop, and you end up shipping garbage.
programming  advice  :quotation  ! 
october 2008 by ap
What Could Possibly go Wrong? | Callum McKenzie
So what went wrong with such a simple patch? The fix for the memory leak looks correct – and it is. The problem is the [untouched] line above it
programming  ! 
september 2008 by ap
When’s framework overhead justified | Rafe Colburn
If jQuery is already available, the barrier to writing new features is much lower than it is when writing those features from scratch, and I don’t have to revisit the decision whether or not to add a framework at that point. It becomes a tougher decision when you already have non-framework code in place.
programming  advice  ! 
august 2008 by ap
what you don’t say | Eric Wilhelm
That seems like possibly the most useful programming advice I’ve ever gotten from a politician.
programming  advice  :quotation  ! 
august 2008 by ap
Lucky to be a Programmer | Gustavo Duarte
I think [people are taken aback to hear I enjoyed the crazy hours because] institutions are so good at squeezing the fun out of everything. It’s appalling f.ex. how schools can take the most vibrant topics and mangle them into formulaic, mediocre slog.
society  programming  ! 
july 2008 by ap
FirePHP – Firebug Extension for AJAX Development
[[Send a JSON structure as in the response headers, have them show up in the Firebug console. Cool. —Ed.]]
firefox  programming  software-package  ! 
july 2008 by ap
Bad Programmers
Signs that you are a bad programmer
programming  advice  ! 
july 2008 by ap
FUEL (Firefox User Extension Library)
Designed to help developers build extensions using terminology and interfaces that are familiar to them […] by minimizing some of the XPCOM formality and adding some “modern” JavaScript ideas.
firefox  javascript  programming  reference  ! 
june 2008 by ap
« earlier      
per page:    204080120160

bundles : computing

related tags

!  :comic  :de  :ebook  :fullquote  :pdf  :picture  :quotation  :slides  :video  advice  ajax  algorithm  amusing  art  asm  beauty  biology  c  c++  clinicaltrials  collaboration  compiler  complexity  compsci  concurrency  culture  deep-magic  depressing  e  economics  editor  email  engineering  evolution  firefox  forth  functional  funny  future  games  golang  graphics  gui  hacking  haskell  history  html  http  inspirational  interview  io-language  javascript  jquery  language  language-design  licence  linux  lisp  logging  make  mathematics  memory-allocation  mercury  microsoft  moose  networking  nodejs  oo  paradigm  parser  performance  perl  philosophy  politics  productivity  programming  psychology  python  quotations  rant  recommended  reference  relaxng  rest  ruby  scary  scheme  science  security  semantic  service  shell  smalltalk  society  software-development  software-package  software-qa  sql  ssl  static-analysis  statistics  sysadmin  system-architecture  technology  tex  tools-will-save-us  type-systems  typography  unicode  unix  usability  vim  web  webdesign  writing  xml  xp  xslt 

Copy this bookmark:



description:


tags: