Feed aggregator

DDD-NYC Monthly Meetup

DDD-NYC Meeting Calendar - 17 min 56 sec ago

DDD-NYC

To be announced shortly.

Please don't forget to bring a photo ID to get access to our meeting location.

New York, NY 10036 - USA

Wednesday, November 7 at 6:30 PM

Attending: 4

Details: http://www.dddnyc.org/events/tqznpyqpbkb/

Categories: Local Events

DDD-NYC Monthly Meetup

DDD-NYC Meeting Calendar - 17 min 56 sec ago

DDD-NYC

To be announced shortly.

Please don't forget to bring a photo ID to get access to our meeting location.

New York, NY 10036 - USA

Wednesday, October 3 at 6:30 PM

Attending: 4

Details: http://www.dddnyc.org/events/tqznpyqnbfb/

Categories: Local Events

DDD-NYC Monthly Meetup

DDD-NYC Meeting Calendar - 17 min 56 sec ago

DDD-NYC

To be announced shortly.

Please don't forget to bring a photo ID to get access to our meeting location.

New York, NY 10036 - USA

Wednesday, September 5 at 6:30 PM

Attending: 4

Details: http://www.dddnyc.org/events/tqznpyqmbhb/

Categories: Local Events

Slice of Life: Converting my Personal Site

Greg Young's Blog - Sun, 05/13/2012 - 12:32

Over the last few months I have been having a lot of fun converting my personal site (http://drusellers.com) from a pure static html site, to one that uses a back end server side language.

When I first started the main purpose was to learn a little more about python. So I started off using Flask, a micro framework for python. Flask is a lot like Sinatra for ruby and the comparison was a lot of fun because my good friend Ryan Rauh (RyRy) was writing a site in Sinatra at the time so we were able to compare and contrast the two approaches quite easily.

As I learned more about flask and all that it could do, I was impressed by how much I could do with so little. It served as a solid reminder that we should strive for simpler solutions.

In addition to learning python I also took the time to dive into LESS. Organizing the CSS content of applications has always been difficult for me. Finally, with LESS I had variables and the ability to nest selectors. Basically, all of the things that I have wanted CSS to do for a very long time. I started out using the runtime compilation modes of LESS, but as I learned more I eventually switched to running the watch mode on the compiler and then stripping that functionality out of the app. Right now, I really like this approach. It feels more like PROD vs DEV, but I still have the ability to iterate quickly. The real choice to use LESS, was that the popular CSS framework from Twitter called Bootstrap had just launched. By studying their approach and trying to deconstruct things I have learned a lot about CSS and its application to better CSS approaches.

But as with all things in the technical world, a change was on the horizon. That change was SASS/SCSS. RyRy read a post somewhere comparing SCSS and LESS and he came away with the impression that SCSS RULED, and LESS DROOLED. This was one of those moments, where I gave RyRy a stern look and then sat down to start converting my website from LESS to SCSS, because when the guy you ask all of your questions too, changes directions sometimes its just easier to go with the flow. Thankfully it wasn’t that hard, allowed me to revisit my CSS and improve things further.

Around the same time, I discovered semantic.gs, a SCSS friendly grid system, finally I can get rid of the BS classes like span-4 and what not that have been plaguing me since I first found blueprint.css and 960grid. Whoot! I have been able to further clean up the website’s CSS approach.

Well, of course the project can come to a close quite that simply. After improving my CSS and getting an understanding of python, I of course, had to completely rebuild it something new and shiny. Damn, my attention span.

So, yeah. Node.js the new shiny language/framework. My JavaScript skills have always suffered, so I rationalized changing my backend code to JavaScript as a means to improve my JS skillset. So, I converted my site again, learned a lot about JavaScript in the process, melted my brain trying to get things to work in this under powered language (under powered because I am used to my language providing much more to me).

So now my site is running Node.js – its a whole lot cleaner and easier to work on. I love how simple the underlying code is, and I have really learned a lot about some of the new languages and frameworks out there.

Categories: Discussion

Azure SDK for node 0.5.4 is out! More secure and now with less angle brackets

Greg Young's Blog - Sat, 05/12/2012 - 14:33

As Yavor said, Azure SDK for node 0.5.4 is out with a bunch of goodies!

Closing a security hole

Recently a vulnerability was detected in node.exe that could theoretically allow an attacker to perform a header-spoofing attack. Version 0.6.17 contains a fix for this attack. We take security very seriously, so we’re releasing this update which includes node 0.6.17 to remove the vulnerability.

Please go download the latest bits to remove this vulnerability!

Less angle brackets, more YAML

iisnode offers some really nice hosting capabilities like spinning up and managing multiple node procs, allowing access to logs over HTTP, providing good debugger errors in the browser for diagnostics and supporting node-inspector for debugging.

To access any of these benefits however you have to travel the sea of angle brackets known as web.config. For .NET / Windows developers, this is the norm. However, we heard a lot of feedback from folks in the node-a-verse, in particular coming from on a Mac / *nix that this feels very strange that they have use web.config in order to config node-specific things in Windows Azure, especially in light of the other offerings out there. Looking around we saw that a common pattern was to use a simple key-value format for specifying similar settings with YAML being a very popular format.

iisnode.yml

And so our team racked our brains a bit, got a bunch of feedback and iisnode.yml was born and implemented by Tomek! iisnode.yml is an optional file that sits along side web.config. It allows you to set all of our iisnode settings without having to ever touch web.config. Below is a really simple example.

# This is a really simple iisnode.yml file node_env: development devErrorsEnabled: true logggingEnabled: true

 

The settings set the node_env environment variable to development, enables logging all node.exe output and enables developer errors.

For example, the code below has an error in that it requires a module that does not exist, also it uses spaces in the module name.

var http = require('http'); var notPresent = require('some awesome module'); http.createServer(function (req, res) { throw "error"; res.writeHead(200, {'Content-Type': 'text/plain'}); notPresent.doSomethingAwesome(); res.end('Hello World Again\n'); }).listen(process.env.PORT);

 

If I don’t enable devErrors this is what I get when I do a request.

However, look at what I get when I enable devErrors with logging.

Above you an see that an error occurred because it could not find my wacky module.

Developer errors is a pretty cool feature that allows iis to output in the response any errors that occurred right in the browser. Combined with logging, it’s really useful for debugging on a remote/staging server.

Of course you don’t want anyone seeing that in your live production site, so you should probably shut that off.

myfile.yml

By convention we look for iisnode.yml. If you are not happy with that name however, you can set your own name in the iisnode element of web.config by using the configOverrides property.

<iisnode configOverrides="myfile.yml"/>

Note: configOverrides also allows you to do environment variable expansion. Thus instead of having a static file name you can have a name that includes an environment variable value. More on that in the future.

But wait, don’t I still need a web.config when I publish to Windows Azure?

Great question! Today you still need a web.config though as Tomek said that can be boilerplate and you don’t have to look at it. Tomorrow however….

Go get the latest SDK here.

Categories: Discussion

Re: Defining Associations

Yahoo! Group - Fri, 05/11/2012 - 21:03
Savvas, A relationship may exist in the model but not be realized in code, which is perfectly acceptable. The model manifests in several forms: the
Categories: Discussion

Honored to have participated in the ACT Fly-In

Greg Young's Blog - Fri, 05/11/2012 - 08:03

You can read about the event here.

Every so often, you get the opportunity to participate in a process that affords you the opportunity to talk to those who make policy that affects our personal and business lives. During the Fly-In, a group of us engaged with members of Congress on topics that ranged from privacy, bandwidth and entrepreneurship.

My two big issues: privacy and the available bandwidth spectrum.

Privacy:

What people need is the ability to provide informed consent. It’s very difficult, if not impossible, for government to formulate regulations that covers every conceivable behavior. All these regulations serve to do is stiffle innovation and harm those that play by the rules. What we do know when we see it is bad conduct. The FTC has broad enforcement and police power and they need to use the power Congress gave them. Punish the bad actors and make an example out of them to provide the necessary incentives to handle online privacy the right way.

Bandwidth Spectrum:

Recently, Congress mandated FCC Spectrum Auctions. Are you tired of dead spots and sluggish performance over 3G/4G networks? Did you know the carriers stand at the ready to fund the billions of $’s necessary to put up and light up more towers? To make that work, the amount of available bandwidth has to be increased. Congress has taken an important first step – but more needs to be done. Increasingly, we rely on more than just plain text. Mobile Apps are providing (at least are trying to provide) rich content. What’s holding things back? Lack of available bandwidth. The bandwidth is out there, we just need to make it available and use it.

Categories: Discussion

Defining Associations

Yahoo! Group - Thu, 05/10/2012 - 17:01
Hello All, I wanted to ask the community about their thoughts regarding the preferred strategy on defining associations in a model. In my understanding, if an
Categories: Discussion

Node.js and Azure on .NET Rocks!

Greg Young's Blog - Wed, 05/09/2012 - 04:26

Recently I had the privilege to talk to my good friends Richard and Carl about the work we’re doing enabling Node.js development with Windows Azure along with our friends in the node community. It was also a great opportunity for me to practice my new subdued Glenn persona You have to listen to believe it!

http://dotnetrocks.com/default.aspx?showNum=763

Carl and Richard talk to Glenn Block about node.js on Azure. Glenn digs into how node.js has grown in popularity, and points to the Cloud9 IDE as a development environment in the Cloud as an example of a node.js application – which happens to be able to build node.js applications. And Cloud 9 can deploy node.js to Azure. The conversation digs into the Azure stack and the diversity of technologies (including node.js) that run great in the cloud.

Categories: Discussion

Beyond Layers: DDD and Architectural Styles (Plural)

Yahoo! Group - Tue, 05/08/2012 - 01:59
See you on June 11 @ #DDD Denver for the discussion: "Beyond Layers: DDD and Architectural Styles (Plural)" http://www.meetup.com/ddd-denver/ Vaughn
Categories: Discussion

I’ll be at GOTO CPH and QCON NYC spreading the node.js love

Greg Young's Blog - Fri, 05/04/2012 - 04:06

Conference season is coming again. I am excited this year that I’ll be finally speaking at goto AND that I’ll be speaking at the first QCon NYC. The topic, well you guessed it, node.js and Windows Azure.

May 21-23

First stop will be Copenhagen where I will be speaking at goto in the “Microsoft, beyond the echo chamber track”  I am really looking forward to this event. I’ve watched it for years before when it was JAOO but never got the chance to attend. I am happy to say this year that will be changing. I hope to see you there!

Presentation: Breaking the Barrier with Node.js on Windows and Azure

June 18-22

I’ll be speaking at QCon NYC in the “Battle of the Clouds track”. If you are planning to attend, you can save $100 by using this promotion code when you register: BLOC100

Presentation: “Unlock your Inner Node.js in the Cloud with Windows Azure”. I’m planning to show some really cool stuff that we have coming down the pike soon at this event, so be there!

After the event, I’ll also be delivering two half day tutorials on node.js.

  • “node.js, jumping in with both feet”. This tutorial will be a basic primer around node.js and take you from 0 to 60 with node.js development. It will cover the basics, common practices as well as popular third party modules.
  • “node.js in Windows Azure”. In this tutorial we will dive into deploying node.js applications to Windows Azure as well as using Azure storage services and ServiceBus from within your node.js apps. We’ll also cover development tools like Cloud9 IDE that you can use for deploying node apps to Azure.

If you are looking to get up to speed with node or to start deploying node apps to Azure come to these tutorials.

While I am in town for both events I’ll be doing a bunch of user group meetups and such. I’ll cover that in my next post

Categories: Discussion

DDD-NYC Monthly Meetup

DDD-NYC Meeting Calendar - Thu, 05/03/2012 - 09:54

DDD-NYC

To be announced shortly. Please don't forget to bring a photo ID to get access to our meeting location.

New York, NY 10001 - USA

Wednesday, August 1 at 6:30 PM

Attending: 5

Details: http://www.dddnyc.org/events/63240862/

Categories: Local Events

DDD-NYC Monthly Meetup

DDD-NYC Meeting Calendar - Thu, 05/03/2012 - 09:30

DDD-NYC

To be announced shortly.

Please don't forget to bring a photo ID to get access to our meeting location.

New York, NY 10036 - USA

Wednesday, August 1 at 6:30 PM

Attending: 4

Details: http://www.dddnyc.org/events/tqznpyqlbcb/

Categories: Local Events

Re: Creating and refactoring identity fields of Entities

Yahoo! Group - Wed, 05/02/2012 - 00:35
Hi Ibrahim, I'll try to answer some of your questions from my experience. Hopefully others will do the same to offer you a more complete picture to evaluate.
Categories: Discussion

Re: Creating and refactoring identity fields of Entities

Yahoo! Group - Wed, 05/02/2012 - 00:35
Hi Ibrahim, I'll try to answer some of your questions from my experience. Hopefully others will do the same to offer you a more complete picture to evaluate.
Categories: Discussion

Creating and refactoring identity fields of Entities

Yahoo! Group - Tue, 05/01/2012 - 18:49
We are learning DDD and evaluating its use for a system backed by a legacy system & datastore. We have been using Anti-Corruption Layer, Bubble Context and
Categories: Discussion

Creating and refactoring identity fields of Entities

Yahoo! Group - Tue, 05/01/2012 - 18:49
We are learning DDD and evaluating its use for a system backed by a legacy system & datastore. We have been using Anti-Corruption Layer, Bubble Context and
Categories: Discussion

Exploring Supple Design with Peter Bell

DDD-NYC Meeting Calendar - Mon, 04/30/2012 - 08:16

DDD-NYC

Topic: Supple Design One oft-overlooked element of DDD is the focus on "supple design" - a collection of proven design patterns for improving the quality of any software. We'll spend time discussing patterns from "intention revealing interfaces" and "side effect free functions" through "assertions", "contextual contours" and DSLs. Speaker: Peter Bell, Senior VP Engineering, General Assembly

Please don't forget to bring a photo ID to get access to our meeting location.

New York, NY 10001 - USA

Wednesday, May 2 at 6:30 PM

Attending: 32

Details: http://www.dddnyc.org/events/53351752/

Categories: Local Events

The cases for reuse

Yahoo! Group - Mon, 04/30/2012 - 07:20
How to deal with objects targeted by different domains. http://caminao.wordpress.com/2012/04/09/cases4reuse/
Categories: Discussion

The cases for reuse

Yahoo! Group - Mon, 04/30/2012 - 07:20
How to deal with objects targeted by different domains. http://caminao.wordpress.com/2012/04/09/cases4reuse/
Categories: Discussion
Syndicate content