Monthly Archives: March 2016

Questions for established developers

I think that we all have a responsibility to share what we’ve learned with others, if only to save people some headache or time spent having to deal with stuff that we can see now and show people how to avoid.  I’m a big proponent of learning through making mistakes and being challenged, but I think there are nuggets of wisdom that can be shared.

So, that being said, the questions:

  1. What was the deciding factor that made you become a developer/dba?
  2. Is there one thing that you would have people avoid or do differently from how you did it.
  3. How did you decide to concentrate in the space you now occupy?
  4. What advice would you give to someone who is trying to transition from an IT background into the data field?
  5. What advice would you give to someone who is trying to transition from an NON-IT background into the data field?
  6. What gets you up in the morning?
  7. Baseball, or football?

Thanks!

Investigation: Rest vs Soap

I am curious as to what the difference is and what each can be used for so I’m going to turn it into a seminar at some point if I make progress.  I’ve been meaning to research this, so as someone smart told me, teaching something will help you learn faster.  This is not complete, but please feel free to comment/suggest, I’ll try to incorporate things.

Specifically, I want to answer certain questions:

  1. What is service-oriented architectures (SOA), where did it come from, why is it important and when that kind of solution is appropriate for use?
  2. Implementing solutions – what are the design patterns and best-practices?
  3. What is REST, what is SOAP and why use one over the other.

Let’s start with simple definitions:

  • SOA – Service Oriented Architecture in computer software design in which application components provide services to other components via a communications protocol, typically over a network. The principles of service-orientation are independent of any vendor, product or technology (wikipedia).
    • Ability for applications to communicate over a network
    • Pass and parse metadata between services
  • Web Service – protocols to allow for machine to machine communication
  • REST( representational state transfer )
    • the primary purpose is to manipulate representations of web resources using a uniform set of stateless operations.
    • Stateless
      • communications protocol that treats each request as an independent transaction that is unrelated to any previous request so that the communication consists of independent pairs of Request & Response
      • protocol does not require the server to retain session information or status about each communication partner for the duration of multiple requests
      • HTTP is an example of stateless – each request message can be understood in isolation.
  • SOAP – Simple Object Access Protocol
    • It uses XML Information Set for its message format, and relies on application layer protocols, most notably Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer Protocol(SMTP), for message negotiation and transmission.
    • This XML-based protocol consists of three parts:
      • an envelope, which defines the message structure[1] and how to process it
      • a set of encoding rules for expressing instances of application-defined datatypes
      • a convention for representing procedure calls and responses
    • SOAP has three major characteristics:
      1. extensibility (security and WS-routing are among the extensions under development)
      2. neutrality (SOAP can operate over any transport protocol such as HTTP, SMTP, TCP, UDP, or JMS)
      3. independence (SOAP allows for any programming model)
    • It is stateful
      • a protocol that requires keeping the internal state on the server.
      • FTP is an example of stateful – communication conducting an interactive session with the user.  Information concerning authentication and variable values are stored on the server.
      • Cookie is another example – small piece of data sent from a website and stored on the users browser.  When a user loads the website, the cookie is sent to notify the server of the users previous activity.
  • Web Services Description Language (WSDL)
    • is an XML-based interface definition language that is used for describing the functionality offered by a web service.
    • provides a machine-readable description of how the service can be called, what parameters it expects, and what data structures it returns
    • Has a service and a port to use in accessing WS
  • Communication protocols –
    • XML
    • JSON – JavaScript Object Notation
  • UDDI – Universal Description Discovery and Integration
  • URI
  • Service Broker
  • SEI – Service Endpoint Interface: the class(es) that allow for accessing web services.  Tools take in the WSDL and generate the appropriate classes to access the Web Service.  The stub that gets generated is used to access the methods in the WS.
  • Mashup

3/14/16 – 9:24pm : general mumblings, definitions of things, and the beginning of a headache.

3/16/16 – 9:30pm : more information and better org.  Also asking the initial questions.

Sausage Risotto recipe

Posted on Instagram about the risotto and had a few people asked me how I made it.

Soon….. Sausage risotto:)

A photo posted by @mattcushing on

Here’s how I did it with the ingredients.  It’s easier to do if you measure everything out and get set up.

  • 1 white onion, chopped
  • 4-5 cloves of garlic (minced)
  • 3/4 cup white wine (one of the bottles in a 4 pack)
  • 3 cups arborio rice
  • 4 tbsp irish butter
  • 2 tbsp olive oil
  • 1-1.5 lb of mild italian sausage
  • 2 cups beef stock

Don’t start cooking the rice until  you’re done with the sausage.

Take a knife and cut open the sausage and strip off the skin and ditch it.  Pull apart into small balls and let cook on medium low heat.  Pull all of it apart into the pan and saute until the outside is brown and the sausage is firm.  Once it’s cooked through, drop in the the white wine, cover it and reduce the heat to simmer.  You want this to reduce, but you want some of it at the end to drop into the pot with the rice, lots of flavor.

Put the beef stock in a pot with four cups of water, bring it to a boil and lower the heat until it’s bubbling gently.  This is what you’ll be ladling into the risotto.

In a separate deep pot (I use a spaghetti pot), put in the oil and half the butter to melt and combine on medium heat.  Once it’s mixed and melted, drop in the onion and garlic and let the onion sweat.  Once the onion is translucent, drop in the rice and stir.  You need to coat the rice and mix in with the onion and garlic.  The rice will warm up, but you don’t want it to start browning, so  add two ladles of the liquid and start stirring.  At this point, set a timer for 25 minutes and stir and add liquid as the liquid in the pot reduces.  What’s happening is that the heat of the pot is slowly cooking the liquid into the rice.  As the liquid is absorbed, add more.  Not too much, you don’t want soup.  Go with a ladle at a time and allow it to be absorbed.

As it gets close to the end, flavor with salt and pepper to taste.  Don’t go overboard because the sausage/wine mix is going to drop in and flavor the hell out it 🙂

After about 25 minutes, the rice should be still a bit firm, but not crunchy.  When it’s al-dente, it’s time to combine it all.  Take the utensil that you’re stirring with and scrape any bits from the bottom of the pan so it gets into the mix and drop all of the liquid, sausage, and tasty bits into the pot with the rice.  Stir a bit, drop in the last of the butter and the cheese.  Fold in the cheese and mix in all of the sausage juice until you have a pot full of risotto.  Turn the heat off and let it sit for about 5-10 minutes and spoon it out.

Enjoy!  If you try it, let me know how it goes!

Imposing order on chaos

So what do you do when everything is a priority, and everything is an emergency?  In some cases, it’s all you can do to keep your head above water and throw water on everything and rush to the next thing.

Problem is, are you tracking what you’re doing?  Are you taking the time to learn from what you’ve just fixed, or are you having to tear across the office to put out another fire, or hopefully, keep one from happening?  I’ve been in many different situations, unfortunately, mostly at the extremes of chaos and order and not the healthy middle of the road.

I’ve found that keeping a running tally of incidents helps.  Some of the things I track regularly help after the dust settles to affect the long term change.

  • Column 1 – what happened?
  • Column 2 – where did it come from and what does it affect?
  • Column 3 – what did we do to fix it or create workaround?
  • Column 4 – what is the long term change/update/rework?

Columns 1-3 really help the next time it comes up, but in my experience, column 4 is the one that is most important, and unfortunately, the one most ignored.

So how do you slow things down to a more manageable speed?