6.S184 - Zombies drink caffeinated 6.001
"Zombie-like, 6.001 rises from the dead to threaten students again. Unlike a zombie, though, it's moving quite a bit faster than it did the first time. Like the original, don't walk into the class expecting that it will teach you Scheme; instead, it attempts to teach thought patterns for computer science, and the structure and interpretation of computer programs. Three projects will be assigned and graded. Prereq: some programming experience; high confusion threshold."
scheme  sicp  history  programming  cs 
january 2012
Bill Joy's greatest gift to man – the vi editor [printer-friendly] • The Register
"It was a world that is now extinct. People don't know that vi was written for a world that doesn't exist anymore - unless you decide to get a satellite phone and use it to connect to the Net at 2400 baud, in which case you'll realize that the Net is not usable at 2400 baud. It used to be perfectly usable at 1200 baud. But these days you can't use the Web at 2400 baud because the ads are 24KB."
history  programming  vim  vi 
january 2012
Schizophrenia (object-oriented programming) - Wikipedia, the free encyclopedia
"Object schizophrenia or self schizophrenia is a complication arising from delegation and related techniques in object-oriented programming.
An object can be defined as a computing concept combining data and behavior, and having an identity. Objects are typically built on class systems. A base class provides the fundamental or default behavior of an object, and acts as a template for creating objects. A derived class can be used to override behaviors of a base class, and can be used as a template for objects whose behaviors refine those of the base class. As an alternative to inheritance — which is a relatively static concept — some programming languages use delegation, which is semantically equivalent.[1][dubious – discuss] Instead of using one class to refine another, delegation allows one object to override the behavior of another. The original object a (analogous to the base class behaviors) can delegate some of its methods to another object b (analogous to the derived class behaviors). If a delegates its foo method to the bar method of b, then any invocation of foo on a will cause b's bar method to execute. However, bar executes in the context of the a object — for example, its self identifier refers to a rather than to b.
When delegation is used, the question arises: What is the identity of the object a? The identity is split. There are two potentially meaningful self values when executing a method of a. This problem does not arise in most class-based languages, because an object has a single physical identity. With delegation, the object has two identities."
oop  programming  software  smell  antipattern 
january 2012
Refactor This: The Gilded Rose Kata « I Am Not Myself
"Hi and welcome to team Gilded Rose. As you know, we are a small inn with a prime location in a prominent city ran by a friendly innkeeper named Allison. We also buy and sell only the finest goods. Unfortunately, our goods are constantly degrading in quality as they approach their sell by date. We have a system in place that updates our inventory for us. It was developed by a no-nonsense type named Leeroy, who has moved on to new adventures. Your task is to add the new feature to our system so that we can begin selling a new category of items. First an introduction to our system:

All items have a SellIn value which denotes the number of days we have to sell the item
All items have a Quality value which denotes how valuable the item is
At the end of each day our system lowers both values for every item
Pretty simple, right? Well this is where it gets interesting:

Once the sell by date has passed, Quality degrades twice as fast
The Quality of an item is never negative
“Aged Brie” actually increases in Quality the older it gets
The Quality of an item is never more than 50
“Sulfuras”, being a legendary item, never has to be sold or decreases in Quality
“Backstage passes”, like aged brie, increases in Quality as it’s SellIn value approaches; Quality increases by 2 when there are 10 days or less and by 3 when there are 5 days or less but Quality drops to 0 after the concert
We have recently signed a supplier of conjured items. This requires an update to our system:

“Conjured” items degrade in Quality twice as fast as normal items
Feel free to make any changes to the UpdateQuality method and add any new code as long as everything still works correctly. However, do not alter the Item class or Items property as those belong to the goblin in the corner who will insta-rage and one-shot you as he doesn’t believe in shared code ownership (you can make the UpdateQuality method and Items property static if you like, we’ll cover for you)."
kata  programming  software 
december 2011
JuliaLang/julia - GitHub
"Julia is a high-level, high-performance dynamic language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. The library, mostly written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, FFTs, and string processing. More libraries continue to be added over time. Julia programs are organized around defining functions, and overloading them for different combinations of argument types (which can also be user-defined). For a more in-depth discussion of the rationale and advantages of Julia over other systems, see the following highlights or read the introduction in the manual."
programming  language  llvm  julia  fft  fortran  c 
december 2011
jes5199/brid.js - GitHub
brid.js (pronounced like "bridges")
is a LISP that uses JSON instead of S-Expressions
implemented in JavaScript

based upon Peter Norvig's lis.py
(Sorry I dropped your ai-class, Peter.)

This was partially inspired by Stuart Halloway's talks
"Simplicity Ain't Easy" and "Radical Simplicity"

But the real story is:
Sometimes I need to use JSON outside of REST
And I've started using a style of
JSON document that looks a lot like S-Expressions.
javascript  lisp  json  sexps  programming  languages 
november 2011
FACT CHECK: SCADA Systems Are Online Now
"For those who do not know, 747's are big flying Unix hosts. At the time, the engine management system on this particular airline was Solaris based. The patching was well behind and they used telnet as SSH broke the menus and the budget did not extend to fixing this. The engineers could actually access the engine management system of a 747 in route. If issues are noted, they can re-tune the engine in air."
security  unix 
november 2011
Ciclovía - Wikipedia, the free encyclopedia
Each Sunday and holiday certain main streets of Bogotá, Cali, Medellín, and Colombian other municipalities, are blocked off to cars for the exclusive use of runners, skaters, and bicyclists. At the same time, stages are set up in city parks. Aerobics instructors, yoga teachers and musicians lead people through various performances. Bogotá's weekly ciclovías are used by approximately 2 million people (30% of citizens) on over 120 km of carfree streets.[1]
cycling  bicycling  bikes  bicycles  streets 
november 2011
Avería – The Average Font
"I am not a type designer. This is the story of the creation of a new font, Avería: the average of all the fonts on my computer. The field of typography has long fascinated me, and I love playing with creative programming ideas, so it was perhaps inevitable that the idea came to me one day of “generative typography”. A Google on the subject brought up little, and I put the idea to the back of my mind until it occurred to me that perhaps the process of averaging, or interpolating, existing fonts might bring up interesting results."
algorithms  typography  google  ai  software  programming  type  design 
october 2011
Reflections on the WEIRD Evolution of Human Psychology | PLoS Blogs Network
Does psychology’s over-reliance on American undergraduates distort our image of the human species?
psychology  research  science 
october 2011
Mincome - Wikipedia, the free encyclopedia
"Mincome is the name of an experimental Canadian Basic income project that was held in Dauphin, Manitoba during the 1970s. The project, funded jointly by the Manitoba provincial government and the Canadian federal government, began with a news release on February 22, 1974, and was closed down in 1979. The purpose of this experiment was to determine whether a guaranteed, unconditional annual income actually caused disincentive to work for the recipients, and how great such a disincentive would be. A final report was never issued,but Dr. Evelyn Forget [for-ZHAY] has conducted analysis of the research. She found that only new mothers and teenagers worked less. Mothers with newborns stopped working because they wanted to stay at home longer with their babies, and and teenagers worked less because they weren't under as much pressure to support their families, which resulted in more teengers graduating. In addition, those who continued to work were given more opportunities to choose what type of work they did. In addition, Forget finds that in the period that Mincome was administered, hospital visits dropped 8.5 per cent, with fewer incidences of work-related injuries, and fewer fewer emergency room visits from car accidents and domestic abuse.[1]"
mincome  income  experiment  canada  politics  labour  wage 
october 2011
Crossing the Bering Strait and Beringian Gap - Angus Adventures
Despite the fact that a ferry could potentially cross from the USA to Siberia in two hours, political hurdles restrict traffic across this body of water.  It is virtually impossible for a westerner to receive permission to arrive on the Russian shores of the Bering Strait.  An adventurer wishing to kayak, swim, walk over the ice, or sail from Alaska to Siberia across the Bering Strait would have to do so illegally. 
travel 
october 2011
brainwagon » Donald Michie, Alan Turing, Martin Gardner, and Tic Tac Toe
Years ago, I remember reading one of Martin Gardner’s Mathematical Games columns (from March, 1962, in case you want to look it up) where he described an interesting machine for playing tic-tac-toe. It was made entirely out of matchboxes, each one of which had a tic tac toe position on the top. Inside was a collection of colored beads. Each color specified a possible legal move for the position on top. The idea was that you’d play a game by drawing these beads from the appropriate box, and making the appropriate move. At the end of the game, you’d remove the bead from the last box that sent you along the losing path. Eventually, all the losing moves get removed, and the machine plays perfect tic-tac-toe.
tictactoe  games  computerscience 
october 2011
« earlier      later »
3d accessibility activism agile ai ajax algorithm algorithms analytics api app apple architecture art article audio bash bdd bicycle bicycles bike bikes biking blog blogs book books browser business canada career clothing cloud code coding collaboration community computer computers computing conference cool crafts css culture cycling data database design development diy documentation ebook economics editor education electronics email english environment fashion film fitness flash font fonts food framework free freelance freeware fun functional funny furniture gallery game games gaming geek gem generator git github google government graph graphics green guide hack hacking hacks hardware health history home howto html html5 humor humour ideas images inspiration interesting interface interior internet iphone java javascript jobs jquery js kata language languages learning library linux lisp list mac macosx management map maps marketing math mathematics media money movies music network news online oop opensource optimization osx patterns performance philosophy photo photography photos photoshop plugin plugins politics portfolio productivity programming project projectmanagement psychology python rails reference research resource resources retro rspec ruby rubyonrails science screencast search security seo server service shell shopping smalltalk social software sql standards statistics store style sysadmin tdd technology test testing tips tool tools toronto towatch travel tutorial tutorials twitter type typography ui unix urban usability utilities ux video videogames videos vim visualization web web2.0 webdesign webdev wiki wikipedia words work writing

Copy this bookmark:



description:


tags: