PGH.NET’s Group Project

tl;dr: We’re going to write an SaaS application to be used as a fundraiser for the UG and for our members to gain experience.

What are we doing?

After a year of hands-on labs where we worked through Mirosoft’s lab manuals, we realized it was time for a change.  Josh Riggenbach, our HoL coordinator, and several members mentioned it would be more fun and better learning to work on a real application together.  We just had to think of something good, something that would have a lot of different pieces so we’d have a lot of chances to do something different.

Project Organization

Any PGH.NET member is free to join this effort.  We’ll break up into smaller teams which will operate with a high degree of autonomy about what technologies they implement.  Once challenge we’ll have is ensuring consistency across projects developed independently of one another.  We’ll attempt to overcome this by utilizing HoLs, SharePoint, Yammer, Lync and whatever else we have at our disposal.

The expectation is that we’ll approach all decisions professionally and with a solid basis of reason.  When necessary, employ the “two libraries enter, one library leaves” method with spike projects.  And when absolutely necessary, I reserve the right to assume the role of benevolent dictator.

What tools?

Amanda enrolled the group into BizSpark, and we’re trying to get the number of licenses expanded.  Hopefully we’ll be able to distribute Visual Studio and other licenses to members who need tools, and we’ll have Azure credits as well.  Source control will probably be GitHub, and we’ll probably use TFS as issue tracking.

As a Microsoft UG, we also have a great number of licenses for Office365, which will give us Lync, SharePoint and some Office licenses which we can use.

What’s the application?

One day, I had a brainstorm.  This is what I sent to Josh:

Here’s one idea I had, it’s a little goofy but very practical, and has a diversity of things to learn.  My wife and her siblings (four total) had a yard sale at our house this weekend, and it was kind of a pain keeping track of whose items were sold out of a big pile, and totaling up at the end.  So what if we build software to manage yard sales.  You could create an event–Dudley Family, Camelot Neighborhood, or St. Joshua Riggenbach White Elephant sale.  Anyone participating needs an account and gets invited by the organizer.  People enter their items, and print price tags with QR codes for each item.  Cashiers would have mobile apps to scan the QR codes, total the sale for the customer and update the seller’s total take.  We can add discounts, tithings, etc. as we go on.  The cool thing is, think of all we’d need.  Front end in angular.js, WebAPI back end, Identity 2.0, mobile apps, and so on…The HoLs would serve as sync-up and problem solving meetings.  This could be pretty cool.  What would be really awesome is if we could make this SaaS, and use the funds to support the UG, maybe have a great meal once in a while, a group party somewhere, or maybe a mini-conference of our own.  Similar software exists for consignment sales, but those are a different thing than a yard sale or white elephant.

What exists now?

There is one piece of commercial software, it’s PC based and kind of crappy.  Nothing does what we’re proposing to do–cloud based, barcode scanning, mobile clients.  We could do for yard sales what Expensify did for expense reports.  This should be useful for both a single family garage sale as well as a huge church bazaar.

Features, in no particular order

  • create a sale via mobile client or website
  • Add items via mobile client or website.  Item includes description, condition, owner
  • print labels with barcode, keycode and price – we should output a PDF for one of a couple Avery sizes, or maybe a CSV for mail merge (support note–people’s printers can suck, causing poor readability and non-scans)
  • To add clerks to a sale, have clerk scan a QR code and enter their name and email address.  If there is no account we create one automatically and send a random password.  This has to be simple so parents can quickly recruit kids whe a sale gets busy.
  • reports calculate total sales and split for each person
  • Use 3of9 barcode font because it’s cheap/free and wand scanners are easy to find, as are barcode libraries which can read this
  • sellers can maintain an inventory, which the can update through the year
  • sellers can allocate specific inventory to a specific sale (might be future phase)
  • allow clerks to override price after some haggling
  • dev, test and prod databases environments
  • dev, test and prod API hosting environments
  • dev, test and prod website hosting environments

Simple Data Model

This is just off-the-top-of-my-head entity model.  We’ll build this out as a group as we go along.

Organization?

Sale
    – name
    – description
    – address
    – date start
    – date end
    – image
    – contact info
    – payment options
    – registration times (when items can be added to the sale)
    – registration instructions
    – visibility

Member
    – name
    – contact info
    – earned percentage (varies per sale)
    – reputation?
    – type (organizer, clerk), coud change per sale

Items
    – name
    – description
    – images (multiple)
    – asking price
    – minimum price
    – sale price
    – status (on sale, on hold, broken, stolen)

Tags?
    – on sales
    – on items

Membership
    – What is the current MS membership?
    – Brock Allen’s Membership reboot instead?

Where’s the whiteboard photo?

20140826_230441253_iOS

Next Steps

We have the contact information for everyone who attended and will join the effort.  A GitHub organization has been created, and Josh and Sai will be adding members.

Paul and I will set up Office365 for everyone interested.  Each account is a slooooowwww process, so be patient here.  We’ll try and have a team directory shortly.

What could possibly stop us?

Just us.  We’re not blazing any new technical territory here, we can use the technologies we know or that we’re interested in.  All of us are busy professionals, most of us have families also, and this will be way down on the priority scale.  Keeping that in mind from the start, if we break down the work into small stories we can make great progress over a long timeframe.

Posted in Uncategorized

Mobile Development with Xamarin

This is certainly a hot topic right now, and it’s exciting to see that Xamarin is working so closely with Microsoft as we saw at Build 2014. This is definitely one of those topic that developers are curious about for the future. It promises the holy grail of Mobile development: write once, run anywhere. Find out if it truly delivers on Tuesday 5/12/14. Please register on our meetup site: http://www.meetup.com/pghdotnet/events/155715492/

Meeting Abstract:

So you want to write a mobile app but don’t want to learn a new language like Java or Objective-C? Come learn how you can use the .Net skills you already have to create applications on multiple platforms using a single code base using the development tools from Xamarin.

Speaker Bio:

Mike Brocchi is a software engineer that has been working in the Pittsburgh area off and on since 2003. He is passionate about learning  and playing with new technologies. When he’s not in front of his computer he’s spending time with his family or golf clubs.

Meeting Sponsor:

Local startup YourTalentAgents.com is sponsoring us this month. “We get it: You’re tired of calls and emails about jobs you don’t like from people you don’t know.  It’s annoying and a waste of time.  YourTalentAgents.com is changing this for good.”

Posted in Meeting Announcements Tagged with:

Announcing: JavaScript OOP

Our next meeting, coming up on Tuesday 3/11/2014 at the Microsoft Offices is about JavaScript. Specifically, about object oriented JavaScript. One of our very own, Jeremy Wells, will talk about the benefits of entering the JavaScript space with OOP principles in mind.

In his talk, he will be covering questions about scoping, being modular, and just general improvements around organizing that mess of JavaScript code that starts to pile up. This can all be achieved while not sacrificing the dynamic, functional nature of JavaScript.

We are definitely excited to see Jeremy’s take on these classic problems.

I also want to thank CEI for sponsoring our March meeting. I know they have some developer positions available that are directly relevant to our .NET user group. CEI will be in attendance if you have any further questions before or after the meeting. Here are a few notes about who they are and what they do.

cei

Exceptional People Delivering Custom Applications

Our Microsoft Solutions team leverages cutting-edge technology to deliver high value for our customers. We build applications and provide consulting all while grounded in the realities of a customer’s business. Our clients know the work we deliver is done with pride, passion, and workmanship.

CEI is a Microsoft Gold Certified Partner and Microsoft Managed Partner. 

We are the current Microsoft Rookie Partner of the Year!

http://www.techburgher.com/breaking-news/computer-enterprises-inc-cei-recognized-by-microsoft-with-the-2013-rookie-of-the-year-award/

 

We deliver full lifecycle application development projects. We use the agile practices and our team of experts. Our consultants are all certified in the latest technologies.
– Our strengths include: ASP.NET, Win8, Mobile, SharePoint, BizTalk,Visual Studio/TFS, SQL Server, and more.

 

Do you want to build great software for great clients while working with some of the best developer-architects around?

We are looking for .NET Developers, Mobile Developers, Web Developers who are ready to take their skills, projects, and career to the next level. Come learn from our team of Microsoft Certified Technical Specialists, Rangers, and MVPs.

The Microsoft Solutions Division is run by Microsoft Regional Director and .NET Author, Mike Snell.  http://visualstudiounleashed.com/mikesnell/

Here’s what we have to offer:

* Never a dull moment: You will work to mentor great clients, building software across multiple industries including finance, health care, manufacturing, software development, logistics, marketing, legal, and more.
* Get your hands on the latest tech: you will be trained on and working with the latest technologies including TFS 2013, Windows 8, .NET 4.5, ASP.NET MVC 5, mobile, HTML 5 / CSS3, jQuery, and more
* Collaborate with an awesome team: you will be working with a great team of seasoned experts including published authors, a Microsoft RD, Microsoft MVPs, Microsoft Rangers, and certified Technical Specialists. This team expects to both mentor new members and learn from them.
* Work offsite: we do not *place* consultants at one client then the next. For the most part, our solutions team members work together from CEI’s offices. We go onsite with clients as-needed. However, our teams stay co-located and cohesive within CEI.
* Advance your career: at CEI, you will not get stuck doing the same old thing. Our first priority is building great software; we get it. We have a career path charted from Developer to Sr. Architect.

To discuss a new career at CEI, contact Laura Oblich:   loblich@ceiamerica.com

 

Posted in Meeting Announcements Tagged with: ,

Seeking Sponsors for 2014

The Pittsburgh .NET User Group needs sponsors for 2014.  PGH.NET has been meeting continuously since 2001, and averages 40 attendees per regular meeting.  Our Meetup group currently has 379 members and counting.  Members are part of a wide range of enterprises, from Fortune 500 companies to independent consultancies.  Our major need is pizza at our meetings, plus some supplies (e.g., nametags) needed to run our meetings.

In addition to our regular meetings, we also now have hands-on labs, and are exploring other activities in 2014. With a long history, an active membership and over two dozen events each year, PGH.NET offers sponsors a lot of exposure.  Please take a few minutes to review our sponsorship levels, and contact one of the organizers to bring your message to our members via the gift of pizza!

Posted in Uncategorized

Meeting Recap for Bootstrap

Thanks again to Doug Launders for making the trip to Pittsburgh to present to a great turnout in our November meeting. I also want to thank TEKsystems for sponsoring our meeting. I saw many of you talking to the representatives we had with us at the meeting.

Doug has hosted the 10 reasons you should love Bootstrap on his website.

http://launders.com/_ciberux/boots/

You can download bootstrap at http://getbootstrap.com

We discussed things like:

  • Glyphs
  • Browser workarounds
  • respond.js and mobile first responsive design
  • Understanding the grid system
  • How to do navigation
  • Understanding the markup of pagination
  • Touching on list groups and modals
  • Verbose but sensible markup

Remember, the Omnyx hands on lab just around the corner on building Windows 8 games with JavaScript. The date of the lab is November 26th. Be sure to register on meetup so we can get an idea of how many will be attending. See you there!

Posted in Meeting Recaps Tagged with:

Meeting announcement: Bootstrap

Specifically, 10 reasons you should love bootstrap!

We’ve covered bootstrap a few times in the past at our meetups, and it’s always a topic that people are get into. If you’re not crazy about doing that pixel perfect design on your own, you should visit us on November 11th at the Microsoft offices to talk about bootstrap. This month’s meeting is provided by TEKSystems.

TEKsystems

TEKSystems offers IT staffing solutions as well as offering their own IT services to their clients. Located right here in Pittsburgh, we’re thrilled to get them more involved in our growing .NET developer community.

Here are the meeting notes:

Bootstrap is a framework that enables developers to quickly create web interfaces that are clean and responsive. The framework includes a grid for generating architecturally balanced layouts as well as solid styling out of the box. At its core, Bootstrap is HTML5, CSS3 and JavaScript so it is modern, flexible and tablet-friendly. It includes pre-built customizable widgets for buttons, navigation, modals and image galleries, among many others. We’ll cover the fundamentals of Bootstrap as well as techniques for effectively implementing Bootstrap in an MVC project. Show up for this session and let me show you the top ten reasons why Bootstrap rocks!

Douglas Launders,

Senior Practice Manager for User Experience

Doug currently leads the User Experience (UX) practice for Ciber North America (www.ciber.com), overseeing of a diverse group of user researchers, information architects, visual designers and interface developers. Doug has been with Ciber since 2004 and has about two decades of experience applying user-centered design principles, usability factors and best practices for interface design. Over the course of his career, he has been a technology trainer, courseware director, application developer and senior user experience architect. His team members are currently working on solutions for a client list that includes Disney, T-Mobile and Ford Motor Company.

You can still register up until noon on November 10th on our meetup page.

Posted in Meeting Announcements Tagged with:

November Apps-Giving Sweepstakes

There is a new APPortunity sweepstakes for November, 2013.  Once again you can win bog money for submitting a Windows 8.x or Windows Phone 8 app to the store.

To enter, visit http://www.mstechaffiliate.com/members/richdudley and sign up for the sweepstakes.  You can earn points for all kinds of activities, which you can then redeem for cool stuff like XBox games.  When you have an app ready, submit it to the store and enter it into the sweepstakes.  Winner for cash prizes will be drawn on Dec 1.  Good luck!

11-4-2013 10-48-23 PM

 

Posted in General Announcements

Conference: IT Con, Washington, PA 10/26/2013

On behalf of the members and chapters of Region 18 of the Association of Information Technology Professionals (AITP), I would like to make you aware of a conference that we will be hosting on October 26th at the Double Tree Hotel on Racetrack Road in Washington, PA.

This conference, called IT Con, is a half-day event (8am – 1:30pm) that features the following sessions:

  1. Windows Server 2012 R2 presented by Yung Chou, Senior Technical Evangelist @ Microsoft
  2. Windows 8.1 presented by Yung Chou, Senior Technical Evangelist @ Microsoft
  3. The Importance of IT Certifications presented by Denis Rudd II, Regional Director of Training and Development @ New Horizons

The cost for this conference is only $20, and includes a full breakfast.  The conference website can be found at http://www.aitp-region18.org/itcon/.

Posted in Uncategorized

Regex Meeting Recap

Thanks to Brian Friesen for showing that he has definitely earned the title of “the regex guy”. It was great to see regex explained step by step in his own regex engine. It was helpful in understanding how the processing works and even reveal some performance issues with regex expressions.

Brian covered a ton of topics like:

Matches. Character classes. Negating character classes. Shorthand like \d \s \w. Dot matches all the things. Pipes. Quantifiers. Greedy vs lazy. Grouping. Capturing parentheses. Named groupings. Anchors. Word boundary. Lookarounds.

I’m sure I missed a few too. Brian used LinqPad for the presentation so don’t have slides for you but I do have a lot of supporting applications that you can take a look at.

The custom regex engine that allowed him to step through the regex processing: https://github.com/quickenloans/regexpose

The HTTP API you can use to get some of the same information about your regex processing: http://regexpose.azurewebsites.net/swagger-ui/ Brian suggested that anyone could take this API and create an interesting application with it.

The strange and comical tangent we went on at the end: https://www.destroyallsoftware.com/talks/wat

 

 

Posted in Meeting Recaps Tagged with:

Regex Meetup Still Open

On 10/8/2013 we will have Brian Friesen in the Microsoft offices talking to us about regular expressions, or more commonly known as “regex”. After our meeting we’ll also try to get a post meeting together at Mullen’s across the street. You can register on meetup. We’ll be closing the registration on 10/8/2013 at 12:00 PM.

Session Description:

Be afraid. Be very afraid. For you are about to enter the mysterious and foreboding land of regular expressions. A land of strange-looking hieroglyphics. A land of many flavors and implementations. A land whose inhabitants possess seemingly magical powers over text. But fear no more, for you needn’t make the journey alone: a guide and a map await you.

In this session, we’ll take a whirlwind tour of the features found in most regular expression implementations. Then we’ll dive deep. We’ll take a peek inside a regular expression engine. From character literals to character classes, from back-references to look-around, you’ll see every step a regular expression engine takes when it parses text. By the end of the session, you’ll be able to think like a regular expression engine.

About Brian:

Brian Friesen has been pretending to be a developer for the last 6 years and lives in constant fear of being found out. As an occasional public speaker, he prefers to talk about things that are slightly out in left field. This explains why some people know him as “the regex guy” or “the monad guy”. Seriously, who wants to have those labels? Anyway, when he’s not writing code, he’s probably thinking about it, or, if he’s sleeping, dreaming about it. In the rare case that no part of his mind is occupied by something vaguely code-related, he is probably playing with his kids or spending quality time with his wife near Detroit, where he has lived since 2012, when he took a job with the best company he has ever worked for, Quicken Loans. He is also a raging smart-alec.

Posted in Meeting Announcements Tagged with: