Walter Higgins

Tinkering with Software & the Web

The Two Pillars

2014/10/21 13:55

If you are working in JavaScript and you’re creating constructor functions and inheriting from them, you haven’t really learned JavaScript. It doesn’t matter if you’ve been doing it since 1995. You’re failing to take advantage of JavaScript’s most powerful capabilities.

You’re working in the phony version of JavaScript that only exists to dress the language up like Java.

The Two Pillars of Javascript

A thousand times this.

Categories

Javascript, programming

The pleasure of not knowing

2014/09/30 13:16

During the last Irish property bubble, there was an ad on TV which showed people on the top deck of a double decker bus. Each person stood up one by one and admitted to not knowing about something or other. The last man stood up and admitted:

I don't know what a Tracker mortgage is.

I don't know what Growth Hacking is. I could easily find out if I wanted to know but I don't want to know. I'm quite comfortable about not knowing what this particular thing is because it has only recently impinged the stream of things I read or hear about. If I were to be honest, I even feel a little smug about not knowing what Growth Hacking is. I've added it to the growing list of things I'm peripherally aware of but have no wish to know about. I suspect that along with many other new things, I could die with no regrets about not knowing what 'Growth Hacking' is.

I have to wonder at my pleasure in not knowing about the latest "thing" - is it a mark of getting old? Is this what happens when you get old? You become comfortable (content even) in not knowing certain things?

In this day and age it takes an effort of will to not know what something is. Yes - willful ignorance. I'm writing this in a browser window. I could stop writing the rest of this sentence right now and - with just a few keystrokes in another browser window - google it. But - perversely - I won't.

I'm sure that if Growth Hacking is important I will come to know about it in the fullness of time but for now I'm quite happy not knowing what it is.

No. I would not like you to google that for me.

Categories

The Internet

Writing Minecraft Plugins: The Book

2014/09/26 08:41

I wrote a book.

A Beginner's Guide to Writing Minecraft Plugins in JavaScript

I wrote a book to teach Javascript Programming. The book is aimed at beginners of all ages. It's a technical book but assumes the reader has no programming knowledge. The book teaches Javascript and how to use it to create Minecraft Plugins.

It was due to be released this November but recent developments in the world of Minecraft Modding - the CraftBukkit DMCA takedown notice to be exact - mean the book's release date has been postponed.

The book requires you to install ScriptCraft so readers can write Minecraft Plugins using Javascript. ScriptCraft in turn uses CraftBukkit which is no longer available due to legal reasons. This means I have to port ScriptCraft to another modding framework, update the source code listings in the book and the accompanying text. I've already begun this process. I'm currently working on porting ScriptCraft to work with CanaryMod, a Minecraft server which supports plugins. The ScriptCraft port is going well though it's not yet complete. I honestly don't know how long this will take. It might take as little as 1 month or as much as 3 months.

The book was in production copy review phase (I was reviewing final production PDFs) when the news about CraftBukkit's takedown notice broke. Writing the book has taken a long time and a lot of work. When I heard about the takedown notice I contacted the publisher to let them know. In a way I'm glad the takedown didn't happen later because publishing a book which includes download instructions for software which is no longer available would not have been good for anyone: readers, the publisher or myself.

To say I'm disappointed about the postponement is an understatement. I love technical books - actual physical books - and to be able to say I wrote a Javascript book ... well that was something I was proud of. I was really looking forward to the book's release. It's a full-color book with lots of supporting diagrams and screenshots, printed on high quality paper. It's the kind of book I would love to read if I were 12 years old and interested in Minecraft and modding.

Anyway, the book's release date is postponed for now - I hope it will be available soon. I'm working on it.

Categories

Minecraft, ScriptCraft, Writing

ScriptCraft is Moving

2014/09/19 06:57

Earlier this month, CraftBukkit received a DMCA takedown notice from one of its open source contributors. I won't go into the details here but it means that it's highly unlikely there will be further development of CraftBukkit. The rest of the team have left the project and Microsoft just this week purchased Minecraft. CraftBukkit is pretty much dead.

So where does that leave ScriptCraft? ScriptCraft is a thin layer of Javascript on top of CraftBukkit. I chose CraftBukkit as the base layer because it is...

  1. Server-based
  2. Easy to install
  3. Has a sane API.

All 3 of these are important. I've been looking around for alternatives that meet these 3 criteria and have chosen Canary Mod as the next plugin framework which ScriptCraft will be ported to. I've been busy working on the port this week (the few hours I can snatch here and there between work and family commitments).

Canary Mod's API is very similar to Bukkits which makes porting that much easier. I don't know how long it will take - these things take time. What I do know is that Canary Mod won't be the only platform I eventually port ScriptCraft to.

Since CraftBukkit's demise, a new project has started up SpongePowered which looks promising but there's not a whole lot of code there just yet. GlowStone is also promising - it's been very active lately and is already bukkit compatible so ScriptCraft kinda sorta works already with it. The big one will be the Official Minecraft Plugin API which I hope Microsoft will begin working on soon.

Categories

ScriptCraft, Minecraft, CraftBukkit, Canary Mod

Platform Game

2014/09/13 10:08

Minecraft as a Platform

In all of the coverage I've read about Microsoft's rumored bid to acquire Mojang, I haven't yet seen any talk of Minecraft as a Platform. Minecraft: the Platform, is far more interesting than Minecraft: the Game. It's interesting to Microsoft, it should also be interesting to other big players in this space.

When I say Minecraft is a platform I mean it in the same way we say the Web is a platform. If you don't believe Minecraft is a platform then go ask any of the thousands of plugin developers and server administrators who are in freefall since the recent DMCA Takedown.

Minecraft has become Important - too important to be controlled by a boutique game development company in Sweden. The thousands of developers and administrators who build on top of Minecraft now see this. Microsoft see this. Learning the Minecraft protocol and how Minecraft servers work, will be important to software developers in the same way learning HTTP and how web servers work is today. There, I said it.

I'm ambivalent about Microsoft acquiring Mojang. Will they Embrace and Extend Minecraft as they've done with other categories? Let's hope not. On the other hand, some adult supervision and a Plugin API would be welcome. Mojang have the financial resources but lack the will and focus needed to publish and support a Plugin API. Perhaps Mojang themselves don't realise just how important their little game has become.

An interesting thread on reddit spells out the alternatives for developers who want to build on an open Minecraft platform. Me? In my down-time I'm going to stop reading the book I was reading and go read some source code instead. It may come in useful some day.

Categories

Minecraft, Microsoft, Platforms, The Future

George Orwell: Why I Write

2014/06/17 09:08

Writing a book is a horrible, exhausting struggle, like a long bout of some painful illness. One would never undertake such a thing if one were not driven on by some demon whom one can neither resist nor understand. For all one knows that demon is simply the same instinct that makes a baby squall for attention. And yet it is also true that one can write nothing readable unless one constantly struggles to efface one’s own personality.
-- Collected Essays, by George Orwell : part47

Categories

Writing

Nashorn Vagaries

2014/06/08 09:52

JavaScript sometimes causes me to doubt my sanity. I spent a good few hours debugging weird behavior in Nashorn's JS engine yesterday. JSON.stringify() wasn't doing what it was supposed to.

In scriptcraft I expose the JS engine as a javascript variable called __engine . That is - you can access the JS engine from javascript itself and do something like this:

var x = __engine.eval('( { "names": ["tom", "dick", "harry"] } )');

I noticed something odd - An object read this way was not being output correctly by JSON.stringify():

console.log( JSON.stringify ( x ) )

outputs "undefined". Yet if I construct the same object using JSON.parse:

var y = JSON.parse( ' { "names": ["tom", "dick", "harry"] } ');

and output it using JSON.stringify() the output is fine. So basically, what I think is happening is that in Nashorn:

var x = __engine.eval('( { "names": ["tom", "dick", "harry"] } )');

returns an object whose "names" property is a Java array, not a JavaScript native array so it can't be stringified by JSON. The subtle differences between Nashorn and JRE7's JS engine are driving me nuts right now.

Categories

JavaScript, Nashorn, ScriptCraft

Methodologies

2014/05/14 14:05

I've seen this happen...

Once a programming team has adopted a methodology it’s almost inevitable that a few members of the team, or maybe just one bully, will demand strict adherence and turn it into a religion. The resulting passive-aggression kills productivity faster than any methodology or technology decision.
-- Typical Programmer - Why don’t software development methodologies work?

Categories

Programming, Agile

Java

2014/03/25 12:15

Mark Jason Dominus on Java...

When you learn Perl, Python, Ruby, or Javascript, one of the things you learn is a body of technique for solving problems using hashes, which are an integral part of the language. When you learn Haskell, you similarly learn a body of technique for solving problems with lazy lists and monads. These kinds of powerful general-purpose tools are at the forefront of the language.

But when you learn Java, there aren't any powerful language features you can use to solve many problems. Instead, you spend your time learning a body of technique for solving problems in the language. Java has hashes, but if you are aware of them at all, they are just another piece of the immense Collections library, lost among the many other sorts of collections, and you have no particular reason to know about them or think about them.
-- The Universe of Discourse : Why I like Java

Categories

java

Mid-Career Perl

2014/03/11 11:12

Chromatic on being a Perl programmer in the middle...

Look, I'm a programmer. I solve problems. I've managed teams and I've been managed. I've written documentation and I've written tests. Some days I've deleted more code than I've written and I've been glad of it. Some days I've solved customer problems by not writing code. Some days I've been elbow deep in profiles or Valgrind reports and other days the best thing I've done was add an index to a column in a database and it was totally worth all of the research to reach the point where that was the solution.
-- The Mid-Career Crisis of the Perl Programmer - Modern Perl Programming

Categories

Perl, Programming

Debugging Jasmine

2014/03/04 10:36

If you want to debug your Jasmine tests then run Node like this (assuming you've kicked off an instance of node-inspector already)...

node --debug-brk node_modules/jasmine-node/lib/jasmine-node/cli.js --verbose {PATH-TO-TEST-FOLDER}

The above statement assumes that Jasmine has been installed in the current working directory ( npm install jasmine ). Once running, open Chrome and visit http://localhost:8080/debug?port=5858

Categories

nodejs, debugging, javascript, unit-testing

Grunt-Work

2014/02/18 18:51

This is how much javascript code it takes to copy a directory tree ignoring temporary files ...

var target = 'dist',
  copyIgnore = [ /~$/, /#$/ ];

function ignoreEmacsTempFiles( content, srcPath ) { 
  var i;
  for (i = 0; i < copyIgnore.length; i++ ) {
    if ( srcPath.match( copyIgnore[i] ) ) {
      return false;
    }
  }
  return content;    
}
module.exports = function( grunt ) {
  grunt.initConfig({
    copy: {
      all: {
        options: {
          process: ignoreEmacsTempFiles,
          noProcess: ['**/*.{png,gif,jpg,ico,psd}']
        },
        files: [ { 
          expand: true, 
          dot: true, 
          cwd: '.', 
          dest: 'dist', 
          src: [ 'src/**' ]
        } ] 
      }
    }
  });
  grunt.loadNpmTasks('grunt-contrib-copy');
  grunt.registerTask('default', ['copy']);
};

... There's a lot of buzz and activity around Node.js and its ecosystem, some of the innovations in node and the ecosystem are very very good. Others, not so much. Grunt feels like a throwback to the dark days of Maven and POM.XML files. Grunt has no built-in tasks so even a copy task requires you to install an additional npm module. That feels like plugin fetishism to me. When I first encountered Rake, it was a light-bulb moment. Rake is a brilliant example of an embedded DSL. The syntax is simple, you have a target, one or more sources and a block which when executed will build the target using the sources as input. This is the essence of any good build system. Grunt configs in contrast don't even look like a build file. Grunt feels more like Maven, it's self-regarding software. I've spent all day debugging Grunt just so I could figure out how to get it to ignore certain files when copying. That to me feels like Grunt-work.

Categories

grunt, nodejs, make, javascript

Goodbye Python

2014/02/13 16:08

Ian Bicking on giving up Python...

It’s oddly common to see people talk about how a programmer can pick up something new in the matter of a few days or months. To find programmers that consider all that knowledge transferable (for instance). I don’t know what to make of it — my less forgiving self thinks these people have never known what real mastery is. I don’t think it takes another 10,000 hours to get mastery in a new language and environment… but it definitely takes some thousands of hours, some years of hard work. I only now feel like I’m getting close.

Maybe it’s my perspective on what mastery is. Deciding to do something and then doing it is good. It is not mastery. You have to pick the right problem to solve. You have to pick the right way to solve it. You need to know when to revise that plan, and understand the constraints that inform that revision. You need both large scale and small scale intuitions. And you need to be good enough at all the details of programming in that environment that you don’t get overwhelmed with the “easy” stuff, so you have mental energy to spare on the big stuff. The jump from Python to Javascript isn’t that big, the languages have a very similar shape. And the browser was already the environment focused on. And yet redeveloping my intuition for this new environment has taken time.
-- Saying Goodbye To Python

Categories

Programming

Releasing ScriptCraft

2014/02/11 21:38

This is the procedure I use for releasing ScriptCraft - an open source side-project which is not in any way mission-critical to anyone but still has enough users who care about its reliability...

After I've done some testing and verified there are no major bugs and the documentation is up to date, I create a new release on GitHub. GitHub is great, they don't get pissy about your project existing in other locations. This is a perfectly grown-up attitude and one which all websites should adopt. GitHub don't mind or care if my source-code and binaries are also available in their own dedicated website (they are http://scriptcraftjs.org ). This is totally commendable and one of the reasons I love github.

Next I upload the binaries and release notes to http://scriptcraftjs.org/download - ScriptCraft's own dedicated website. It's important that ScriptCraft has its own home after all.

Finally I upload the binaries and release notes to Bukkit's site. Bukkit are a bit funny about posting links to anywhere but bukkit. They want to be the canonical source for all bukkit plugins and don't like if you link to the project's own site or github. Which makes http://dev.bukkit.org/bukkit-plugins/ my last port of call when I release a new version of the plugin.

Having 3 different locations from which ScriptCraft can be downloaded means I can hit a wider audience. Not everyone uses http://dev.bukkit.org/ so providing the binaries and release notes elsewhere is important. Plus, if the Bukkit team do get cranky about cross-linking (hey it's the web!) to non-bukkit properties and decide to remove ScriptCraft altogether, well it's no big deal. I can't understand the thinking behind forbidding such links, it reeks of silo thinking.

Categories

ScriptCraft

Fork Me

2014/02/04 11:29

I think I maybe love https://github.com/ too much.

Of all the online services I use, the one which has become truly indispensible is GitHub. Over the past 2 years, I've grown from an occasional to a rabid user of the service. GitHub gets everything right. Its use of Markdown for documentation? - Perfect. Perhaps what I like best about GitHub is that it has so far been resilient to the usual influx of social media types that infect most social networks. It has also (for now) stayed under the radar of Recruitment consultants, though I suspect recruitment firms are aware of github but just haven't figured out how to mine it the way they've mined LinkedIn.

What github have done is nothing short of miraculous. They've taken version-control - the bane of most developers existence (though absolutely necessary of course) - and made it social. GitHub has in a short space of time become the canonical source for most open-source projects. It succeeds brilliantly where others (e.g. SourceForge) failed.

Every time I see the Fork me on Github badge on a website I see a veiled plea for some kind of immortality. I think it's only a matter of time before 'Fork me on github' is engraved on a headstone. The phrase 'Fork me on Github' is developer parlance for 'I will not go gently into that good night'. It offers the promise of immortality, that our work at least will outlive us. It pampers to the polite fiction that what we do has lasting value. The reality of course is that - especially in the world of software development - most of what we do today will be obsolete in 5 years time. Frameworks, tools and languages go in and out of fashion on a weekly basis. Fork Me on Github offers a tantalising promise of permanence, a foot-hold into the future, the chance for memetic immortality.

Or perhaps it's just another stupid website badge.

Categories

github

Arduino and Minecraft sitting in a Tree

2014/01/21 23:34

So I bought an Arduino last Sunday afternoon and spent a pleasant few hours with my eldest setting up simple circuits and even running our first Arduino program. We got much further along than I had hoped. I'm new to electronics and circuitry - I know I know (hangs head in shame), so it was as much a learning experience for me as it was for my daughter. I hoped to get the Starter Kit but Maplin didn't have them in stock so I bought a basic Uno board, some push-buttons, LEDs, resistors, photo-resistors (LDRS or light-dependent resistors), wires and a breadboard and a USB cable. The total cost ran to about 90 Euro but it was money well spent.

Getting started

If you want to get started on messing with Arduino, go watch the man himself Massimo Banzi on Youtube.

Arduino and Minecraft

What prompted this sudden interest in Arduino was a thread on the ScriptCraft Group about using Arduino to send and receive messages/events from Minecraft. My first sighting of Arduino was at local CoderDojos. My kids seemed to know more about them than I did (I never - until recently at least - had much of an interest in Electronics). Anyway it seemed that wiring an Arduino with some real-world sensors up to Minecraft might be an interesting project. This is my first foray into this area. Consider this the Hello World of Arduino/Minecraft interaction.

... it's a somewhat contrived example of real-world / virtual-world interaction (a real-world 'button' is no different to a keyboard button after all) but it demonstrates how sensors attached to an arduino (which can be remotely connected over wifi with a wifi shield) can trigger events in the Minecraft game. This all being based on ScriptCraft and using Arduino hardware, the source code and instructions for setting this up are on github of course. Under the hood, it's using MQTT - Message Queue Telemetry Transport - a lightweight protocol machines use to natter amongst themselves. It's a pub/sub mechanism aimed at resource-starved machines and it's part of The Internet of Things. Needless to say, I like it.

There's plenty of potential for some interesting two-way interaction between Minecraft and Arduino-based contraptions. I can't wait to see what others do with this.

Categories

Arduino, Minecraft, ScriptCraft

Tone Deaf

2014/01/20 10:14

A good piece by Om Malik on Google's misdirected energies...

And yet, I cannot get over what seems to me a tone-deaf approach by Google’s scientists. It also highlights Google’s fundamental challenge: it fails to think about people as people, instead it treats them as an academic or an engineering problem. Instead of trying to understand the needs of actual people, they emerge with an elegant technological solution.

It is not just this one time. Google+, their social network, is a fail because it fundamentally isn’t social or about people — it is an effort to solve Google’s need for social data for better advertising using machines. Similarly, Google Glasses are a cringe-worthy assault to the social interactions of normals, but because a certain subset of Googlers — including co-founders Sergey Brin and Larry Page — have a cyborg fetish, it is okay to make that design. It is frustrating for me to keep repeating this, because Google is a company with huge resources and those resources could be deployed more effectively and have a much more positive impact, more quickly. And to do that, the company needs to learn to be human and develop compassion for human condition.
-- One diabetic’s take on Google’s Smart Contact Lenses — Tech News and Analysis

Categories

Google

Architects

2014/01/13 17:24

I've long believed that the distinction between software architecture and software development is misleading. Good software development is software architecture. You can't do one without the other.

Uber-Architects don’t create a bunch of rules and enforce them across large organizations for consistency’s sake, like a foreman with a clipboard overseeing hundreds of fungible laborers. They pick up the hammers and nails and work along side those workers, showing them how it’s done, building the thing together, and making those around them better until it is no longer a fungible collection of workers, but a humming, autonomous machine that’s more than the sum of its parts.
-- Uber-Architects: The Building Metaphor Is Dead | DaedTech

Categories

Software, Programming

An Open Letter to the Mojang Team

2014/01/12 14:25

TLDNR; Please make Javascript a first-class language for developing Minecraft plugins

A proposal for supporting Scripting in the forthcoming Minecraft Plugin API.

I'm really excited about the forthcoming Minecraft API. Not least because the people working on it are the same people who created Bukkit so they clearly know a thing or two about creating good APIs. What would make me even more excited is if Javascript was also officially supported as a first-class language for writing plugins. Minecraft has transcended its original medium. It's no longer just a game. It's a cultural phenomenon and for its huge community of server admins and modders - a platform. A platform desperately in need of an official API. The modding community is a ghetto. If you want to get started modifying Minecraft there is no clear path to doing so. Even for a seasoned Java developer like myself, it's bewildering and intimidating getting started. I can still remember those first overwhelming days last year when I began working on my own Mod (ScriptCraft). This hurts because if it's tough for a seasoned dev, imagine how tough it must be for younger people who want to try their hand at creating their own mods. I'm talking about children and young adults.

Minecraft has a huge mindshare among children and young adults. It is the first game that many children play where concepts like 'client-server', 'plugins' and other tech ideas are learned along the way. Minecraft is being successfully used in Education to teach all kinds of things. What interests me is using Minecraft to teach children programming.

Minecraft is written in Java and chances are the forthcoming API will be a Java-based API. Java is a fine language but some of the language concepts (Object Orientated Programming, Inheritance), overly verbose syntax, and tool-chain (IDEs - eclipse, etc) and the need to compile mean that Java is not an ideal language for those who want to 'dabble' or test the waters to see if Programming is interesting. The overhead and learning curve is too steep for younger potential-programmers. This is where Javascript comes in.

I've taken my kids to a couple of CoderDojo sessions over the past 2 years. CoderDojos are free and open volunteer-led environments which provide training in programming for young kids. Kids learn to program using Scratch and are also taught how to create their own websites using HTML, CSS and Javascript. The excitement about programming at CoderDojo sessions is palpable. Javascript is a comparatively easy language to learn, especially for younger programmers. Anecdotaly I can say there's a lot of interest in Modding minecraft at the coderdojo sessions I've been to. Kids are learning to program in Javascript. I imagine a lot of these same kids would like to use that knowledge to create cool Minecraft plugins.

The good news is that Javascript is bundled with Java since version 6, so any Java-based Application (like Minecraft) can - with a little effort - expose its API to Javascript. This is how my own Bukkit Plugin (ScriptCraft) works, it provides a Javascript-to-Java bridge to Bukkit's excellent Server API. ScriptCraft is a Meta-Plugin, a Bukkit Plugin that lets plugin authors write their own plugins in Javascript. This for example is how you add a new Bukkit event listener in JavaScript...

events.playerJoin( function( event ) {
  var player = event.player;
  player.sendMessage('Welcome to ' + server.name);
});

... It's more succinct than the equivalent Java code and it doesn't need to be compiled. You just put the code in a .js file and drop the file in a folder and the code is executed whenever a player joins the server. Java bean setters and getters are optional in Javascript which is why player = event.player and server.name works. The only thing provided by ScriptCraft in the sample code above is the convenience object events which provides a simple way to add Bukkit Event listeners in Javascript. Javascript has come a long way and systems like NodeJS with its adoption of the superb CommonJS Module System mean that large-scale modular systems can now be written in Javascript with little additional effort. Again, ScriptCraft has recently adopted the CommonJS module system so a ScriptCraft plugin (a bukkit plugin which depends on ScriptCraft) might look like this...

spawn.js

var bkEntityType = org.bukkit.entity.EntityType;
module.exports = function( location, entityType ){
   var world = location.world;
   world.spawnEntity(location, bkEntityType[entityType]);
};

... and might be used like this...

farm.js

var spawn = require('spawn');
var animals = ['COW','PIG','HORSE','SHEEP'];
exports.spawnAnimals = function( location, count ) {
   var i = 0;
   for (; i < count; i++){
      spawn( location, animals[ i % animals.length ] );
   }
}

... and at the in-game command prompt (or from another module) you can use the farmspawn module ...

/js var farm = require('farm'); farm.spawnAnimals( self.location, 25 );

... This by the way is another great advantage Javascript has over Java - programmers can 'explore' the game API more easily by executing javascript (it's interpreted so no need to compile code) at the in-game prompt. I realise you're a small team and you're already under a lot of pressure to deliver an official plugin API. All I'm asking is that you consider Scriptability as an important feature of the API. Since Javascript is the only Scripting Engine embedded with Java 6 and 7 anyway, it should be possible to add official support. Further down the road, these are items on my wish-list for official Javascript support from Mojang...

Most of the above are already present in ScriptCraft today so please feel free to co-opt the features/source-code - it's all open source. To sum up. I wrote the Bukkit ScriptCraft plugin and from day one I saw it as just a stop-gap solution until Mojang officially publish a Plugin API and hopefully add supporting Javascript functions. I would like nothing more than for ScriptCraft to become redundant and for Mojang to officially support Javascript as a language to develop Minecraft plugins. This would make a lot of young budding developers very happy. A Javascript API for Minecraft Plugins would be rocket fuel for young minds. The Mojang Team have an opportunity to do something great here. I hope you do.

Categories

Javascript, Minecraft

BeerJS Cork

2014/01/10 22:20

Prompted by a tweet from local BackboneJS expert James Sugrue, I suggested a meetup of a few local Javascript people in Cork.

One thing I'd really like for 2014 is to get Cork tech events buzzing. You can help by listing your events with @SDigestCork

— James Sugrue (@sugrue) January 1, 2014

... so BeerJS Cork is happening next Thursday 16th January in the Vicarstown Bar on North Main Street, Cork. It's basically a meetup of Javascript/Tech/Software people. You can get all the details including a map of the venue at https://javascript-cork.eventbrite.ie. This is going to be pretty informal, no presentations, no whiteboards etc. A few people have been asking what to expect so I'll point to http://pubstandards.ie...

Pub Standards is open to everyone. It's loosely aimed at web design & development geeks, but that doesn't mean chitchat need necessarily be work-related. Don't expect structure, don't expect presentations, just relax with like-minded people and a few beers.

This is the post-conference drink-up, without the conference

... which pretty much sums up what I had in mind when I proposed the meetup. If that sounds like it might interest you, then please pop in. Vicarstown Bar is a nice recently refurbished pub in the city center. They do craft beers and have a beer garden out back.

Categories

Javascript, Cork