PLAY PODCASTS
Illegal Argument

Illegal Argument

99 episodes — Page 2 of 2

Illegal Argument - Episode 129

Software Archictecture as Code Annotations hate from Greg Annotations are a poor substitute for a good language. Build - Google Bazel No Transitives No Ranges Fast builds. The Full Stack Developer

May 17, 20151h 47m

Episode 128 - the one I really lazy over...

It might now be long past April, a month after we recorded this, and even a week after Easter when I finally got around to editing it. But join us for an argument - one so illegal it's been banned in 3 countries!

Apr 11, 20151h 16m

Episode 0b1111111 - The End is Nigh

Worship Malloc - the God of C/C++ Futures and Promises - Wikipedia entry - Futures (1977) followed Promises (1976) sequence function Thread Weaver Buck Build Tool Pants Build Tool Git Book How to destroy your project (committing bug bankruptcy) Linux Conf AU in Auckland

Dec 28, 20141h 6m

Illegal Argument - Episode 126

This weeks episode is being published a little later than normal - my bad. I blame Christmas and the craziness of the year end. 15 years of the Apache Software Foundation ATG Dynamo Apache JServ Bryan Goetz - The Sobering Parts of Stewardship Ten Stupid Rules That Drive Great Employees Away Various Ways to get Random Wrongby Cedric Beust.

Dec 14, 20141h 7m

Episode 125

Rice University leads $11 million effort in big data software analytics The Hoogle Search Engine Don’t mock? Why do need modules? Every Java @FunctionalInterface you want Prismatic Schema Whiley Programming Language - Generating Verification Conditions for Whiley

Nov 24, 20141h 25m

Episode 124

More CDI suckage. OSGi - class loading / reloading. JSR-330 - Dependency Injection for Java JSR-346 - Contexts and Dependency Injection for Java EE Nathan Marz - History of Apache Storm and lessons learned Front End Teams + Back End Teams vs Product Feature Teams Contract First REST APIs with RAML Neal Ford - Functional Thinking Angular 2.0 Core by Igor Minar & Tobias Bosch at ng-europe 2014

Nov 17, 20141h 22m

Episode 123 - It's easy as....

An introduction - cause we like you. More SSLv3 Security Holes POODLE poos on flaw (in SSL) as Google causes panic SSL 3.0 Protocol Vulnerability and POODLE Attack This POODLE Bites: Exploiting The SSL 3.0… (PDF link) Legacy software - upgrades and non-upgrades. Does backwards compatability lead to code smells? Herding Code 198: Damian Edwards on ASP.NET vNEXT, tag helpers and SignalR Java Modularity Project Jigsaw - Development List Archives JSR 294 - Superpackages The Open Road: Superpackages OSGi Alliance Blog: JSR 294 SuperPackages JavaOne 6 key takeaways from the JavaOne Keynote JavaOne Community Keynote JavaOne Presentation Videos on Parleys.com JVM Language Summit 2014 Videos All morn the loss of “BUCKLAME” - Auckland on T9 Mobile Keyboard completion. The Problem with Time & Timezones - Computerphile T CEEEE K - not TDK. Java Native Runtime - A Better FFI for Java (PDF link) Dependency Injection done “right” Gap Lists - a lightning-fast List implementation

Oct 22, 20141h 4m

Episode 122: fractalization

The JVM Language Summit 2014 - Videos Invoke Dynamic on JRubynot enabled by default on JDK7, but it is for JDK8. finalize() 10 points on finalize method in java Why not to use finalize() in java Changes at CloudBees javolution node.js and testing promises JVM Virtualisation with Waratek Apache Harmony - Open Source Java SE ( retired project ) - wikipedia on Harmony. CDI Weld’s stunning documentation on Providers COME FROM David Mapelsden’s paper on subsuming methods (pdf) from the Performance Meetup of the revamped Auckland JUG.

Sep 18, 20141h 18m

Illegal Argument Episode 121 - The Fragmentation of...

The fragmentation of Scala TypeLevel Fork Paul Phillips - Policy ( Scala Fork ) following on from his we’re doing it all wrong talks. CDI - Contexts and Dependency Injection Producers - just add arguments for producer methods for injection of dependencies. Testing - what scope should you test. Dealing with Abandoned projects / languages? Not scala (yet), coffeescript ;)_ Rewriting 100 Million Lines of Java

Sep 16, 20141h 14m

Episode 120 - Better (epically) late than never?

So.... this podcast thing - it turns out you don't just RECORD episodes, you really should edit, and POST them as well.... Yes, I (mark) dropped the ball and got side tracked with life, concerts, and TV and and woefully behind in posting this ( and the next, er last ) episode - so much that I've misplaced any and all links to articles we may have mentioned in this fairly short(ish) show. Hope you enjoy.

Sep 14, 201434 min

Episode 119: $ sudo make me a project

Sorry this episode took so long to get packaged up and built, but you know how long those type based compilations using make go.... Seriously tho, illness, lethargy, and just plain laziness got the better of me. Enjoy a rant-free conversation on make, builds, larps, and the evil that is JBoss Classloaders....

Aug 19, 20141h 11m

Episode 118 - The 'F' Bomb!

Join Mark, Greg, and Peter for some more absurd type level rants, whilst we weren’t exactly planning on diving once again into a big argument around types and functional programming, somehow we fell afoul of one almost immediately even before we got around to introducing the episode. Memory Allocation of various and classes Java Memory Model Pragmatics (transcript) Functional Programming The argument starts with an argument over whether one can do “functional programming” in Java, and the difference between “functional programming” and “a functional programming language”. In this argument Greg claims that memory allocated for a class instance constitutes the state of a class — even if the class structure holds no state, and that ‘functions’ don’t allocate memory when defined. Should you always pass just the bare minimum data into a function? Project Jigsaw: Phase 2 The main discussion for the evening relates to an Ars Technica article about how much information you should pass in a function: a rich object structure or individual arguments. During the discussion, Mark suggested that simply using String as the type of the argument is probably a bad design as you may want to restrict the context of the arguments, such as using a specific Password type, this ensued with an argument over deep type hierarchies (do I smell a theme here?) to which Mark countered this by (badly) describing a way of using parametric typing (and phantom typing) to improve the contract of passwords in the API. Unfortunately the discussion got sidetracked with factories and PK7 implementations being tightly woven into the which probably detracted from any useful discussion. String Variables Considered Harmful Using Phantom Types in Haskell for Extra Safety Phantom Types in Java Escaping away from type theory, Peter brings us back to the real worldwith a discussion on Web Fragments and JBoss Hell… Project Lombok Illegal Argument interview with Reinier Zwitserloot and Roel Spilker Web Fragments Webjars - Web Libraries in Jars Jawr - Java Web Resource Bundling and Compression Farewell Node.js Misc: Hoogle! The Haskell API Search Engine - enter the signature you want and find the matching methods. Git tooling sucks

Jul 15, 20141h 25m

Episode One One Seven :: Int -> Int -> Int -> ()

The Prisoner Pull Request Ettiquette manually merge pull requests Github and Tooling Github dependence - distributed VCS but centralized tooling Repository Templates - git-init and --template Gitosis gitslave git fetch and merge, don’t pull Git Minutes Podcast Speed of Development Estimates Do you count technical debt? Time tracking of issue times testng-issue-reporter Intra-repository review builds with gerrit and apache maven First Ever Maven Development Hangout Evolving the POM format - Hangout #2 Module Systems from Alex Blewitt Roman Numeral Version Scheme The Linux Version Scheme The Solar Version Scheme

Jul 2, 20141h 47m

Episode 116 - Messy Types and Garbage Collection

Garbage Collection Language/Compiler design Function Types A discussion on whether a functions signature is a type, or not. During this discussion we talked about the implicit currying of haskell functions and how this could lead to run-time errors rather than compile errors, however whilst I (Mark) knew what I was talking about, I missed a fundamental part of the equation - function types include the return type, so a partially applied function that doesn’t fit a high-order function is a compile time error. So given two functions: someHof :: (String -> String) -> String take3StringsReturningString :: String -> String -> String -> String The first function someHof takes a function String -> String and returns a String, if we partially apply take3StringsReturningString "test" the resulting function is String -> String -> String which doesn’t match the required syntax of someHof so wouldn’t even compile.

Jun 22, 20141h 58m

Episode 115 - Programming is Hard

Illegal Argument - Episode 115 Learning to program is hard Why Programming Is Difficult, Joe Armstrong Programming enviroments and tooling make things hard Pharmo Smalltalk Scala Days 2013 talk: Fun programming in Scala: Games, Algorithms, and Apps

Jun 1, 201440 min

Ill-Informed Argument #1

Copyrighted APIs - Oracle vs Google Oracle’s win over Google is a loss for computer science. Oracle wins Android-Java copyright appeal: API code copyrightable, new trial on fair use. David Pollak: Are APIs Copyrightable? David Pollak: He’s not So Fine. David Pollak: Lawyers and Developers, not so different. David Pollak: Every one us is an Infrigner. David Pollak: Yes, we do all infringe. Android Gets Java 7 support. Clojure Mailing List Thread: Java API is copyright protected? . Concurrency - we got it wrong The Node.js CPU blocking thing. ORMs The Server Side: Hibernate 1.0 Announced - July 06 2002. InfoQ: Domain-Driven Design Using a Functional Language. InfoQ: DDD and CQRS Using the Functional Language F#. InfoQ: A Discussion with Allard Buijze on CQRS with the Axon framework. InfoQ: Udi Dahan on Event-Driven Architecture and Loosely Coupled Systems. Java 8: No More Need for ORMs. Functional Patterns in Domain Modeling - The Specification Pattern, Immutable Aggregates and Functional Updates, Anemic Models and Compositional Domain Behaviors, A Sketch as the Query Model of an EventSourced System. Lambda Architecture. Forget big data, small data is the real revolution. 10 Reasons 2014 will be the Year of Small Data . How Target Figured Out A Teen Girl Was Pregnant Before Her Father Did. Black Mirror | The Entire History of You | Channel 4.

May 18, 201446 min

Illegal Argument - Episode 113 - Dynamic Languages

A discussion of dynamic lanugages with guest Manix Cook. TCL/TK DynJS JavaScript expression handling The 6th Underhanded C Contest is now Open TestNG Repeating Tests via the invocationCount attribute JavaScript and Tail Calls Functional JavaScript – Tail Call Optimization and Trampolines JavaScript (ES6) Has Proper Tail Calls Haskell: How to use thread safe shared variables in Haskell Haskell: Control.Concurrent.STM.TVar - Transactional variables Java: Pluggable Static Analyzers Java: ThreadSafe static analysis tool for Java concurrency: now with command-line invocation Java: Simplifying ReadWriteLock with Java 8 and Lambdas NodeJS: Cluster - Stability = Experimental HP Labs: SmartFrog - Deployment tool SmartFrog Homepage Subscribe to RSS Feed The Making of Erchef, the Chef 11 Server. The Chef 11 server moved to Erlang. YouTube: Punch and Judy Smalltalk: RIP James Robertson

May 7, 20141h 49m

Episode 112 - Data Types and Eventing

Algebraic Data Types Jame’s Iry’s jADT generator for Java Partial Functions vs Total Functions Events, Services, and Static Methods

Apr 21, 20141h 17m

Episode 111 - Code Reviews and New Languages

Join Mark and Greg for a discussion on code reviews, gerrit, and the recent language releases over the last few months. GoWest - Simple Continuous Integration Server in Go Java 8 - Function Composition

Apr 6, 20141h 1m

Episode 110 - Stop, ScalaTime!

Join Mark, Greg, and Peter for the first recording of the year where we discuss some of the recent Scala rants by Paul Phillips, along with build things... Pacific Northwest Scala 2013 We're Doing It All Wrong by Paul Phillips Scala Collections: Why Not? Intra Repository Review Builds with Gerrit and Apache Maven

Feb 9, 201452 min

Episode 109 - Premature Abstractions

A semi "solo" cast where both Greg and Mark actually agree with other other, and stretch out a discussion way beyond its limit... a fun chat tho...

Dec 2, 201349 min

Illegal Argument Episode 108

The proper way to use Sublime Text Minimap An introduction to the Smalltalk Browser The Trouble With Types

Nov 5, 20131h 8m

Illegal Argument Episode 107 - Ghost Stories

Illegal Argument Episode 107 Hauntings and Ghost Stories Dealing with the ghost of projects past… Python for Delphi Why I don't use a Parser Generator If you're not embarrassed by your first release - you released too late. Paying for tooling and/or compilers - when did we stop having to do it? Netty 4 at Twitter: Reduced GC Overhead LMAX Disruptor - High Performance Inter-Thread Messaging Library MOVDBZ - Move-Decrement-BranchIfZero - Page fault based processing. Call Me Maybe: Split-brains and The Perils of Network Partitions.

Oct 20, 20131h 21m

Episode 106 - Crowd Funding Typed Clojure and Clojure in Clojure

Sit back and get your pause buttons ready for an extra long, "double episode" of Illegal Argument with a somewhat embedded, disjointed interview/discussion with Ambrose Bonnaire-Sergeant all about Typed Clojure, Clojure In Clojure, and the recent Indegogo funding campaign. JavaOne 2013 Keynotes Java Powers The Smart Home Original Typed Clojure Episode Redline SmallTalk - Interview with James Ladd Typed ClojureScript Playground Typed Clojure prevents Null Pointer Exceptions Nil Punning (Or Null Pointers Considered Not So Bad) Pristmatic Schema Overloading Considered Harmful Evil Code of the Day: variance and overloading The Future of Programming - Bret Victor OpenMirage - Cloud Operating System - write Xen operating systems in OCaml. HalVM - The Haskell Lightweight Virtual Machine, or HaLVM, is a port of the Glasgow Haskell Compiler toolsuite to enable developers to write high-level, lightweight virtual machines that can run directly on the Xen hypervisor.

Oct 6, 20131h 42m

Episode 105 - Back From The Ashes

Java 7u40 Java 7u40 breaking applets Lucene issues with 7u40 Java 8 Developer Preview DWR OSGi Application Framework JsonSchema Literally now means figuratively

Sep 22, 20131h 24m

Illegal Argument - Episode 104: REPLs and API Design, Database Migrations

Designing APIs - from the REPL to Application Clojure after the honeymoon ( pdf slides ) Database Migrations dbng from Mark Derricutt git-migration experiment also from Mark Derricutt MyBatis Migrations Liquibase

Jul 25, 201347 min

Episode 103 - Productivity and Estimation

Join Mark, Greg, and new co-host Peter as we discuss Language Productivity and Estimation. Productivity Using Scala will make you less productive - Is Productivity King? There are many more things in “development” which will lower your productivity than the language you eventually implement the solution in. I (Mark) think I made the comment I've never seen scala as being "a more productive language", but a more flexible, adaptable, etc. language which may lead to more productivity, but productivity is WAY more the sum of intangible parts of development How do you measure productivity in a language, and when should you expect to get results, e.g. 6 months, 1 year, 2 years - 5 years? Is there a correlation between small, modular, artifacts and static typing? does having a contract get better with smaller service ( even if generic type contracts ) Is static typing a fractal cost on your code base. The better you write your code the more cost you incur? Static typing suits large method and class as you pay the tax less times? How do you determine the productivity of a new language? Statically typed javascript (typescript) Estimation How does switching languages affect how you handle time estimates? How do you handle time estimates in general? (Mark) I’ve often seen it said rather than just estimate how long it will take, estimate how long it will take Person X to do it ( if they’re doing the work, taking into account things you know about their productivity/skill level/work load etc.) - you may know Clojure/Scala well, but with DevY is to do the work and not yet fully up to skill with the toolset..... Development estimates are only accurate if you are maintaining velocity. What error margin and corrective multiplier is reasonable? What methods of estimate generation are good? Planning poker can be slow, but can be a great method of generating estimates. Function Point Calculations as a confirmation guideline How far out do you estimate, and how does YAGNI play into this.

Jul 14, 20131h 24m

Episode 102: Is that Static Analysis in your stack or are you just pleased to see me?

John Carmack post on Static Analysis Sonar What's in your stack? Ops vs Support vs Devs

Jun 16, 201354 min

Illegal Argument Episode 101 - Process

In this epic episode, we talk process with guest Peter Cummuskey.

May 19, 20131h 49m

Illegal Argument Episode 100

Join us for a long awaited 100th episode of Illegal Argument, we talk conferences, developing your life, and how Scala and Node.JS will die.

May 5, 20131h 28m

Illegal Argument - Episode 99: The one we mostly deleted

Due to a mixture of technical problems, and a disjointed conversation, a vast majority of what we discussed on this show was lost, or just not worth making public - but still - you get to here some of our thoughts on the recent Web Framework Benchmarks blog posts. We hope you still enjoy the episode....

Apr 10, 201321 min

Illegal Argument Episode 98 - Typed Clojure

Welcome to Illegal Argument Episode 98 - Typed Clojure with Ambrose Bonnaire Sergeant. Links: An Intro to Typed Clojure - Jim Duey The Typed Racket Guide Alms programming language (affine types) Levels of Gradual Typing - part 1, part 1 Chez Scheme flow analysis paper: Flow-Sensitive Type Recovery in Linear-Log Time Sketch of AST types core.typed mailing list People: Ambrose Bonnaire Sergeant - @ambrosebs Brandon Bloom - @BrandonBloom Laurent Petit - @petitlaurent

Mar 21, 201356 min

Illegal Argument Episode 97 - Dependency Injunction

Illegal Argument Episode 97 Auckland Clojure Meetup Dependency Injection in Javascript Is a function, a Function type, a Function object, or an Object?

Mar 9, 201350 min

Episode 96 - A Fond Farewell

Join Mark, Richard and Greg as we discuss Java, JavaScript, and bid farewell to a member of the show...

Feb 23, 201344 min

Episode 95 - A new year, a new platform!

Join Mark, Richard, Greg, and guest Nicholas Faiz from Moneytribe as we talk about NodeJS, JavaScript, and how Clojure is the way.

Feb 11, 20131h 19m

Illegal Argument Episode 94

ext.js model binding Google Go - no immutability? JDK 8 and JavaFX on ARM Nothing is iffy with iife Play 2 vs Grails Cliff Click vs Rich Hickey: STM TechCast #75 - Interview with Rod Johnson part 2 - we discuss the Scala Language Scala vs Clojure vs Java.NEXT? Predictions

Dec 27, 20121h 8m

Illegal Argument 93 - Back to BASICs

Testing and Coverage - JaCoCo RIP Bob Zale - Father of TurboBasic Testacular ODROID Go turns 3 GO Serial Noduino

Dec 10, 20121h 11m

Illegal Argument Episode 92 - JSConf AU Report

JSConf AU OAuth Mozilla Persona Javascript Macros WAT vs WTFJS Don't let Webkit become IE6 I18N GNU GetText IBM ICU4J REST vs Message Bus's US patent chief to software patent critics: "Give it a rest already" Google Ingress Countries / Phones IP over DNS Gosu JVM Language Types vs Tests

Nov 25, 20121h 56m

Illegal Argument Episode 91 - A Piggy and a RAT

Illegal Argument 91 APIGEE REST API Design Book Mixed Metaphor UIs? AngularJS Directives LinkedIn and NodeJS Blazing fast node.js: 10 performance tips from LinkedIn Mobile "RealTime" Node Maven License Checking/Build Failures Sonatype Insite Easy Open Source Licences Management using TeamCity Apache Creadur (used to be RAT/maven-rat-plugin) iText / Generating PDF in Java Is Fast better than Readable? Iteratees for imperative programmers Hungarian Notation Making Wrong Code Look Wrong - Joel Spolsky

Nov 13, 201247 min

Illegal Argument Episode 90

catch(e) - A possible JavaScript podcast from Richard/Mark? JS Conf AU Code reviews... Dependencies ( again ) OSGi ( again )

Nov 4, 20121h 9m

Episode 89 - No REST for the Wicked

REST Rants Heroku Waza - videos from 2012 NodeJS Cluster - experimental

Oct 22, 20121h 31m

Illegal Argument Episode 88

Android Goes Gradle android-maven-plugin from Manfred Moser. Google blocked Acer from using Aliyun iOS 6 Maps Microsoft releases TypeScript Preview Google Dart Using JavaScript from Dart: The js Library Running the Dart VM on Android yeoman.io Maven Version Ranges (again) Google Plus Discussion Maven Users List thread Perils of Maven's Implicit Reactor ( old post ) Continuous releasing of Maven artifacts WITH RECURSIVE queries in PostgreSQL Fun with OAUTH google-oauth-java Security How not to Wheedle Wheedle site shut down indefinitely Wheedle shuts site after technology fails New auction site Wheedle puts passwords at risk Functional Programming Principles in Scala from Coursera Algorithms vs Pixel Pushing Bulk downloading Maven Artifacts idea from Tim O'Brien Continuous Integration and Git Gerrit Code Review Tool based on Git Gerrit Plugin for Jenkins

Oct 5, 20121h 23m

Illegal Argument Episode 87

Illegal Argument Episode 87 XKCD Click And Drag Jenkins and the lack of version range support. Should version ranges be deprecated? Tesla - Maven redefined, presentation Airbreak Atlassian Bonfire Write your commit messages first. Exit interviews - giving employers a piece of your mind?

Sep 23, 201243 min

Illegal Argument Episode 86 - Pixel Shuffling

Illegal Argument Episode 86 - Pixel Shuffling Java 7 0day Java 7u7 More security holes in 7u7 How to hack weak passwords Developer Quits OAuth 2.0 Spec, Calls It ‘a Bad Protocol SAML and XSLT - scarily it exists JavaScript User Interfaces are worse, or no better than old Windows UIs No Software Patents in New Zealand Related Google+ Threads Combining Functional and Imperative Programming for Multicore Software WebStorm 5.0 - Live Editing with Google Chrome

Sep 9, 201253 min

Illegal Argument Episode 85

Illegal Argument 85 Groovy Proxies and Exceptions Debugging - REPLS and tools DDD via JDB JSwat JDebugTool Dell Precision M4700 Mobile Workstation Azul’s Zing JVM free for open source developer testing GPU Support in the JVM Proposal Multi-tenancy Custom domain for Google Apps Amazon Beanstalk gets Python Chrome Packaged Apps iOS 5.1 broke off-line storage

Aug 24, 20121h 7m

Illegal Argument Episode 84

Illegal Argument Episode 84 VertX, Meteor and the rise of the client spanning event bus Is there any steam behind cloud IDEs? Latest one was Collide, but many of them are based on CodeMirror2 Analysis of Failure - Ariane and Exceptions Eric Burke on Giving Effective Presentations Iterable’s and Jackson

Aug 12, 20121h 3m

Episode 83 - On Quality (reprise)

Join Mark and fellow podcasters Craig Smith, and Craig Aspinall for a discussion on Quality. Note: This is the second posting of this podcast as I messed up the rendering the first time - so much for quality ;-) Coding By Numbers The Agile Revolution Coursera Online Training Modularity What’s cooking in Java 8 - Jigsaw Modularity Jigsaw Delayed to Java 9 Tools Concordion Git SCM Gerrit Code Review Misc Kanban Uncle Bob Martin’s Clean Coders Manifesto for Software Craftsmanship The Zen of Mentor Development

Aug 1, 20121h 8m

Illegal Argument 82

Hibernate 4.0 - SQL generates cross joins Maven dependency issues Known issue mentioned in the compat with 2.0 guide Ranges (again) PHP Sadness XtraNormal on Agile

Jul 31, 20121h 20m

Episode 81 - Google IO 2012 and more...

Google I/O Netflix Operations: Part I, Going DistributedGoogle Dart removes String Concatenation from the VM.MVC is Not Suitable for Web DevelopmentRichard Stallman: Yay! Steve Jobs is Dead! If Programmers Wrote Arithmetic BooksNew great advice for TDDGoogle Blocky

Jul 4, 20121h 37m