NotesUnfortunately, there’s no standard for Go to Line in Mac text editors. Each editor does it differently, and they usually screw up at least one part of it so that it’s not-particularly-usable. (Which causes me to curse through my nose, throw one of the plush toys they permit me to have, and then run back to Mama Terminal for solace.)FeedUnfurl
Notes Flickr is somewhat unique in that it uses a code repository with no branches; everything is checked into head, and head is pushed to production several times a day. This works well for bug fixes that we want to go out immediately, but presents a problem when we’re working on a new feature that takes several months to complete. How do we solve that problem? With flags and flippers! FeedEmbedUnfurl
Notes<blockquote>Given the above facts I think you’ll agree, Java is not stagnant, it’s getting much better on the eyes and fingers and it has been adopted by cool, non-stodgy companies. Then perhaps you’ll also agree it’s wrong to say Java is the new COBOL, just as wrong as saying Ruby is the new Java.</blockquote>
Nope, not buying it.Unfurl
Notes"I started thinking about programmer performance a while ago. Everybody will tell you that you can’t measure programmer productivity, but this is at best a half-truth. We can, and we should. Perhaps what we shouldn’t do is use those measurements to compare programmers to each other, but we can definitely measure ourselves."FeedEmbedUnfurl
NotesThinking I might have to try this with the ASUS Transformer I have. "On September 19th, I said goodbye to my trusty MacBook Pro and started developing exclusively on an iPad + Linode 512. This is the surprising story of a month spent working in the cloud."FeedEmbedUnfurl
NotesAnd JavaScript is one of the *most* dynamic of the mainstream programming languages. Not only can you can pass any object to any function, but you can call a method with any number of arguments, easily modify the prototypes of other objects, introspect on any object's properties with a simple loop, replace any member function with a wrapped version, attach new properties to any object ... the list goes on. Unfurl
Notes The JavaScript library "termlib.js" provides a `Terminal' object, which facillitates a simple and object oriented approach to generate and control a terminal-like interface for web services.Unfurl
NotesSort of a cross between Encyclopedia Brown and Micro Adventure, each volume in this series contains several short mysteries. The user must read carefully and run very simple BASIC computer programs in order to guess the solutions.Unfurl
NotesThese linear novels are occasionally interrupted by simple BASIC computer programs designed to be typed in and played. The idea is to simulate key moments in the story, though the programs are generally of the extremely simplistic "type in a word or number and hit ENTER" variety. The series was followed by the Magic Micro Adventure books for younger readers.Unfurl
NotesEmscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode (which can be generated from C/C++, using llvm-gcc or clang, or any other language that can be converted into LLVM) and compiles that into JavaScript, which can be run on the web (or anywhere else JavaScript can run). Unfurl
Notes"The Game of Robot-Programming Fun<br />
<br />
Program Robots using graphic chips.<br />
A great way for Kids of all ages to enjoy the fun of programming<br />
<br />
ChipWits will be back in late 2010<br />
<br />
"FeedEmbedUnfurl
Notes"This always blows my mind. You’re married to someone, and you aren’t interested enough in the person to know anything about what they do with nearly 40-50% of their time, aside from their job title? Is it dangerous to draw a correlation between high divorce rates and the lack of interest that people have in their partners lives? It’s easy to fall in love with the “idea” of a person when you first meet them. But I think it would be hard to endure a lifetime of ups and downs, trials and tribulations and the everyday challenges that life throws at two people, if those partners didn’t have a truly vested interest in each other’s passions and life’s work. And if you don’t have even a basic understanding of what your spouse does with 40+hours of his/her week, then you’re not on a team."Unfurl
Notes"Halt and Catch Fire, known by the mnemonic HCF, refers to several computer machine code instructions that cause the CPU to cease meaningful operation. The expression "catch fire" is usually intended as a joke; in most cases the CPU does not actually catch fire."FeedUnfurl
Notes"I'm trying to amass a list of programming books with opensource licenses, like Creative Commons, GPL, etc. The books can be about a particular programming language or about computers in general. Hoping you guys could help"Unfurl
NotesCharles Stross was right. "with Release 33-9117, the SEC is considering substitution of Python or another programming language for legal English as a basis for some of its regulations."Unfurl
Notes"A key step in literate programming, in our view at least, is publishing. It means tidying up and properly explaining code, and is a process much like writing up roughly-correct ideas for journal publication. The main aim of the Inform project since autumn 2007 has been to publish the whole work. Each web, as it is published, becomes open-source under the Artistic License 2.0, and eventually the whole work will be complete. We believe it will then be the largest literate program ever published."Unfurl
Notes"I decided: why not ignore the fact that my first computer and my latest computer are 27 years apart? Why not stack them on top of each other, take some silly photos, and put up a chart comparing how many kilo-whatsits of X the Atari had to how many giga-whosits the Dell had.
So you have it... a brief comparison of the classic and short-lived Atari 1200XL to the modern and also short-lived Dell Inspiron 1525."Unfurl
Notes"The problem is that this person’s problem-solving technique is to ask for the solution. Not to seek advice on how to approach the task, or ask for the names of likely classes to look into, or a link to an example – but to just ask for the code, fully formed and ready to go. This is not problem solving, and software engineering is entirely about problem solving."Unfurl
Notes"An open-source project surprised industry insiders today by announcing an implementation of the Java programming language on the JVM.
The language, dubbed jJava, reflects the current trend for using the JVM as a systems platform for various languages."FeedUnfurl
Notes"y running JSLint on all of our javascript files as part of our development process, we can find these nasty bugs before they start!Turns out, Spidermonkey isn't just faster than Rhino, it's a lot faster (at least to start up)."Unfurl
Notes"Remember the Dig Dug or Centipede or Robotron? They used to be favorites wheimagen Atari’s 7800 series was still around. Now since the era of those consoles is over and a different world of interactive reality gaming has taken over, Atari Museum, a site run by Atari enthusiast, has got hold of has unofficially source code of over 15 games for the coders and enthusiasts to admire the state-of-the-art (because this is what it was back then) of game development."Unfurl
Notes"Clue is an ANSI C compiler (C89, some C99) that targets high-level languages such as Lua, Javascript or Perl (and some low-level ones). It supports the entire C language, including pointer arithmetic, and can be used to run arbitrary pure-C programs."Unfurl
Notes"In fact, I claim that if you don't take those rules to heart in your own source code then you are either unprofessional, lazy, not a team-player, or all of the above. If you as a software developer take pride in your professionalism and quality of your work then you have to consider that it is not only the achieved functionality for which you are being paid: The code you produce in almost all cases becomes property of your employer, and thus, the code itself also a product (and actually the most important product) you deliver. And how useful that code if for the team who has to work with it is what really determines its value."Unfurl
Notes"Attach a one line comment convention with a new GUID to any code snippet you publish on the web. This ties the snippet of code to its author and any subsequent clones. A trivial search for the code snippet GUID would identify every other copy of the snippet on the web"Unfurl
Notes"If your code will be seen by the world at large, one of your first tasks should be to write documentation. Document all functions as soon as you write them (before is also helpful). Provide samples on how to use code as soon as you finish a module (or earlier, if possible). Do not wait until your 5.0 release. Do not wait until your 1.0 release. Do not even wait until your 0.5 release. Do it as you write your code. The sooner, the better."FeedUnfurl
Notes"I hope you're convinced, by now, that programming languages with first-class functions let you find more opportunities for abstraction, which means your code is smaller, tighter, more reusable, and more scalable."FeedEmbedUnfurl
Notes"RubyGems is a package manager for Ruby. At GitHub, we've tried to make the process of building and releasing new gems as simple as possible. Please see the documentation below on how to use the system."Unfurl
Notes"What will the world of dynamic programming languages and Web applications look like in five years? This is one of those highly personal and deeply philosophical questions best saved for after dessert is served, the drinks are poured, and the sidearms are safely locked away."Unfurl
Notes"Paver is a Python-based build/distribution/deployment scripting tool along the lines of Make or Rake. What makes Paver unique is its integration with commonly used Python libraries. Common tasks that were easy before remain easy. More importantly, dealing with your applications specific needs and requirements is now much easier."Unfurl
Notes"Next dead-giveaway: non-typist code is... minimalist. They don't go the extra mile to comment things. If their typing skills are really bad, they may opt to comment the code in a second, optional pass. And the ones who essentially type with their elbows? They even sacrifice formatting, which is truly the most horrible sin a programmer can commit. Well, actually, no, scratch that. It's the second worst. The worst is misspelling an identifier, and then not fixing it because it's too much typing. But shotgun formatting is Right Up There."Unfurl
Notes"Mercurial Queues, or MQ, is a Mercurial extension that lets you keep work in progress as mutable patches, instead of as immutable changesets. ... The output of a developer (on a good day, anyway) is patches. The MQ extension lets you treat a stack of patches as works-in-progress. You can apply them as Mercurial changesets, unapply them, edit them, and when they're done, turn them into permanent changesets and push them."Unfurl
Notes"The scripts allow to manage a series of patches by keeping track of the changes each patch makes. Patches can be applied, un-applied, refreshed, etc." Checkpoint and maintain floating uncommitted work-in-progress changes as a stack of patches atop a moving-target project.Unfurl
Notes"But by making it a Big Bang release, you’ve maximized the chances that you’ll be behind schedule when you get to the end ... Imagine going to the hospital for a kidney transplant, and before and during the surgery saying to the surgeon: “Oh, and while you’re already in there digging around, I’ve had some problems with my lungs ... In many cases, these Big Rewrite projects have resulted in unhappy customers, political battles, missed deadlines, and sometimes complete failure to deliver. In all cases, the projects were considerably harder than the projects’ initiators ever thought they would be. ... While we’re all in the back creating the next revision of a product, who’s tending to the day to day issues of the existing product? Typically, it’s the domain experts and the original implementers of the product."Unfurl
Notes"The issue comes when you finally get approval for your patch and you commit it to the tree. At this point, you want to delete it from the patch series - but quilt won’t let you, because it is applied. If you pop it, then you’ll undo what you’ve just committed. So, what to do? Here’s my ad-hoc recipe"Unfurl
Notes"My opinion is that the best way to solve the technical issues is to mandate that the ASCII #9 TAB character never appear in disk files: program your editor to expand TABs to an appropriate number of spaces before writing the lines to disk. That simplifies matters greatly"Unfurl
Notes"The original NMOS version of the MOS 6502, used in computers like the Commodore 64, the Apple II and the Nintendo Entertainment System (NES), is well-known for its illegal opcodes: Out of 256 possible opcodes, 151 are defined by the architecture, but many of the remaining 105 undefined opcodes do useful things."Unfurl