aepokh: For this Java thing, I want a pseudo-constructor thing to make sure...

aepokh:

For this Java thing, I want a pseudo-constructor thing to make sure that when I have an object created from the name “foo”, it’s the same object as all other objects created from that name. Here’s what I’m using right now:

import java.util.HashMap; public class Item { private static...

This is how I might go about implementing it: http://pastebin.com/v0A5KjqR

What do you think?

What I can remember learning from various languages and technologies

An incomplete list and not in any particular order.

Visual Basic

  • Types
  • Values
  • Conditions
  • Loops
  • Procedures (subroutines)
  • Event driven style
  • Assignment

JavaScript

  • Procedure expressions
    • E.g. A callback system
  • Closures
  • Function scope
  • Observer pattern
  • Type coersion
  • Module pattern
    • Revealing module style
    • CommonJS style
  • Hash map data structure
  • JSON

jQuery

  • Call chaining

C

  • Memory allocation
  • Pointers
  • References
  • Preprocessor Macros
  • Block scope

C#

  • Classes and Objects
  • Inheritance
  • Polymorphism
  • Linked Lists
  • Array Lists

Objective-C

  • Messaging
  • Interfaces (Protocols)

Java

  • Decorator pattern
  • String Buffers
  • String Builders
  • Iterators
  • Threads

Clojure

  • Lambda expressions
  • Code as Data
  • Macros and Quoting
  • Keywords
  • Destructuring (Pattern matching)
  • Futures
  • Functional Programming
    • Map
    • Folding
    • Laziness
    • Tail-recursion
    • Recursive Accumulators
    • Immutability

Haskell

  • Function composition
  • Point-free programming
  • Monads (NOTE:Still learning)

PHP

  • Output buffers

Qt

  • Signals and Slots

CSS

  • Prescedence Value

Ruby

  • Generators

Structural Operational Semantics

  • Relations
  • Pattern Matching by construction
  • Preconditions and Postconditions
  • Invariants

Lambda Calculus (and related concepts)

  • SKI Combinators

My university results were released today - I got a 1st.

Hazaar!

I got .8 for my dissertation, and .96 for my favourite module of the whole degree: Understanding Programming Languages.

Clojure TypeMatch

I started a new Clojure project today: a module allowing complex type matching. More information is available on its GitHub page: github.com/LiamGoodacre/TypeMatch

Seeing mrbenjamind post his game progress motivated me to start a small game project.

It is called “Chuq”. It is a 3D first-person cube throwing puzzle game. Players can fly around, and pick up cubes and throw them. Various game elements should include:

  • Cubes (Obviously)
  • Targets
  • Buttons
  • Doors
  • Antiplayer fields (A field that a player cannot pass through, but other objects can)

Progress so far includes:

  • Player
    • Camera
    • Mouse control
    • Movement
  • Cube
  • Temporary textures
  • Demo room

mylifeasarry:

this summer i want to learn java and javascript in as much depth as possible.

i need to learn java better before a class next semester. i know it a little but i’m really bad at it….

also javascript is just essential for anyone going into web dev. and it’d just be nice to be able to finally write my own!

I NEED BOOKS. TUTORIALS. GIVE ME SUGGESTIONS. how should i learn?

For JavaScript, I would suggest first getting a syntax checking and formatting tool such as JSHint (it is customisable if the defaults seem too harsh).

I would also check out well-known libraries such as Prototype, jQuery, and Underscore. Use them for a while, then look at their annotated source.


For learning a new language, Project Euler is usually the go to place. It has a large selection of programming and mathematic puzzles. They are great for practicing a language.

There is also CodeEval, which has various levels of challenges. You write and upload code to their website where they execute it. Your submission gets a mark out of 100, based on its running time, and how well it passes tests for that specific challenge.


For both Java and JavaScript, you can find lots of useful books online. Try searching StackOverflow for book links. Also, specifically for JavaScript; there are many free to download ebooks online, or educational resources (such as JavaScript Garden).


As a general comment about advancing programming education, I suggest researching different programming paradigms. Imperative, such as C and Java. Functional, such as Clojure, Haskell, and Scala. Logic, such as Prolog. Languages built for parallel/real-time systems such as Erlang.

Also try reading up on best practices for the language - they may help you avoid common pitfalls.

(Source: andifeltfreeee)

Approximately 12000 words on my dissertation so far! The cap is 15000 – I’m getting dangerously close. I should be able to reduce it a lot by swapping out code samples for images though. This would also make them easier to read as they will have syntax highlighting. Redoing my poster this weekend too.

Unity3D free upgrade until April 8th

Get the Unity Mobile Basic add-on licences for iOS and Android, free until 8th April.

happyinaloop:

Bear CSS - It will generate a CSS template based on your provided markup and the HTML elements used.

happyinaloop:

Bear CSS - It will generate a CSS template based on your provided markup and the HTML elements used.

unwrap & wrapped?

The following are two simple procedures for ‘wrapped’ expressions:

(defn- wrapped? [_expression]
  " Detects if an expression is wrapped up in layers.
   'y is not wrapped
   '(x) is wrapped on 'x
   '((((x + y)))) is wrapped on '(x + y) "
  (and (coll? _expression) (= 1 (count _expression))))

(defn- unwrap [_expression]
  " Iteratively unwraps an expression until it is no-longer wrapped.
    'y --> 'y
    '((x)) --> 'x
    '(((((x * y))))) --> '(x * y) "
  (if (wrapped? _expression)
      (recur (first _expression))
      _expression))

I authored these to help with my dissertation’s “tokenised infix expression” parser. They are used to eliminate singly-nested expressions.

Changed my idea for my Game Dev module completely! Should be fun ^_^

It’s still a physics based puzzle platformer, but it’s more awesome than my previous idea!