Seumas + programming   227

Dodgy Coder: Coding tricks of game developers
If you've got any real world programming experience then no doubt at some point you've had to resort to some quick and dirty fix to get a problem solved or a feature implemented while a deadline loomed large. Game developers often experience a horrific "crunch" (also known as a "death march"), which happens in the last few months of a project leading up to the game's release date. Failing to meet the deadline can often mean the project gets cancelled or even worse, you lose your job. So what sort of tricks do they use while they're under the pump, doing 12+ hour per day for weeks on end?

Below are some classic anecdotes and tips - many thanks to Brandon Sheffield who originally put together this article on Gamasutra. I have reposted a few of his stories and also added some more from newer sources. I have also linked on each story to the author's home page or blog wherever possible.
coding  coder  development  developer  programming  stories  anecdotes  software  2012  february  2012_02_11  article 
february 2012 by Seumas
To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction
The lambda calculus, and the closely related theory of combinators, are important in the foundations of mathematics, logic and computer science. This paper provides an informal and entertaining introduction by means of an animated graphical notation.
programming  functional  notation  lambda  calculus  computing  computers  article 
january 2012 by Seumas
Unfortunate Python - excess.org
Python is a wonderful language, but some parts should really have bright WARNING signs all over them. There are features that just can't be used safely and others are that are useful but people tend to use in the wrong ways.

This is a rough transcript of the talk I gave at my local Python group on November 15, with some of the audience feed back mixed in. Most of this came from hanging around the Python IRC channel, something I highly recommend.
programming  coding  python 
december 2011 by Seumas
How To Safely Store A Password | codahale.com
Use bcrypt

Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt.

Why Not {MD5, SHA1, SHA256, SHA512, SHA-3, etc}?

These are all general purpose hash functions, designed to calculate a digest of huge amounts of data in as short a time as possible. This means that they are fantastic for ensuring the integrity of data and utterly rubbish for storing passwords.
encryption  password  passwords  security  bcrypt  codahale  programming  coding  cryptography  cryptology  salt  salts  hash  hashes  md5  sha1  sha256  sha512  sha3  2010  january  2010_01_31  february  2011  2011_02_24  technology  tech  computer  computers  cracking 
june 2011 by Seumas
Mailgun: Programmable Email Servers and Mailbox API
Send, track and analyze. Receive, parse and store.
Using Mailgun APIs.
mailgun  api  service  email  mail  smtp  coding  programming 
may 2011 by Seumas
LKML: Linus Torvalds: Re: [stable] Linux 2.6.25.10
Btw, and you may not like this, since you are so focused on security, one
reason I refuse to bother with the whole security circus is that I think
it glorifies - and thus encourages - the wrong behavior.

It makes "heroes" out of security people, as if the people who don't just
fix normal bugs aren't as important.
linus_torvalds  linux  operating_system  os  open_source  opensource  oss  floss  lkml  mailing_list  list  email  mail  usenet  security  bug  bugs  2008  july  2008_07_15  technology  development  developer  programming  coding 
may 2011 by Seumas
Why we use Haskell — lablog
As a newly started company, we have a lot of technical decisions to make. One of the important ones is the choice of a programming language. Since we’re building a web application, this goes for both the client (i.e. the web browser) and the server.

On the client, there wasn’t much discussion. Javascript is the only viable choice, unless you want to use Flash or similar plugin-based models. But on the server, we had more freedom. Popular choices for web applications are dynamically typed languages like Ruby, Python and PHP, and statically typed languages like Java and C#.

However, there was another option. Two of us (me and Sebas) are enrolled in the Software Technology master program at Utrecht University, where we often use the programming language Haskell. Haskell is a functional programming language, which means that a program is composed of expressions instead of statements, as is the case in an imperative programming language.

As you might have guessed from the title of this post, we decided to use Haskell for our server side programming. What are the features that made us choose Haskell?
typlab  haskell  language  programming  coding  development  silk  2009  september  2009_09_22 
april 2011 by Seumas
Readme Driven Development
I hear a lot of talk these days about TDD and BDD and Extreme Programming and SCRUM and stand up meetings and all kinds of methodologies and techniques for developing better software, but it's all irrelevant unless the software we're building meets the needs of those that are using it. Let me put that another way. A perfect implementation of the wrong specification is worthless. By the same principle a beautifully crafted library with no documentation is also damn near worthless. If your software solves the wrong problem or nobody can figure out how to use it, there's something very bad going on.
development  developer  programming  coding  documentation  readme  tom_preston-werner  2010  august  2010_08_23 
april 2011 by Seumas
Doom Engine source code review.
Before studying the iPhone version, it was important for me to understand how Doom engine WAS performing rendition back in 1993. After all the OpenGL port must reuse the same data from the WAD archive. Here are my notes about Doom 1993 renderer, maybe it will help someone to dive in.
3d  doom  id  games  gaming  programming  coding  development  iphone  retro  history  rendering  article  1993  january  2010  2010_01_13 
april 2011 by Seumas
simple algorithms
This is a place to find information about some of the more fundamental algorithms used in computer science. This information is widely available on the net, but hopefully the way it's presented and discussed here will resonate with you.

Most of these are things you wouldn't need to write yourself. Modern libraries and languages tend to have quality implementations for all of this. Nonetheless, I truly believe that understanding how things work is key to improving how we work.
algorithm  algorithms  cs  data  structures  programming  coding  code  reference 
april 2011 by Seumas
Rails – Integrate Autotest and RSpec in Linux | Eureka!
I am learning Rails 3 @ Ruby on Rails Tutorial by Michael Hartl. A very nice and detail tutorial with many examples for beginners. Highly recommended.

But i got some problems when i tried to setup the Autotest for the RSpec framework. Autotest is a continuous testing tool which run the test suite automatically based on the files you have changed. RSpec is a Behavior Driven Development (BDD) framework for Ruby. After a few hours of struggling, i finally made it work.
rails  rspec  linux  ruby_on_rails  ruby  autotest  testing  development  programming  coding  tdd  2010  november  2010_11_15 
april 2011 by Seumas
Getting started with Autotest - Continuous Testing
Why manually run your tests, when the computer can do it for you! Autotest is a great tool to speed up test-driven development with Ruby or Ruby on Rails.

Autotest makes your coding session even more productive as it automatically runs a subset of your test suite each time you change a file. Autotest is smart – it figures out which subset to run based on the files you’ve changed. Think of it as Continuous Testing.

Autotest source code is well-documented (rdoc) but finding a high level overview online is a little more challenging. This article will get you up and running in no time, so that you may concentrate on writing code. Let’s get Started!
autotest  testing  test  tdd  rspec  ruby  rails  ruby_on_rails  programming  coding  development  tool  utility  documentation  software 
april 2011 by Seumas
Clever Algorithms
The book "Clever Algorithms: Nature-Inspired Programming Recipes" by Jason Brownlee PhD describes 45 algorithms from the field of Artificial Intelligence. All algorithm descriptions are complete and consistent to ensure that they are accessible, usable and understandable by a wide audience.
ai  algorithm  algorithms  book  programming  ebook  jason_brownlee  free  pdf 
april 2011 by Seumas
Learn Python The Hard Way: Learn Python The Hard Way
This is the site for the book "Learn Python The Hard Way". The book is a very beginner book for people who want to learn to code. If you can already code then the book will probably drive you insane. It's intended for people who have no coding chops to build up their skills before starting a more detailed book.
book  ebook  programming  coding  zedshaw  python  guide  tutorial  language  languages 
april 2011 by Seumas
Linux: C++ In The Kernel? | KernelTrap
A recent posting to the lkml requested help in porting the C++ Click Modular Router kernel module from the 2.4 stable kernel to the 2.6 stable kernel. The request was for ideas on fixing C++ related compilation errors, but the thread quickly turned into a lengthy debate on whether or not C++ had a place in the Linux kernel. The issue has been debated many times before, long ago earning its own entry in the lkml FAQ which offers numerous reasons why the kernel is not written in C++.

During the recent discussion, when it was suggested that perhaps the kernel is written in C simply because "we've always done it that way...", Linux creator Linus Torvalds joined in to explain:

"In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.

"The fact is, C++ compilers are not trustworthy. They were even worse in 1992, but some fundamental facts haven't changed: 1) the whole C++ exception handling thing is fundamentally broken. It's _especially_ broken for kernels. 2) any compiler or language that likes to hide things like memory allocations behind your back just isn't a good choice for a kernel. 3) you can write object-oriented code (useful for filesystems etc) in C, _without_ the crap that is C++."
kerneltrap  kernel  linux  programming  coding  c++  linus  torvalds  linus_torvalds  cpp  history  developer  developers  development  2004  january  2004_01_20  discussion 
april 2011 by Seumas
RSpec.info: Home
RSpec is a Behaviour-Driven Development tool for Ruby programmers. BDD is an approach to software development that combines Test-Driven Development, Domain Driven Design, and Acceptance Test-Driven Planning. RSpec helps you do the TDD part of that equation, focusing on the documentation and design aspects of TDD.
rspec  ruby  bdd  tdd  test_driven_development  ruby_on_rails  rails  programming  coding  testing  framework  rspec-rails 
march 2011 by Seumas
RVM: Ruby Version Manager - RVM Ruby Version Manager - Documentation
RVM allows users to deploy each project with its own completely self-contained and dedicated environment--from the specific version of ruby all the way down to the precise set of required gems to run the application. Having a precise set of gems also avoids the issue of version conflicts between projects, causing difficult-to-trace errors and hours of hair loss. With RVM, NO OTHER GEMS than those required are installed. This makes working with multiple complex applications where each has a long list of gem dependencies efficient. RVM allows us to easily test gem upgrades by switching to a new clean set of gems to test with while leaving our original set intact. It is flexible enough to even have a set of gems per environment or development branch--or even individual developer's taste!
rvm  ruby  rubyonrails  ruby_on_rails  rails  programming  coding  devleopment  gems  tool  utility  install  installer  installation  ruby_version_manager  instructions  documentation  docs  doc  guide  howto 
march 2011 by Seumas
YouTube - How to Install Ruby 1.9.2 and Rails 3.0 on Ubuntu 10.10 [HD]
Peter Cooper shows you how to easily and reliably install Ruby 1.9.2 and Rails 3.0 on Ubuntu 10.10. Based roughly around Ryan Bigg's written tutorial at http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you
youtube  video  ruby  programming  development  coding  language  ruby_on_rails  rails  installation  installing  screencast  guide  tutorial  howto  aptitude  ubuntu  2010  december  2010_12_28 
march 2011 by Seumas
Oppugn.us: Where The Rants Go
I think I'm going to create the ultimate software development methodology. It'll be revolutionary compared to others because it will focus on the one thing that gets software done. Its entire focus will be this one, glorious, completely useful activity for writing software. It's name even embodies the perfection of this programming methodology. The name is: Programming, Motherfucker
zed_a_shaw  management  programming  coding  development  article  blog 
march 2011 by Seumas
Django | The Web framework for perfectionists with deadlines
Developed four years ago by a fast-moving online-news operation, Django was designed to handle two challenges: the intensive deadlines of a newsroom and the stringent requirements of the experienced Web developers who wrote it. It lets you build high-performing, elegant Web applications quickly.
django  framework  programming  python  web  language  coding 
march 2011 by Seumas
20 Fresh JavaScript Data Visualization Libraries
There are plenty of JavaScript libraries out there for rendering your otherwise plain and boring numerical data into beautiful, interactive, and informative visualizations. The beauty of using JavaScript for data visualization is that, if created correctly, your data will be highly accessible (usually via HTML tables). A long time ago (2008), I wrote about JavaScript solutions for graphing and charting data and this article revisits the topic with twenty more JavaScript libraries that you can use to bring your data to life.
jacob_gube  six_revisions  javascript  charts  chart  data  graphs  images  presentation  visualization  jquery  coding  programming  development  developer  designer  web  webdesign  libraries  lib  libs  list  2010  january  2010_01_17 
march 2011 by Seumas
PEP 8 -- Style Guide for Python Code
This document gives coding conventions for the Python code comprising the standard library in the main Python distribution. Please see the companion informational PEP describing style guidelines for the C code in the C implementation of Python[1].

This document was adapted from Guido's original Python Style Guide essay[2], with some additions from Barry's style guide[5]. Where there's conflict, Guido's style rules for the purposes of this PEP. This PEP may still be incomplete (in fact, it may never be finished <wink>).
coding  code  programming  development  style  reference  post  guide  python  doc  docs  documentation  python_enhancement_proposal  2001_07_05  july  2001 
march 2011 by Seumas
Dive Into Python
Dive Into Python is a Python book for experienced programmers. You can buy a printed copy, read it online, or download it in a variety of formats. It is also available in multiple languages.
programming  coding  python  reference  book  books  free 
march 2011 by Seumas
resources - What is the single most influential book every programmer should read? - Stack Overflow
If you could go back in time and tell yourself to read a specific book at the beginning of your career as a developer, which book would it be?

I expect this list to be varied and to cover a wide range of things.
books  book  list  programming  coding  code  development  developers  question  stackoverflow  thread  discussion  forum  2009 
march 2011 by Seumas
Apache CouchDB: The Apache CouchDB Project
Apache CouchDB is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript. CouchDB also offers incremental replication with bi-directional conflict detection and resolution.

CouchDB provides a RESTful JSON API than can be accessed from any environment that allows HTTP requests. There are myriad third-party client libraries that make this even easier from your programming language of choice. CouchDB’s built in Web administration console speaks directly to the database using HTTP requests issued from your browser.

CouchDB is written in Erlang, a robust functional programming language ideal for building concurrent distributed systems. Erlang allows for a flexible design that is easily scalable and readily extensible.
apache  couchdb  db  database  nosql  software  oss  foss  opensource  programming  apache_software_foundation 
march 2011 by Seumas
How to construct a web developer in twelve months | Graceful Exits
A friend got in touch recently to ask for help on making a career change into web development. They were involved in technology some fifteen years ago—more than me in a lot of ways—but appreciated that things had changed almost beyond recognition, so they would at least need to upskill and were worrying if they should concentrate on retraining and getting an academic qualification. In effect, they were giving themselves maybe twelve months of spare time to become at least savvy enough for an entry-level job in the industry, and wanted to know if I could advise them.

I didn't initially see how I could possibly help them. After all, in terms of web development I'm almost completely self-taught, and a lot of that has been through processes of osmosis and curiosity rather than through any particular grand plan. Also, my career has been one of sideways motion first—DPhil student to LATEX compositor to journals e-publisher to web and CMS developer—and any upwards motion very much later, so it's not as though there was a clear path set down from the start that I could advise on.
jpstacey  development  learning  programming  web  design  webdev  developer  article  march  2011  2011_03_13 
march 2011 by Seumas
Stroustrup: newsgroup posting
Sometime -- in the spring of 1993, I think -- I posted a message to comp.lang.c++ as part of a debate of how one should approach learning C++. This message has been widely circulated and even re-printed in a couple of books. It is part of the "Interest and Use" chapter of The Design and Evolution of C++.
programming  coding  stroustrup  language  design  reference  c  c++  1993  bjarne_stroustrup 
october 2010 by Seumas
« earlier      

related tags

3d  2001_07_05  2004_01_20  2008_07_15  2009_09_22  2010_01_13  2010_01_17  2010_01_31  2010_08_08  2010_08_23  2010_10_15  2010_11_15  2010_12_28  2011_02_24  2011_03_03  2011_03_13  2011_10_13  2011_12_29  2012_02_09  2012_02_11  actionscript  admin  advent  advice  aggregator  ai  ajax  algorithm  algorithms  analysis  anecdotes  ansi  apache  apache_software_foundation  api  apple  applications  apps  aptitude  architecture  archive  arstechnica  article  articles  artificial_intelligence  atari  audio  august  autotest  avatar  basic  bbc  bcrypt  bdd  beanstalk  beer  bitloot  bitnami  bjarne_stroustrup  blog  book  books  bottles  browser  browsers  bug  bugs  bugtracker  business  button  c  c++  calculator  calculus  calendar  capistrano  catalyst  chair  chart  charts  chatbot  cheatsheet  class  classified  cli  client  clojure  clojurescript  codahale  code  codeblocks  coder  codes  coding  collaboration  collaborative  collection  colors  command  commandline  commands  command_line  command_line_interface  commentary  community  compare  comparison  compiler  compilers  computer  computers  computerscience  computer_science  computing  console  control  cornell  cornell_creative_machines_lab  couchdb  cpan  cpp  cracking  crate  crate.io  cryptography  cryptology  cs  css  css3  cvs  c_programming  data  database  dataset  datastructures  data_mining  david_evans  db  dbic  dbicdeploy  dbix  dbix-class  dead  death  debugging  december  dennis_ritchie  deploy  design  designer  detoxifier  dev  developer  developers  development  development_kit  devleopment  dhtml  diagram  dictionary  diff  difference  discussion  dissertation  django  doc  docs  documentaiton  documentation  dojo  dom  donkey  donkeykong  doom  download  downloads  drive  dvorak  dynamic  ebook  ebooks  eclipse  editor  editorial  education  effects  email  encryption  engine  epic  epic_games  ergonomics  eric_bidelman  eric_raymond  eric_steven_raymond  esr  extensions  faq  faqs  february  filer  filesystem  find  finder  firefox  flash  flashgoddess  floss  flowchart  font  form  forum  forums  foss  framework  frameworks  free  freeware  fun  functional  functional_programming  furniture  fuse  g++  game  gamedev  games  game_design  game_development  game_engine  gaming  gcc  gdata  gdb  geek  gem  gems  generator  geo  gis  git  github  gnu  go  goddess  google  googlecl  googlemaps  gps  graph  graphics  graphs  grokbase  gui  guide  guides  hack  hacker  hacker_news  hacking  hacks  handbook  harmful  hash  hashes  haskell  headers  hiring  history  hosting  howto  hpricot  html  html5  http  humor  ibm  id  ide  images  index  install  installation  installer  installing  instructions  internet  introduction  ip  iphone  jacob_gube  january  jason_brownlee  java  javascript  jedit  jpstacey  jquery  jrockway  js  jsan  json  judo  july  kde  kdevelop  kernel  kerneltrap  keyboard  kong  lambda  language  languages  layout  learning  lectures  lib  libraries  library  libs  line  linus  linus_torvalds  linux  lisp  list  literate  lkml  luigi_montanez  luke_vanderhart  mac  macintosh  macosx  mail  mailgun  mailing_list  management  map  maps  march  matching  math  maypole  md5  metadata  microformats  microsystems  mining  mmo  mmorpg  mochikit  module  modules  mod_perl  mongers  monkeybread  moofx  moose  mrtg  mvc  mysql  namespace  network  networking  news  nosql  notation  november  now  nowjs  number  numbers  numpy  obituary  october  office  ogre  oneliners  online  onlisp  oo  oop  ootip  openlaszlo  opensource  open_source  operating_system  opinion  opnesource  os  oss  osx  packages  parser  password  passwords  paste  pastebin  patterns  pdf  perl  php  pickaxe  plugin  plugins  podcast  poignant  post  postfix  postgres  postgresql  practices  presentation  process  productivity  programmer  programmers  programming  protocol  prototype  push  pydev  pygame  pythex  python  python_enhancement_proposal  qcodo  question  quirks  quirksmode  radrails  rails  random  ray_thomas_fielding  rbgarage  rbtv  reading  readme  realbasic  realsoftware  real_time  recipes  redhanded  refactoring  reference  regex  regexp  regular_expression  regular_expressions  rendering  repository  research  resource  resources  rest  retro  review  reviews  rfc  robotics  robots  rspec  rspec-rails  rubular  ruby  rubyonrails  ruby_on_rails  ruby_version_manager  rvm  salt  salts  scheme  science  scraper  screencast  script  script.aculo.us  scripting  scripts  sdk  sean_coleman  sean_eron_anderson  search  searching  seaside  seat  seating  seats  sebastian_thrun  security  september  server  server_push  service  setup  sha1  sha3  sha256  sha512  sheet  shell  shopping  silk  six_revisions  slashdot  smalltalk  smtp  snakes  snippets  software  source  sourceforge  specification  speech  sql  sraperwiki  stackoverflow  standards  stanford  statistics  stats  stories  string  string_matching__java_  strip  stroustrup  structures  style  subversion  sun  sun_microsystems  svn  sysadmin  tdd  tech  technical  technology  terminal  test  testing  test_driven_development  text  theory  thinkvitamin  thread  tiger  time  tiobe  tips  tom_preston-werner  tool  toolkit  tools  tooltip  tooltips  torvalds  tracker  tricks  turbogears  tutorial  tutorials  typlab  typography  ubuntu  udacity  udk  unicode  unix  unreal  unreal_development_kit  usability  usenet  user-groups  utilities  utility  validation  version  version_control  video  videogame  videogames  videogaming  videos  visual  visualization  vmware  w3c  web  web2.0  webdesign  webdev  webmaster  webservice  webtools  web_design  widgets  wiki  windows  winmerge  wired  writing  xhtml  xml  yahoo  ycombinator  youtube  zedshaw  zed_a_shaw  zed_shaw  _to_be_read 

Copy this bookmark:



description:


tags: