Essential JavaScript Design Patterns For Beginners
I hope this book helps in part to improve your knowledge of design patterns and the usefulness of their application to JavaScript.

Before we get started, I would like to thank Rebecca Murphey for inspiring me to write the original version of this online book and more importantly, open-source it. I believe educational material should be freely available for anyone to use, access and improve where possible and hope that efforts such as this inspire other authors. I would also like to extend my thanks to the always intelligent Alex Sexton who was kind enough to be the technical reviewer for the first edition of this publication.

Since this book was put online, several other members of the community have been kind enough to help me with minor corrections and I would like to give them my thanks too.
javascript  designpatterns 
6 days ago
Simple JavaScript Inheritance
I've been doing a lot of work, lately, with JavaScript inheritance - namely for my work-in-progress JavaScript book - and in doing so have examined a number of different JavaScript classical-inheritance-simulating techniques. Out of all the ones that I've looked at I think my favorites were the implementations employed by base2 and Prototype.

I wanted to go about extracting the soul of these techniques into a simple, re-usable, form that could be easily understood and didn't have any dependencies. Additionally I wanted the result to be simple and highly usable. Here's an example of what you can do with it:
javascript 
13 days ago
A re-introduction to JavaScript
Why a re-introduction? Because JavaScript has a reasonable claim to being the world's most misunderstood programming language. While often derided as a toy, beneath its deceptive simplicity lie some powerful language features. 2005 has seen the launch of a number of high-profile JavaScript applications, showing that deeper knowledge of this technology is an important skill for any web developer.

It's useful to start with an idea of the language's history. JavaScript was created in 1995 by Brendan Eich, an engineer at Netscape, and first released with Netscape 2 early in 1996. It was originally going to be called LiveScript, but was renamed in an ill-fated marketing decision to try to capitalize on the popularity of Sun Microsystem's Java language — despite the two having very little in common. This has been a source of confusion ever since.
javascript 
14 days ago
Javascript Game Development - Keyboard Input
Now that we have our basic game loop layed out, we can focus on implementing other aspects of our javascript based game. What I want to show in this post is how you process keyboard input.
javascript 
20 days ago
Javascript Game Development - The Game Loop
One of the most important parts of a game engine is the so called “game loop”. It is the central piece of the game’s engine and is responsible for trying to balance running a game’s logic, and executing its drawing operations.
javascript 
20 days ago
Space Invaders Specification
From the information I was able to find it appears the original Space Invaders ran at a resolution of 224x260 pixels. This is quite small in a web browser of todays standards so I will double it to 448x520 pixels.
spaceinvaders 
22 days ago
Sittard gevonden bij Film in Nederland
De documentaire toont de belangrijkste gebouwen, monumenten, straten, pleinen en waterwegen van Sittard. In het oog springen de vele kerken en andere katholieke bouwwerken. Ook de Sint-Rosakapel komt in beeld. Deze kapel geniet bekendheid als bedevaartsoord, maar ook als ontmoetingsplaats van de 'bokkerijders', een beruchte roversbende die Zuid-Limburg onveilig maakte in de laat-achttiende en begin-negentiende eeuw.
sittard  videos 
23 days ago
Mega-man: The fast, fabulous, fraudulent life of Megaupload's Kim Dotcom
Since the shutdown of Megaupload, stories have erupted about the life and exploits of the company's founder, a self-styled "Dr. Evil" of file sharing. Kim Dotcom's opulent digs, high-end cars, fondness for models and other Bond-villain-esque behaviors have been splashed across websites and have confused evening newscasts for the last week.

The man once known as Kim Schmitz (and as Kimble, and as Kim Tim Jim Vestor, and finally as Kim Dotcom), now awaiting extradition from New Zealand to face charges of conspiracy, money laundering and copyright crimes in the US, has enveloped his actual life in a cloud of hype and bluster that echo the worst of the dot-com bubble from which he took his new surname. In 2001, the Telegraph called Schmitz "a PR man's nightmare and a journalist's dream."
from instapaper
26 days ago
Defend our freedom to share (or why SOPA is a bad idea)
What does a bill like PIPA/SOPA mean to our shareable world? At the TED offices, Clay Shirky delivers a proper manifesto -- a call to defend our freedom to create, discuss, link and share, rather than passively consume.
from instapaper
4 weeks ago
Wat
The sarcasm in this talk does not represent anyone's actual opinion. For a more serious take on software, try Destroy All Software Screencasts: 10 to 15 minutes weekly, dense with information on advanced topics like Unix, TDD, OO Design, Vim, Ruby, and Git.
from instapaper
4 weeks ago
Reflections on Scrum and Kanban
Done and done! 1,5 years of hard work at National Land Survey is over. What a great project! This post will be on my personal findings about Scrum team transition to Kanban. What worked and what not? Moreover, I will try to analyze the failures we made and to come up with some solutions. Let’s get started!
from instapaper
4 weeks ago
The Hacker's Diet
The Hacker's Diet, notwithstanding its silly subtitle, is a serious book about how to lose weight and permanently maintain whatever weight you desire. It treats dieting and weight control from an engineering and management standpoint, and provides the tools and an understanding of why they work and how to use them that permit the reader to gain control of their own weight. The book is intended primarily for busy, successful engineers, programmers, and managers who have struggled unsuccessfully in the past to lose weight and avoid re-gaining it. Computer-based tools and experiments in Microsoft Excel or the Palm Computing Platform are available, as well as an online Web application, but a computer is not necessary to use the techniques described in the book; paper and pencil alternatives are provided.
health  nutrition 
5 weeks ago
Double Brace Initialization
Java doesn't have a convenient literal syntax for collections (lists, maps, sets, etc.). This makes creating constant collections or passing collections to functions quite laborious. Every time you have to

1. Declare a variable for a temporary collection
2. Create a new empty collection and store a reference to it in the variable
3. Put things into the collection
4. Pass the collection to the method
java 
6 weeks ago
How (not) to communicate new scientific information: a memoir of the famous brindley lecture
In 1983, at the Urodynamics Society meeting in Las Vegas, Professor G.S. Brindley first announced to the world his experiments on self-injection with papaverine to induce a penile erection. This was the first time that an effective medical therapy for erectile dysfunction (ED) was described, and was a historic development in the management of ED. The way in which this information was first reported was completely unique and memorable, and provides an interesting context for the development of therapies for ED. I was present at this extraordinary lecture, and the details are worth sharing. Although this lecture was given more than 20 years ago, the details have remained fresh in my mind, for reasons which will become obvious.
from instapaper
6 weeks ago
Anthrax Redux: Did the Feds Nab the Wrong Guy?
Finally, the investigation was over. The riddle solved. On August 18, 2008—after almost seven years, nearly 10,000 interviews, and millions of dollars spent developing a whole new form of microbial forensics—some of the FBI’s top brass filed into a dimly lit, flag-lined room in the bureau’s Washington, DC, headquarters. They were there to lay out the evidence proving who was responsible for the anthrax attacks that had terrified the nation in the fall of 2001.
from instapaper
6 weeks ago
How France’s Free will reinvent mobile
Xavier Niel, the maverick founder of Iliad, the company behind Free.fr broadband service is about to redefine the mobile landscape, perhaps as early as tomorrow when he launches the much-talked about Free Mobile. In doing so, he will redefine what is the idea of a carrier in the 21st century thanks to a radical new approach. Utilizing a blend of Wifi, HSPA+ 3G, Femto cells and its all-fiber backbone, Free will offer unlimited voice, texting and data over the mobile networks. Just bring your own iPhone. But before I get into the details of his new company, let me back up and tell you about Iliad and Free.fr.
from instapaper
6 weeks ago
Duck Programming
Prior to joining Unspace Interactive, one of our developers worked on an “interesting” project, a project that taught him many lessons. One of those lessons was to beware of “duck programming.” Before we explain that term, let’s have a look at the project and get a feel for what the designers were trying to accomplish.
from instapaper
6 weeks ago
Aandeelhouder 2.0
Ik heb steeds meer moeite met de rol van de aandeelhouder. Als financieel eigenaar van een organisatie staan zijn belangen boven alles. Op menig strategie-slide komt als eerste punt het creëren van aandeelhouderswaarde terug. Dat lijkt logisch, ware het niet dat door de hebzucht die mensen eigen is, de korte termijn vaak prevaleert boven de lange termijn. Daar loopt het systeem nu helemaal op vast.
from instapaper
6 weeks ago
What Happens To Old And Expired Supermarket Foods
As darkness falls, your local supermarket becomes a hive of activity. From canned vegetables and salad dressings to fresh vegetables and deli meats, countless items are removed from shelves by night staff. Approaching their expiration dates or because they are no longer at their peak quality, most stores consider them unfit for sale. With 15,000 different products in an average supermarket and 25,000 in a superstore according to the Food Marketing Institute (FMI), retailers in the US are lumbered with endless pounds of past-their-prime items every year.
from instapaper
6 weeks ago
If PHP Were British
When Rasmus Lerdorf first put PHP together, he - quite sensibly, despite his heritage - chose not to write it in Greenlandic or Danish. Good job too - that would have been rather unpleasant to work with. He opted instead, being in Canada at the time, for the local tongue. No, not French - that bastard dialect of the Queen's English commonly referred to as "US English"1.

PHP developers in Britain have been grumpy about this ever since. What was he thinking? And more importantly, how do we undo this travesty? How do we developers ensure the traditions of the British Empire continue to be upheld, even in the digital age?
from instapaper
6 weeks ago
The Life-Changing $20 Rightward-Facing Cow
The past year has been one of the strangest ever in the life of game designer, lecturer and author Ian Bogost. It started with the launch of the most successful game he's ever developed, and ended with him bringing it to a strange, cathartic end.

That game was Facebook title Cow Clicker, a now-infamous satire against social games. For its creator, though, it's been more complicated than that. As his friend, I confess to being a little relieved it's over with.
from instapaper
6 weeks ago
Why do we pay sales commissions?
Among our many cherished verities and assumed assumptions is the widespread belief—nearly universal practice actually—that salespeople are to be paid commissions. It’s the way things are done. Stop signs are red. Salespeople get commissions.

But why?
from instapaper
6 weeks ago
Anonymous 101: Introduction to the Lulz
Last week the net and the media were ablaze with the news that Anonymous might be taking on the Zeta drug cartel in Mexico, a story that has morphed into a wider drug corruption story, and led to one American law enforcement official in North Carolina being named as a gang conspirator.

Also this year, Anons released documents on, or d0xed, several police organizations and one prominent police vendor in retaliation for heavy-handed law enforcement reaction to occupations associated with the Occupy Wall Street movement. They’ve fought with child pornographers, hacked Sony repeatedly, and even tried to release compromising pictures to blackmail Bay Area Rapid Transit spokesman Linton Johnson into resigning. (Johnson claimed to have authored and then defended BART’s controversial decision to shut off mobile phone service in BART stations to pre-empt an anti-police brutality protest.)

They’ve created law enforcement excitement that’s verged on panic, given net and media pundits hyperbolic logorrhea about “cyber terrorism” and “cyber freedom”, and happily skipped between damn funny, deeply disturbing, and self-aggrandizing, depending on the mood of the hive mind at the moment.

But what is Anonymous?
from instapaper
6 weeks ago
Scrum and Fixed Price Contracts
Fixed Priced contracts don’t make a great deal of sense in a Scrum world. This is really because traditional software development and Agile software development are two different paradigms … and solutions that work in one paradigm often doesn’t make sense in another.
from instapaper
6 weeks ago
Internet Access Is Not a Human Right
FROM the streets of Tunis to Tahrir Square and beyond, protests around the world last year were built on the Internet and the many devices that interact with it. Though the demonstrations thrived because thousands of people turned out to participate, they could never have happened as they did without the ability that the Internet offers to communicate, organize and publicize everywhere, instantaneously.

It is no surprise, then, that the protests have raised questions about whether Internet access is or should be a civil or human right. The issue is particularly acute in countries whose governments clamped down on Internet access in an attempt to quell the protesters. In June, citing the uprisings in the Middle East and North Africa, a report by the United Nations’ special rapporteur went so far as to declare that the Internet had “become an indispensable tool for realizing a range of human rights.” Over the past few years, courts and parliaments in countries like France and Estonia have pronounced Internet access a human right.
from instapaper
6 weeks ago
Spotify's Daniel Ek: The Most Important Man In Music
Spotify’s Daniel Ek created a free, Facebook-enabled platform that could save the recording industry from piracy–and iTunes.
from instapaper
6 weeks ago
The Dumbest Idea In The World: Maximizing Shareholder Value
“Imagine an NFL coach,” writes Roger Martin, Dean of the Rotman School of Management at the University of Toronto, in his important new book, Fixing the Game, “holding a press conference on Wednesday to announce that he predicts a win by 9 points on Sunday, and that bettors should recognize that the current spread of 6 points is too low. Or picture the team’s quarterback standing up in the postgame press conference and apologizing for having only won by 3 points when the final betting spread was 9 points in his team’s favor. While it’s laughable to imagine coaches or quarterbacks doing so, CEOs are expected to do both of these things.”

Imagine also, to extrapolate Martin’s analogy, that the coach and his top assistants were hugely compensated, not on whether they won games, but rather by whether they covered the point spread. If they beat the point spread, they would receive massive bonuses. But if they missed covering the point spread a couple of times, the salary cap of the team could be cut and key players would have to be released, regardless of whether the team won or lost its games.
from instapaper
6 weeks ago
Kanban is the New Scrum
Maybe it’s all the time I spend with startups, but while I strongly value Scrum’s ideas behind self-organizing teams & continual feedback – I can’t help but feel Kanban represents the next level of agility, giving us more flexibility and capitalizing on the lessons we’ve learned from Lean.
from instapaper
7 weeks ago
Fearmongering Gets Started in 2012: Laacher See is Not “Ready to Blow”
A quick post today about a tremendously terrible “article” in the Daily Mail this morning. The headline reads “Is a super-volcano just 390 miles from London ready to blow?” It is, of course, referring to the Laacher See in western Germany – a caldera volcano that had a large eruption 12,900 years ago that covered a significant area of Europe with ash and tephra. Surely impressive considering how few people know about the caldera volcanism in central Europe.
from instapaper
7 weeks ago
Why Software Projects are Terrible and How Not To Fix Them
If you are a good developer and you’ve worked in bad organizations, you often have ideas to improve the process. The famous Joel Test is a collection of 12 such ideas. Some of these ideas have universal acceptance within the software industry (say, using source control), while others might be slightly more controversial (TDD). But for any particular methodology, whether it is universally accepted or only “mostly” accepted, there are a multitude of organizations which don’t employ them. There are many, many shops that do big bang testing, that do Big Design Up Front, that use e-mail for source control, and much worse. What’s going on here? Shouldn’t those companies be out of business?
from instapaper
7 weeks ago
Backbone vs Knockout
There’s an unfortunate dichotomy of “Backbone vs Knockout” floating around these days. It’s mostly in the .NET space where Knockout tends to get the most attention but I’ve heard others mention this, too. It’s an unfortunate argument, though. Both libraries are great, both are very powerful and both solve different problems in the front-end development space. The major difference between the two is the focus of each.
from instapaper
7 weeks ago
The Town that Blew Away
Just past midnight on April 28, the tiny community of Vaughn was going to sleep. Forty-five seconds later, it was no longer there.
from instapaper
7 weeks ago
Kanban Isn’t the Answer to Bad Product Ownership
The Scrum Product Owner has a tough job. Translating business strategy into product strategy and ultimately into teeny-tiny user stories takes a ton of time and effort. Most Product Managers don’t have the time or inclination to be a good Product Owner and most Business Analysts, the people most likely to fill the gap, don’t actually own the product. I almost always recommend to my clients that a team of people work together to fill this role. I don’t really care about the whole ‘single wringable neck’ thing… all I want is well groomed prioritized product backlog, and I think there is more than one way we can get there.

Here is the deal… when teams can’t get well groomed product backlog, it is almost impossible to do Scrum. Teams spend too much time figuring out what to build during sprint planning and not enough time figuring out how to build it. Because teams don’t know how to build the stories, they never really consider if the stories were estimable, nor really discuss how they could swarm to get the stories done earlier in the sprint. This will often result in teams of people that don’t work as teams, daily standup meetings that suck, and missed commitment after missed commitment. Not fun.
from instapaper
7 weeks ago
Agile Vs. Lean: Yeah Yeah, What’s the Difference?
Is Agile the same as Lean? When people say “agile” do they really mean Scrum? Or do people still use different types of agile – and if so, why?

Been getting a lot of questions lately, so thought I’d take a stab at this…
from instapaper
7 weeks ago
Apple Wireless Keyboard
Helper that Allows people use the Apple Wireless Keyboard under Windows 7 without loosing the mac functionality.
windows  apple  keyboards 
7 weeks ago
Smoke Screening
As you stand in endless lines this holiday season, here’s a comforting thought: all those security measures accomplish nothing, at enormous cost. That’s the conclusion of Charles C. Mann, who put the T.S.A. to the test with the help of one of America’s top security experts.
from instapaper
8 weeks ago
De kracht van transparantie
De controverse tussen Johan Cruijff en de rest van de Raad van Commissarissen bij Ajax is natuurlijk te bedroevend voor woorden. Met name de persoonlijke schade die mensen hierdoor op lopen is niet goed te praten. Het positieve eraan is wel dat het inzicht geeft in hoe bepaalde bestuurders denken en handelen. Door het vergrootglas wat de media erop legt, krijgen wij hier meer van te zien dan normaliter het geval is. Want vergis je niet, dit is normaal gedrag in de bestuurskamers.
from instapaper
8 weeks ago
Lego Is for Girls
Focusing on boys saved the toymaker in 2005. Now the company is launching Lego Friends for “the other 50 percent of the world’s children.” Will girls buy in?
from instapaper
9 weeks ago
Review of George Orwell's Nineteen Eighty Four
James Joyce, in the person of Stephen Dedalus, made a now famous distinction between static and kinetic art. Great art is static in its effects; it exists in itself, it demands nothing beyond itself. Kinetic art exists in order to demand; not self-contained, it requires either loathing or desire to achieve its function. The quarrel about the fourth book of ''Gulliver's Travels'' that continues to bubble among scholars -- was Swift's loathing of men so great, so hot, so far beyond the bounds of all propriety and objectivity that in this book he may make us loathe them and indubitably makes us loathe his imagination? -- is really a quarrel founded on this distinction. It has always seemed to the present writer that the fourth book of ''Gulliver's Travels'' is a great work of static art; no less, it would seem to him that George Orwell's new novel, Nineteen Eighty-Four, is a great work of kinetic art. This may mean that its greatness is only immediate, its power for us alone, now, in this generation, this decade, this year, that it is doomed to be the pawn of time. Nevertheless it is probable that no other work of this generation has made us desire freedom more earnestly or loathe tyranny with such fullness.
from instapaper
9 weeks ago
I Was Kim Jong Il's Cook
The author, who writes under a pseudonym, is a Japanese sushi chef. In 1982, at the invitation of a Japanese-North Korean trading company, he started working in a sushi restaurant in Pyongyang. In 1988 he agreed to serve as Kim Jong Il's personal chef—a job he held until 2001. In April of that year, having realized the extent of the paranoid and oppressive surveillance he was under, he escaped to Japan. In 2003, in Japanese, he published Kim Jong Il's Chef (Fuso Publishing, Inc.), from which these excerpts are drawn.
from instapaper
9 weeks ago
Friending the New York Scene
Since moving to Manhattan three years ago, Sean Parker, a founder of Napster and former president of Facebook, has considerably enlivened New York’s social scene.
from instapaper
9 weeks ago
Agile people still don't get it
I just attended Test-Driven Development presentation which represents everything that is wrong about the way Agile advocates are trying to evangelize their practices. I don’t have anything against the presenter in particular, but it’s really time for Agilists to rethink the way they communicate with the real world.
from instapaper
9 weeks ago
Google Currents - Yet another contribution to the UI-fragmentation of Android
Google, here is the problem: If you cannot make the UI of your apps consistent, how do you expect developers to follow your design language? Which one should they follow? You have to set the bar high. You have to show what a good app is supposed to be like. Developers will follow and the culture will be created. E.g. Apple set the bar for realistic textured apps. Developers followed.
from instapaper
9 weeks ago
GNU Emacs For Mac OS X
Pure Emacs! No Extras! No Nonsense!
emacs  macosx 
9 weeks ago
Meanwhile… on the command side of my architecture
Since writing applications in .NET, I've been separating operations that mutate state (of the database mostly) and operations that return data. Basically, this is what the Command-query separation principle is all about. Over the years the design I used has evolved. Triggered by a former colleague of mine, I started to use the Command Pattern about four years back as the design around state mutations in my business layer. We called them business commands, since a single command would represents an atomic business operation, or single use case.

This model has worked well for the last couple of years, and in a sense, I'm still using it today. However the design was around command classes that contained both properties to hold the data and an Execute() method that would start that operation. The last few years however, the projects I participated in, increased in complexity and I started doing things like Test Driven Development and Dependency Injection (DI). I soon started to notice the flaws in this design (DI has this tendency of exposing violations of the SOLID principles) and that design hindered me in the maintainability of these applications.
from instapaper
9 weeks ago
How to Disagree
The web is turning writing into a conversation. Twenty years ago, writers wrote and readers read. The web lets readers respond, and increasingly they do—in comment threads, on forums, and in their own blog posts.

Many who respond to something disagree with it. That's to be expected. Agreeing tends to motivate people less than disagreeing. And when you agree there's less to say. You could expand on something the author said, but he has probably already explored the most interesting implications. When you disagree you're entering territory he may not have explored.
from instapaper
9 weeks ago
This Tech Bubble is Different
Tech bubbles happen, but we usually gain from the innovation left behind. This one—driven by social networking—could leave us empty-handed.
from instapaper
9 weeks ago
Offbeat: Scala by the end of 2011 – No Drama but Frustration is Growing
I wanted to put our two cents when Yammers’ personal email was leaked week or so ago but kind of waited to let the dust settle. We are active Scala developers with several years and production code behind us – and so we have this rare “real live” experience with Scala…

In two years we went from having Scala as a very strategic choice to have it simply as an interesting (and mostly enjoyable) technology that we use to develop some (and rather small) parts of our platform. I still think, as I always did, that Scala is wonderfully elegant and relatively simple language. For the first time someone has combined OOP and FP in a extremely practical general purpose programming language.

But our team’s enthusiasm significantly decreased over the last 12 months as it became obviously clear that Scala won’t be the eventual Java replacement for most of the enterprise Java development. Moreover, more and more people are starting to painfully realize that Scala won’t even make any significant dent on Java eco-system at all – remaining forever in 1-2% territory for very specialized projects where FP focus or DSL capabilities override any other requirements. With Java 8 coming up quickly, with Kotlin, Ceylon and Clojure nibbling on the edges (even if some of them don’t yet exist!), Groovy going strong – Scala simply doesn’t have much room to grow or maneuver.
from instapaper
10 weeks ago
The Elephants in the Agile Room
During the 10 years agile celebration meeting in Snowbird, UT, organized by Alistair Cockburn on February 12, after covering the walls with a couple of hundred issues cards, David Anderson noted that there was “an elephant in the room”, a topic that few are willing to debate in the pen, namely the Agile Alliance (its role, mission, accomplishments, etc.). After the lunch, a small group gathered and identified a few other such elephants in the room, other topics that the agile community is not really willing to tackle for a variety of reasons. We ended up with a long list of about 12 such “undiscussable” topics (or at least not discussable in the open).
from instapaper
10 weeks ago
A Case Against Using CoffeeScript
I recently started working at Instructure, an LMS provider that’s, for the most part, a ruby on rails shop. The team had started using CoffeeScript before I showed up, but gave the decision to me to keep it, or kick it to the curb. I think it says a lot about our company that we can use bleeding edge technology in our flagship product, and I’d hate to make any decisions that would hamper that culture. So, I write CoffeeScript at work.

Additionally, I’m writing an experiemental CoffeeScript branch of SnackJS. Once that’s done, I think I’ll have as much experience with using CoffeeScript as anybody, and probably more than most. I’ll have written a library by myself, and worked in a large application with other engineers in a public facing product.

But for now I’m still on the fence. However, this post is going to sound like I hate CoffeeScript. After a couple months of reviewing and writing CoffeeScript I’ve got a few beefs I’d like to get off my chest. Since there’s very little educated criticisms of the language out there, I’m happy to fill the gap :)
from instapaper
10 weeks ago
Java Doesn't Need to Be So Bad
I do a lot of Java coding and I enjoy it. I admit that there is a lot of typing, often a lot of boilerplate and getting even simple tasks done can involve too much work. Most of the tools that try to fix these problems trade one moment saved for another lost. Maven's XML based configuration file is a good example: Thank you for making my project easier to manage and I won't forget that you made me edit XML to do so.

These are the things that you live with, these are the things you trade for using a language that thinks it's finishing what C++ started; a language that is loved equally by mammoth corporate IT departments, mammoth corporate IT vendors and mammoth corporate IT consultants. What you don't need to tolerate is this tendency to crazily over-engineer even the simplest solutions.
from instapaper
10 weeks ago
The HipHop Virtual Machine
We're always looking for ways to make our computing infrastructure more efficient, and in 2010 we deployed HipHop for PHP to help support the growing number of Facebook users. While HipHop has helped us make significant gains in the performance of our code, its reliance on static compilation makes optimizing our code time consuming. We were also compelled to develop a separate HipHop interpreter (hphpi) that requires a lot of effort to maintain. So, early last year, we put together a small team to experiment with dynamic translation of PHP code into native machine code. What resulted is a new PHP execution engine based on the HipHop language runtime that we call the HipHop Virtual Machine (hhvm). We're excited to report that Facebook is now using hhvm as a faster replacement for hphpi, with plans to eventually use hhvm for all PHP execution. 
from instapaper
10 weeks ago
In praise of impractical programming
It’s great that it’s gotten easier for non-programmers to write code and build things. But that doesn’t mean we should forget the merits of weirder, whimsical, gloriously impractical approaches.
from instapaper
10 weeks ago
Scala's version fragility make the Enterprise argument near impossible
I have been working with Scala for more than five years. In those five years, I've seen Scala evolve and seen the ecosystem and community evolve.

An attribute of Scala is that the Scala compiler generates fragile byte-code. This means that all the code in an executable (JAR or WAR) must be compiled with the same library and compiler versions. If you're using Scala 2.9.1 in your project, you must compile against a version of Lift that's compiled against Scala 2.9.1 and all the Lift dependencies must also be compiled against that version of Scala. This is a reason that Lift has precious few Scala library dependencies. It's also a reason that Lift is sprawling... there are a lot of modules in Lift that need to be cross-compiled and rather than having an external ecosystem of modules, we need to make them part of Lift to make sure they are all compiled against all the versions of Scala that Lift supports.
from instapaper
10 weeks ago
Are You Agile?
The most agile teams we know of are consistently delivering the highest business value the fastest, and over the longest period. The most agile teams do seem to be the most efficient. But agility is not easy. While built on a set of very simple concepts, agility represents a fundamentally different way of doing business. High levels of agility require a substantial commitment to education and training, new tools and techniques, patient transition, and cultural change. This commitment must flow from management downward, and from the team upward.
agile 
11 weeks ago
How Agile Are You? (Take This 42 Point Test)
Recently I saw a brief set of questions from Nokia to assess whether or not a team is ‘agile’.

And by ‘agile’, I think they meant to what extent the team was following agile practices Scrum and XP (eXtreme Programming), not whether or not they could touch their toes :)

I’m not sure if it was deliberately brief to emphasise the things that are the real *essence* of agile, but we’ve developed the questions into a more comprehensive set of statements. A set of statements that make a fuller assessment of someone’s status with agile principles and methods.

Here they are…
agilesoftwaredevelopment 
11 weeks ago
The Scrum but Test
Bas Vode has developped a small test for teams he was coaching at Nokia, it has been called Nokia Test.
In 2008, Jeff Sutherland improved it in adding a scoring system. In its CSM courses, he called it "Scrum But" test.
It is that version that we propose you to pass.
scrum 
11 weeks ago
What Powers Instagram: Hundreds of Instances, Dozens of Technologies
One of the questions we always get asked at meet-ups and conversations with other engineers is, “what’s your stack?” We thought it would be fun to give a sense of all the systems that power Instagram, at a high-level; you can look forward to more in-depth descriptions of some of these systems in the future. This is how our system has evolved in the just-over-1-year that we’ve been live, and while there are parts we’re always re-working, this is a glimpse of how a startup with a small engineering team can scale to our 14 million+ users in a little over a year. Our core principles when choosing a system are:

Keep it very simple
Don’t re-invent the wheel
Go with proven and solid technologies when you can
from instapaper
11 weeks ago
24 Common Scrum Pitfalls Summarized
Scrum is the most popular agile method… if you count all of the teams doing “Scrum Butt”. Doing Scrum really well is much harder and much rarer. Here is a list of 24 common pitfalls or bad behaviours of Scrum teams.
from instapaper
11 weeks ago
Product Engineering
Mike Lee discusses the many facets of product engineering: planning, implementing, testing, team, funding, marketing, customers, platform, market, and shipping, all from a non-technical perspective.
from instapaper
11 weeks ago
The end of social
Much as I'm tempted to talk about Facebook privacy, I'm going to resist. Plenty has been written about Facebook and privacy, Facebook and "forced" sharing, Facebook and sharing by default, Facebook this and Facebook that. And I'm sure much more will be written about it.

Tim O'Reilly has been supportive of Facebook. The company has frequently been clumsy, but it's also been willing to push the limits of privacy in ways that might be potentially creative and in ways that might potentially create more value for us than we give up.
from instapaper
11 weeks ago
gist: 1406238
Thanks for pinging me; it's nice to know Typesafe is keeping tabs on this, and I appreciate the tone. This is a Yegge-long response, but given that you and Martin are the two people best-situated to do anything about this, I'd rather err on the side of giving you too much to think about. I realize I'm being very critical of something in which you've invested a great deal (both financially
and professionally) and I want to be explicit about my intentions: I think the world could benefit from a better Scala, and I'd like to see that work out even if it doesn't change what we're doing here.
from instapaper
11 weeks ago
The Revolution According to Steve Jobs
I can’t find the tape of my first interview with Steve Jobs. At some point in the past 28 years—the conversation took place in November 1983—it got lost. But I do have the 43-page transcript, complete with the transcriber’s misunderstandings (“lease the technology” instead of “Lisa technology,” for instance). It was the first of what turned out to be many interviews, currently stacked in a dog-eared tower of pages here on my desk. After Jobs died on October 5, I’ve found myself drawn back to this archive and now realize that it comprises an idiosyncratic portrait of Jobs himself as he evolved over the years.
from instapaper
12 weeks ago
Scrum-ban
As more people become interested in Lean ideas and their application to knowledge work and project management, it’s helpful to find ways that make it easier to get started or learn a few basic concepts that can lead to deeper insights later. For those that are curious about kanban in an office context, it’s not unusual to find people who are either currently using Scrum, or have some understanding of Scrum as representative of Agile thinking. One way or another, Scrum users are an important constituent of the Kanban audience. Since Scrum can be described as a statement in the language we use to describe kanban systems, it is also fairly easy to elaborate on that case in order to describe Scrum/Kanban hybrids. This can be useful for existing Scrum teams who are looking to improve their scale or capability. It can also be useful for more cautious new users who find comfort in an “established” method1.
from instapaper
12 weeks ago
Pre-Occupied: The origins and future of Occupy Wall Street
Kalle Lasn spends most nights shuffling clippings into a binder of plastic sleeves, each of which represents one page of an issue of Adbusters, a bimonthly magazine that he founded and edits. It is a tactile process, like making a collage, and occasionally Lasn will run a page with his own looped cursive scrawl on it. From this absorbing work, Lasn acquired the habit of avoiding the news after dark. So it was not until the morning of Tuesday, November 15th, that he learned that hundreds of police officers had massed in lower Manhattan at 1 A.M. and cleared the camp at Zuccotti Park. If anyone could claim responsibility for the Zuccotti situation, it was Lasn: Adbusters had come up with the idea of an encampment, the date the initial occupation would start, and the name of the protest—Occupy Wall Street. Now the epicenter of the movement had been raided. Lasn began thinking of reasons that this might be a good thing.
from instapaper
12 weeks ago
Manual:Short URL
According to World Wide Web inventor Tim Berners-Lee, good page addresses should never change.[1] Short URLs which hide complex programming code from the page address are good for webpage visitors. Please take a few minutes to devise a stable URL structure for your website before getting started, to reduce problems later.[2] This page has been divided into separate "how to" mini-guides listed below to make things easier.
mediawiki 
12 weeks ago
DocForge Programming Wiki
Welcome to DocForge, an open wiki for programmers. Anyone can contribute documentation, articles, and tips for software developers. Our mission is to be a central repository for information helpful to those who create software.
softwareengineering 
12 weeks ago
Programming Languages: What tool is right for which job?
We all talk about using the right tool for the job in the context of programming items. But which job? And what's the right tool for it?

I want your help in determining the answer for this.
softwareengineering  programminglanguages 
12 weeks ago
The Rise and Fall of Bitcoin
In November 1, 2008, a man named Satoshi Nakamoto posted a research paper to an obscure cryptography listserv describing his design for a new digital currency that he called bitcoin. None of the list’s veterans had heard of him, and what little information could be gleaned was murky and contradictory. In an online profile, he said he lived in Japan. His email address was from a free German service. Google searches for his name turned up no relevant information; it was clearly a pseudonym. But while Nakamoto himself may have been a puzzle, his creation cracked a problem that had stumped cryptographers for decades. The idea of digital money—convenient and untraceable, liberated from the oversight of governments and banks—had been a hot topic since the birth of the Internet. Cypherpunks, the 1990s movement of libertarian cryptographers, dedicated themselves to the project. Yet every effort to create virtual cash had foundered. Ecash, an anonymous system launched in the early 1990s by cryptographer David Chaum, failed in part because it depended on the existing infrastructures of government and credit card companies. Other proposals followed—bit gold, RPOW, b-money—but none got off the ground.
from instapaper
12 weeks ago
Kerstbomen
Nou heet Mauro weer Jossef en woont hij in Alkmaar. De jongen is zo Noord-Hollands als de kaasmarkt daar. Hij moet alleen maar weg omdat hij zwart is. Althans zo subtiel zou de heilige Cruijff het gezegd hebben. Het mannetje woont acht jaar in Nederland. Hoe oud hij is? Negen. De wet zegt dat hij op moet rotten. En zolang de PVV in ons land de scepter zwaait is de wet de wet. Geen enkele uitzondering bevestigt de regels. Geen één hand durft over het hart te strijken. Wat is er gebeurd dat we dit land geworden zijn? Humor- en meedogenloos! Geen politicus in de buurt van Alkmaar durft zich aan de zaak Jossef te branden. Gevolg: een jochie dat hier acht van zijn negen levensjaren heeft gewoond wordt teruggestuurd naar zijn land van herkomst. Eritrea in dit geval. Een land waar hij niks te zoeken heeft en dus ook niks zal vinden. Hij loopt kans om samen met zijn moeder te worden opgesloten en gemarteld. Grote kans? Ja.
from instapaper
12 weeks ago
The making of the Xbox: How Microsoft unleashed a video game revolution (part 1)
Microsoft launched its Xbox video game console a decade ago this week. Nobody expected it to succeed. The skeptics were out in force when the giant-size console launched on Nov. 15, 2001.

But it turned out to be successful beyond Microsoft’s wildest expectations. Microsoft lost (or, more politely, invested) more than $4 billion in the first console. But it has created an entertainment business that is now much more valuable than that, said Robbie Bach, the former head of Microsoft’s game business and the highest-ranking executive who was present at the beginning of the project through his retirement last year.

Microsoft’s second console, the Xbox 360, and the game business that goes with it are now churning out more than $1 billion in profits a year in what has become Microsoft’s most successful diversification to date. The making of the Xbox was a historic event that changed gaming forever, allowing Microsoft’s brand to be associated with something cool and sexy for the first time.
from instapaper
12 weeks ago
Screaming Architecture
Imagine that you are looking at the blueprints of a building. This document, prepared by an architect, tells you the plans for the building. What do these plans tell you?

If the plans you are looking at are for a single family residence, then you’ll likely see a front entrance, a foyer leading to a living room and perhaps a dining room. There’ll likely be a kitchen a short distance away, close to the dining room. Perhaps a dinette area next to the kitchen, and probably a family room close to that. As you looked at those plans, there’d be no question that you were looking at a house. The architecture would scream: house.
from instapaper
12 weeks ago
Clean Architecture
In the weeks since I started talking about the need to clean up our architecture, I’ve noticed a surprising resistance to the idea. Apparently the notion that it’s a good idea to hide the framework, UI, or database from the application code is not universally accepted.

I first blogged about this topic here, I did some short video blogs here, here, and I did a whole cleancoders.com episode on the topic. I’ve also done several keynotes on the topic, the slides for which are here, and a video recording of which is here.
from instapaper
12 weeks ago
The delivery mechanism is an annoying detail
In my The Frustrated Architect presentation at GOTO Aarhus in October*, I talked about how there are a number of "classic" software design techniques from the pre-agile era that are being used less and less. For example, things like UML, class-responsibility-collaboration cards and component-based design. This is a shame because some of these techniques can complement an agile way of working and would perhaps prevent some wheels from being reinvented. If people don't know about these techniques though, how will they adopt them? I'll come back to this shortly but, first, I was intrigued by this tweet from Uncle Bob a few weeks back.
from instapaper
12 weeks ago
Reflections on Kanban vs. Scrum development
Done and done! 1,5 years of hard work at National Land Survey is over. What a great project! This post will be on my personal findings about Scrum team transition to Kanban. What worked and what not? Moreover, I will try to analyze the failures we made and to come up with some solutions. Let’s get started!
from instapaper
november 2011
An Alternative to Kanban: One-Piece Continuous Flow
I'm pleased to be visiting here as a guest this week at Jeff's invitation. The topic at hand is kanban. Unfortunately, this entry is a bit long, because I want to go beyond the usual level of sound bites afforded to an important topic.
from instapaper
november 2011
How Long Will My Coffee Last?
You can use this calculator to work out how long your coffee supply will last, or to calculate how much coffee you need to buy.
Adjust the sliders to reflect your situation and preferences, then see how many days your supply will last - calculated in front of your very eyes.
coffee  singlepurposewebsites 
november 2011
Metroid Source Code Expanded
This compressed file contains 9 text files that make up the entire source code for the original Metroid game for the NES. These files are an expansion of SnoBro’s Source code he posted a few years ago. The code has been changed to be assemblable with Ophis instead of x816 because of memory issues. Labels corresponding to address values have been added to every line to make the code easier to follow for beginners interested in understanding the inner workings of a Nintendo game. The labels also make the code easier to debug if it is modified. At this time, the source code is still a work in progress but it is much farther along than the original document. The title page is completely documented. The intro routine, end routine, password scheme and sound engine are described in detail. About a third of the game engine is detailed and about half of each game area page.
videogames  softwareengineering  sourcecode 
november 2011
List of Algorithms
A complete list of all major algorithms (300), in any domain. The goal is to provide a ready to run program for each one, or a description of the algorithm. Programming languages include Java, JavaScript and PHP, C, C++ either in direct form or generated from a Scriptol source.
softwareengineering  algorithms 
november 2011
« earlier      
achievements acting actions adobeair adoption aesthetics agile agilesoftwaredevelopment alexpayne algorithms aliceinwonderland amazon analysis anchoring android androidmarket apml apple appleappstore applications appstore architecture art arvidbux asp.netmvc associatedpress audiobooks automator bands barackobama beer blogging boardgames bookmarklets books boxee broadband browsers burlesque business businessmodels calendars calibration capslock characteractors china chiptuning chrishecker chrismessina christinelove christophwaltz civicissues codereviews coffee compression content conversations converters copyleft copyright copyrightinfringment cqrs css css3 curation danbull danielkahneman darksideofthemoon davidcross davidsimon deals debian declarations dependencies dependencyinjection derhumpink design designpatterns dice diplomacy distributedmachinelearning documentaries domaindrivendesign domainnames dominion douglasadams dutch dvcs ebooks economics eduardkhil elections emacs email epicbeardman ereaders ericschmidt eventsourcing evernote everythingbuckets examples experience extensions facebook facialrecognition farmville fastfood fcc feeds fiber filesharing film firefox firmware flowcharts fonts food forms forums fragmentation frameworks freemium from gamedevelopment gamers gamesdesign gametheory garyhustwit gawkermedia generators gimp ginatrapani git gmail goalsetting google googlecalendar googlereader government gradients grammar graphs gregyoung guitarhero gwt hackergotchi halflife hamburgers hammockdrivendevelopment happymeals haskell hdtv health healthcare heavyrain helvetica hibernate history hometheater how-to htc html html5 htpc https humour ical igf igfawards imagemanipulation inception independentgaming infographics insaneclownposse instapaper internet internetidentity internetmemes interviews inversionofcontrol ios ipad iphone itunes jakobnielsen jakobskjerning janemcgonigal jasonyip java javame javascript jeffbezos jeffgerstmann jesseschell jewish jimmykimmel johnperrybarlow jokes jquery jsr303 jurgenappelo kennyg kevinsmith keyboards keyboardshortcuts kindle labels last.fm ldap lenasoderberg leolaporte lesbians lewiscarroll libraries lifehacks linkedin linux list lists liubolin loadtesting loremipsum mac macosx management manuals manuscripts marcopas markdown markuplanguages martinfowler maven mcdonald's mcdonalds mediawiki memes memory mercurial military mobile mocking modelviewpresenter monopolies movies music musicindustry my myspace neilyoung netbeans netneutrality networking neuroscience ngmoco nhibernate notes notifications nudity nutrition oauth openbsd openid openidconnect openup overscan papers paris parodies passwords patmetheny paulfeldman performancetesting persistence photographs photography pictures pieterjanbezemer pillows pinkfloyd pitchfork playboy podcasts politics portforwarding posters presentations pricing privacy productivity products programming programminglanguages protocols psychology publicdomain publishing qrcodes radio rants reading regularexpressions republicans research resumes reviews riavandijk richhickey rockband rogerebert routers rss ruby scala scalatest scarcityeffect scatch scrum security seinfeld semantics Sent shareholders shell shootinggalleries simplenote singlepurposewebsites sittard smileys smodcast socialnetworking software softwarearchitecture softwaredevelopment softwareengineering softwaretesting sofwaredevelopment songs sourcecode sovietunion spaceinvaders spaces spelling spotify spring sprintplanning sqlite squarespace standupmeetings starwars statistics statusquoeffect stephentobolowsky stevejobs stevenlevitt streamingmedia swaffelen synchronization synology systemshock2 systemsthinking taskbaseduis tasks technology ted telecommunicationsreformact television textbooks tfs thehumancentipede thepriceisright thewire thomasbruso tilburg timezones torque trademarkinfringment transparency trololo tutorials tweetieformac twit twitter typography ubuntu udidahan unification unittesting useragents userexperience userinterface userscripts userstyles v8 validation valvesoftware valvesteam versioncontrol video videogames videogamesdevelopmentstudios videos virtualization visualizations vmware vmwareappliances voicerecognition wallpapers wearehunted web webapplications webdesign webdevelopment webhosting weblogs webm whitecollarcrime wikileaks windows wine woot writing xboxlive xhtml xml xmpp xp zynga

Copy this bookmark:



description:


tags: