sunpig + software   257

ongoing by Tim Bray · Three Mobile-Software Rules
These days, I spend quite a bit of time talk­ing about how to write soft­ware for An­droid. I think three of the gen­eral rules are worth ex­pand­ing on here be­cause I’m in­creas­ingly con­vinced they apply to soft­ware in gen­eral, not just for mo­bile de­vices.
timbray  software  android  intent  url  verb  http  scheme  architecture  mobile  application  usability  crash  memory 
5 weeks ago by sunpig
PHP: a fractal of bad design - fuzzy notepad
Virtually every feature in PHP is broken somehow. The language, the framework, the ecosystem, are all just bad. And I can’t even point out any single damning thing, because the damage is so systemic. Every time I try to compile a list of PHP gripes, I get stuck in this depth-first search discovering more and more appalling trivia. (Hence, fractal.)

PHP is an embarrassment, a blight upon my craft. It’s so broken, but so lauded by every empowered amateur who’s yet to learn anything else, as to be maddening. It has paltry few redeeming qualities and I would prefer to forget it exists at all.
php  language  design  feature  broken  software  code  programming  rant  reference  security  fault  bug  error  array 
5 weeks ago by sunpig
Testing like the TSA - (37signals)
Every line of code you write has a cost. It takes time to write it, it takes time to update it, and it takes time to read and understand it. Thus it follows that the benefit derived must be greater than the cost to make it. In the case of over-testing, that’s by definition not the case.

Think of it like this: What’s the cost to prevent a bug? If it takes you 1,000 lines of validation testing to catch the one time Bob accidentally removed the validates_presence_of :name declaration, was it worth it? Of course not (yes, yes, if you were working on an airport control system for launching rockets to Mars and the rockets would hit the White House if they weren’t scheduled with a name, you can test it—but you aren’t, so forget it).
testing  tsa  dhh  rails  ruby  tdd  bdd  programming  software  assurance  quality  confidence 
7 weeks ago by sunpig
LukeW | Designing with Keynote
Recently, an increasing number of designers (myself included) are turning to Apple's presentation making software, Keynote, to design and prototype software applications. Here's a few reasons why and some tips learned along the way.
design  keynote  interaction  wireframe  ux  prototype  presentation  animation  transition  software  tool 
7 weeks ago by sunpig
R/GA Tech Blog » QA is not a verb
So let it be recognized that quality can’t be tested into a product. How can we assure quality if we aren’t intimately involved in planning, architecting, designing, and developing?
qa  verb  testing  process  quality  software  lifecycle 
9 weeks ago by sunpig
A Patent Lie: How Yahoo Weaponized My Work | Epicenter | Wired.com
I’m embarrassed by the patents I filed, but I’ve learned from my mistake. I’ll never file a software patent again, and I urge you to do the same.
andybaio  waxpancake  wired  patent  yahoo  facebook  attack  weapon  software  madness  usa  law  legal  litigation  copyright  protection  invention  creativity  from twitter
11 weeks ago by sunpig
Production Release Workflow with Git - JohnWilger.com
"Production Release Workflow with Git" I like the look of this.
git  workflow  production  sprint  agile  development  software  vcs  version  hotfix 
november 2011 by sunpig
Scott Chacon on the Interwebs
Scott Chacon (@chacon) on the Github git workflow: (/via @jaffathecake)
scottchacon  chacon  github  git  flow  workflow  master  branch  hotfix  patch  development  software  deploy  jenkins  ci  continuousintegration 
september 2011 by sunpig
Web Intents: A fresh look - Tales of a Developer Advocate
"Intents" is a fabulously useful software pattern. Bringing intents to the web could be awesome: /by @paul_kinlan
paulkinlan  intent  intents  software  pattern  architecture  invoke  service 
july 2011 by sunpig
Beyond the mobile web by yiibu
Brilliant slide deck by @stephanierieger: "Beyond the mobile web" ()
content  mobile  web  webdev  software  stephanierieger  presentation  slidedeck  slideshare  yiibu 
april 2011 by sunpig
Hiring Developers: You're Doing It Wrong
RT @hackernewsbot: Hiring Developers: You're Doing It Wrong...
development  software  business  interview  hiring  recruitment 
march 2011 by sunpig
Alex Payne — Shortchanging Your Business with User-Hostile Platforms
Nobody uses AIR because it delivers better-quality desktop apps. Companies build AIR apps because they’re short on time and cash and wary of investing in development and maintenance that’s outside their area of expertise. This is understandable, but shortsighted, and a lot of companies are about to make the same mistake in the mobile arena.

Cross-platform solutions like AIR might be better for your business in the short term, but your customers probably hate it, and you could be shortchanging yourself in the long run. If there’s a market, spend the time and money to build proper native desktop and mobile apps. If you don’t think there’s a market but the demand is there, expose an API to your service, let inspired developers build native apps, and see what happens.
adobe  air  business  software  development  alexpayne  platform  native  mobile  from twitter
january 2011 by sunpig
Google JavaScript Style Guide
RT @smashingmag: Google JavaScript Style Guide -
google  js  javascript  style  guide  programming  software  dev  webdev  codingstandards 
july 2010 by sunpig
« earlier      

related tags

37signals  64bit  aardvark  abstraction  acm  activeperl  activestate  acyclic  adapter  adaptivepath  addon  adobe  adopter  adware  aesthetics  agile  agility  air  airline  airplane  ajax  ala  alancooper  alancox  alexpayne  alexrussell  algorithm  algorithms  alistapart  alm  amazon  analysis  ancestor  andrewnorris  android  andybaio  anildash  animation  answer  antivirus  anything  api  app  appengine  appenginejs  apple  application  applications  apps  appstore  architecture  array  arrogance  ars  art  asp  asp.net  aspnet  assemblies  assurance  attack  audio  autocomplete  automation  availability  award  aws  b2g  backlinks  backup  badseo  basics  battleships  bbc  bdd  beanstalk  bears  benchmark  benjaminpollack  bezos  bigbrother  bind  bits  blinkers  blog  blogging  book  booking  bookmarklet  boot  boot2gecko  bored  boredom  boring  braithwaite  branch  branching  broken  brooks  browser  browsers  bruceschneier  brucetognazzini  bruteforce  bucket  bug  bugs  build  business  buyout  c  c#  c++  cache  caching  california  campfire  canonical  capabilities  capistrano  cappucino  career  cargocult  case  cd  cersioncontrol  certification  chacon  change  charles  check  cheek  cheese  children  ci  class  clean  client  clone  closed  cloud  cluster  coast  code  codegen  codereview  codesmith  coding  codinghorror  codingstandards  collaboration  collar  collection  colophon  colouring  com  comments  commonjs  communication  community  compare  compatibility  compiler  complexity  computers  computing  concurrency  confidence  configure  confusion  connectrode  consistent  console  constraints  consumer  content  context  context-driven  continuous  continuousintegration  contract  control  cool  cooper  cooperation  copilot  copyleft  copyright  coverage  cpm  crash  creativity  criticism  crockford  crossroads  CRS  cruisecontrol  css  culture  customer  cut  cwe  dailywtf  danrubin  danwebb  data  database  db  debt  debug  debugger  debugging  decision  defeat  delight  deliver  deliverables  delusion  demo  deploy  deployinator  deployment  depth  derekhammer  design  desktop  details  detect  dev  develop  developer  developers  development  device  devices  dhh  diagram  diff  dinosaur  directed  direction  directory  discussion  disguise  disillusionment  disk  display  distributed  distributes  django  dns  document  documentation  dojo  dom  domain  domainkeys  dongle  donnorman  dos  dotnet  double  download  dragonfly  driver  drm  dumbtools  dustindiaz  dvcs  dynamic  e-book  early  ebook  ec2  eclipse  ecosystem  edit  editing  editor  education  edwardhasbrouck  effort  email  emulation  encryption  ender  enemy  engine  engineer  engineering  enhance  enterprise  enterpriselibrary  environment  equivalence  ericsink  erp  error  escapist  essay  estimate  ethernet  etsy  evil  examples  excel  exception  execution  expand  expectation  expose  extension  eyes  f-secure  face  facebook  facet  facial  fail  failure  fallthrough  fare  farming  fast  fat  fault  feature  features  featuritis  feedback  feminism  fibonacci  fighter  file  film  filter  finability  financial  firebug  firefox  firewall  fivestars  flickr  flow  focus  fogbugz  fogcreek  folder  folders  for  foreach  forum  foundation  fowler  fractal  framework  free  freeware  fronteers  frontend  frontier  fun  function  funny  gadgets  gae  galileo  gallery  game  games  gaming  gardget  gawker  gedit  geek  geeknotes  general  geo  ginatrapani  gis  git  github  gnu  good  goodpractice  google  goto  gpl  graph  greed  grid  groklaw  guide  guyenglish  hackers  hacking  hadoop  hakonlie  happiness  hardware  hash  haskell  hcd  hci  henrikkniberg  heuristic  hg  highlighting  hints  hiring  history  hosted  hosting  hotfix  hours  howto  howtocount  html  http  httparty  https  hugorodgerbrown  hungarian  ia  id  idcards  ide  idea  ideas  identify  identity  ie  im  image  images  implementation  independence  informationarchitecture  infrastructure  innovation  insight  inspiration  instal  install  instantmessaging  instructions  insular  integration  intent  intents  interaction  interactiondesign  interface  internal  internet  internetexplorer  interoperability  interview  introduction  invention  investment  invoke  ipad  iphone  iphoto  it  ita  iteration  iterative  itunes  ixd  jabber  jakob  jakobnielsen  jamesbach  jamesshore  jaredspool  java  javascript  jayflowers  jeffatwood  jeffveen  jenkins  jesseliberty  jet  jimgray  job  joehewitt  joel  joelonsoftware  joelspolsky  johnallspaw  johnresig  johnshopkins  josephcooney  jqm  jquery  jquerymobile  js  jsdoc  jsgi  jslint  jsmin  json  kanban  kathysierra  key  keyboard  keynote  knowledgemanagement  komodo  kriszyp  lanaguge  language  languages  laptop  laugh  law  lawrencelessig  leak  learning  legacy  legal  lessig  lessismore  level  libraries  library  license  licensing  life  lifecycle  lifehacker  lift  linkedin  linux  lion  lisp  lists  litigation  littlebrother  local  lock  logos  loop  lpt  lukasmathis  lukewroblewski  mac  machine  madness  maintainability  maintainable  maintenance  make  make-up  makeup  making  management  manmonth  manual  mapping  mapreduce  maps  marcandreessen  market  marketing  markets  martinfowler  master  mathematica  mathematics  maths  mechanics  memcached  memory  memoryleak  mercurial  merge  merging  message  metaphor  methodology  microsoft  migrate  migration  mikewilcox  mining  misc  mistake  mitre  mmog  mmorpg  mobile  mock  model  monad  monoculture  mount  mouse  movabletype  mozilla  ms  msdn  mssql  mt  mtbf  mttr  mulitple  music  mvc  myth  narwhal  native  negotiation  negroponte  nerd  netsuite  network  networking  networks  niche  nicholaszakas  nifty  node  nodesitepen  norman  ntfs  nvie  obidos  object  objective-j  obscure  office  olpc  omgpop  ongoing  open  openness  opensource  opera  optimization  oracle  organization  origin  os  oss  osx  paperclip  parse  partitioning  passion  password  patch  patent  patents  path  patrickcauldwell  pattern  patterns  paulcarvill  paulgraham  paulkinlan  paulrouget  paulthurrott  PDF  pen  pep  pep8  perfect  performance  perl  personalisation  personality  philipgreenspun  philosophy  phone  photo  photoshop  php  physics  picasa  pinboard  planning  platform  playful  playfulness  plugin  points  policy  pop  popped  popsoftware  popup  position  practicalnomad  practice  presentation  pricing  princess  principles  print  prioritize  priority  privacy  private  problem  procedure  process  processors  product  production  productivity  professionalism  profit  prognostication  program  programming  project  protection  protolize  prototype  proven  proxy  psychology  ptr  public  publishing  pull  purchase  pydev  python  qa  quality  question  quora  raganwald  rails  rands  rant  rating  razr  rb  read  readable  reading  rebase  rebeccamurphy  recognition  record  recovery  recruitment  reference  regex  reginald  release  remote  remove  replacement  repository  request  requirement  requirements  rescue  reservation  resource  responsive  rest  results  revenue  review  revision  rewrite  rewriting  robertlglass  routing  rpc  rpg  ruby  rules  saas  safe  sans  satisfaction  sb  scalability  scalable  scale  scam  scheme  science  scope  scottberkun  scottchacon  scotthanselman  scripting  scrum  sdk  search  searchmonkey  security  semantic  senderid  sensor  server  serverjs  serverside  service  setup  shared  sharing  shark  shawnoster  sidebar  sigh  silverlight  simonwillison  simpletalk  simplicity  simulation  sitepen  sixapart  size  skill  slidedeck  slides  slideshare  small  smell  snowleopard  soa  soap  social  socialsoftware  software  sopport  sound  sourcecontrol  sourcegear  spam  spec  specification  specs  speed  spolsky  spreadsheet  sprint  spyware  sql  src  ssl  stack  stackoverflow  staging  standard  standards  stars  startup  startups  statistics  stats  stephanierieger  steveblank  stevenf  stevenfrank  stevey  steveyegge  storage  story  stoyanstefanov  strategy  stream  stuartlangridge  stub  style  styleguide  subversion  sugar  summary  sun  supermen  superstition  support  surveillance  svn  switch  synergy  system  systems  takeover  talk  tariff  tdd  teaching  team  techcrunch  techie  technical  technology  template  templates  test  testing  text  texteditor  tfs  thinkup  threading  throwaway  tidy  tight  timbray  time  timeline  tip  tips  tls  tog  tool  tools  tracking  training  transfer  transition  travel  trend  trends  triad  tricks  truth  tsa  turing  tutorial  tweak  type  ucd  ui  uie  unicode  unit  unittest  unittesting  unknown  url  usa  usability  usb  user  userexperience  users  utilities  utility  ux  validation  value  variable  vc  vcs  velociraptor  velocity  verb  version  versioncontrol  versioning  video  viewpoint  vincentdriessen  viral  virtual  virtualization  vista  visualization  visualstudio  vmware  vnc  voldemort  voltaire  vs  vsnet  vsnet2005  vulnerability  walk  watir  waxpancake  weapon  web  web20  webapp  webdev  webservices  webstandards  wernervogels  wft  widgets  wiki  will  wilshepley  wilshipley  windows  wired  wireframe  wisc  wolframalpha  work  workflow  workspace  write  writing  wtf  wysiwig  xkcd  xml  xmlhttprequest  xp  xray  yahoo  yegge  yiibu  yojimbo  yui  zen  zencoding  zynga 

Copy this bookmark:



description:


tags: