So, I’m Building A Web App (Part One)

About three weeks ago, I started an ASP.NET MVC project.  What I’m attempting to do is build a web app that helps leaders of very small organizations (like a church small group or a scout troop) keep track of their members and projects.  For someone with a grand total of 4 weeks experience in C# and no real experience with model-view-controller architecture (I don’t think RailsBridge really counts), it was… not unambitious, I suppose.

Step one: get CRUD functionality for people and groups, and then functionality to add and remove people from groups.

At least, that was what step one was supposed to be.  I’m using Entity Framework (code-first) and the magic that was supposed to happen to set up my database + tables (pretty simple–Groups, People, join table for the many-to-many relationship between Groups and People) was just… not happening.  The entire first week and a half of my project time was dedicated to uninstalling and reinstalling SQL Server Express and trying to figure out a) why I could create databases in SQL Server Management Studio but did not have permissions to read/write to/from them anywhere else and b) why EF was refusing to cooperate with anything even vaguely related to data management.  Finally, I took my laptop to a friend who is an (ex) SQL DBA and, after futzing with it for over an hour, he finally hit upon that I was missing the SQLClient installer that allows SQL Server Express and everything else ever to talk to one another.  For some reason, it hadn’t downloaded and installed… still no clue what happened there, but hooray!  I finally had a working database and could do things!

Setting up CRUD actions with Entity Framework is stupid easy, so getting part one of step one ready to go went by fairly quickly.  I could create, read, update and delete (just in case you missed the acronym) people and groups, but now I had to somehow convince my app to put people into groups and take them out again.  Actually, to break down step one even further, I just had to get the people into groups.

Working with the MVC pattern when you only have a shaky grasp of what it actually is can be a little daunting (okay, a lot daunting).  I knew that I had a Person object, and a Group object, and the Person object had an ICollection<Group> called “Memberships” and the Group object had an ICollection<Person> called “Members”.  Now how did I get them to play nice?  I got it working (admittedly with some help from the prior-mentioned friend) so that the primary key (PersonId) of the Person into the view and inserted a text box so that the user could put in the primary key for the Group (GroupId) in.  This then passed back to the controller, which looked up the Person in the database and added them to the Group’s member list.  So, it worked, but it wasn’t nice.  No real user would remember the IDs of all their groups and use a text box, so I decided to do it with a dropdown menu.  Dropdown menus are easy, right?  Select a group, press a button, and off you go!

Not so much.  More on the dropdown fiasco  to come in Part Two…

Girls in STEM (Sursum Corda)

I graduated from Saint Joseph Academy–a Catholic, all-girls high school–eleven years ago.  I’ve also never understood the popular inclination to hate on your high school.  Now, it’s not that I peaked at seventeen and long to return to St. Joe’s and attend classes–my affection for the school isn’t that based in nostalgia–but I honestly love SJA and I’ll readily tell anyone that it’s an excellent place and that they should have no hesitations about sending their daughters there.

Until today.

Today, my love of Joe’s is based in nostalgia, and I totally want to be fourteen again and go back to high school.  Why?

Let’s start with some backstory:  I was a really nerdy kid.  I was into computers and books and sci-fi and a lot of really, really nerdy stuff.  Part of the reason I ended up at St. Joe’s was because I was the perfect bully target at public school.  I had wanted to go into some sort of computer  career when I was a kid and my life journey took me farther and farther away from that as an adult, until I decided that was nonsense, pulled a 180 and enrolled in coding bootcamp.

Keep that in mind as I tell you about how this is reunion weekend, and every fall during reunion weekend, SJA has an Open House.  I’ve been meaning to go and see the improvements they’ve made to the campus (including a new dining hall and outdoor spaces), plus the alumnae window cling in my car went missing awhile back, so I figured I’d go to the Open House, poke around, and buy a new window cling.

I took a friend with me and we went up to the third floor to look at my mother’s old Spanish classroom, which is now an engineering classroom.  Okay, fine.  The surprise was a few feet down the hall, where a classroom door had been propped open so that that a strangely alluring humming noise and the scent of melted plastic could drift out.

We had inadvertently found the “maker room”, where four out of the school’s six 3D printers were busy making what looked like Christmas ornaments.  Further along the wall, a laser printer was busy etching a chess board into a piece of wood.  A few students were drafting out designs for the 3D printers while my old chemistry teacher was showing off the school’s drone.


Mr. Weiss, if you’re reading this… I’m sorry I didn’t get a chance to talk to you about the drone today, but please know that if we’d had a drone in 2003, I really, really would’ve paid more attention in class.

I’m totally jealous of all this stuff.  We let one of the students show us the equipment and explain how it worked, and I was insanely jealous of a fifteen-year-old taking Intro to Pre-Engineering, because back in my day the closest you could’ve gotten to that was, I don’t know, maybe calculus?  I’m not sure I have the capacity for calculus as an adult–as an easily-distracted seventeen-year-old girl with dyscalculia and a serious literary crush on Discworld‘s Ponder Stibbons, I never could’ve hacked it, even if my crush was because Ponder is the Disc’s ~science wizard~.  If there had been 3D printers and Lego robots and a freakin’ drone, I would have been all over my math textbooks in high school.  I would have overcome my learning disorder immediately, beaten down the educational psychologist’s door, anything to get my hands on that stuff.  These girls get to take an honors class in computer programming, which I would have been all about had it been an option.

I got to putz around with JavaScript until the wee hours of the morning without any direction when I was sixteen.  I learned it out of a book I checked out from the local library and when I pulled into the parking lot each morning, it was time for other things because no one had even heard of JavaScript at school.  I was also pretty good at drawing and playing the cello and interpreting poems in English class, though, and shuffled into a file labeled “going to be a success case in the humanities” pretty early on.  For a long time, I was kind of ambivalent about STEM education because most of my nerdy friends went on to be software developers and data analysts, while I racked up a ton of debt writing very long papers about Nazi propaganda and postmodern elements in Blade Runner*.  Animosity and dismissiveness towards STEM activities kind of became a coping mechanism for me because I wasn’t getting to do the cool stuff I had originally wanted to do, either because I “wasn’t good at it” (which I now know to be absolute rubbish) or because I was “just so good at other things” (also rubbish, because it’s not like interpreting poetry is not compatible with science).  That said…

…good on SJA! I may be insanely jealous that this stuff wasn’t around when I was a student, but let’s be honest, half this stuff just didn’t exist in 2003, let alone exist in consume products that schools could easily purchase.  We’re living in the future, and the future is totally rad.  I’m super proud of my high school for encouraging girls to pursue STEM and giving them the tools they need to learn and prepare themselves for college and future careers.  I should also point out that SJA has expanded its curriculum for the visual and performing arts from the time I graduated and not only boasts a really impressive class list in the humanities, but also a specialty program track for students interested in going into healthcare careers.

Basically, my high school is really cool, and I think it’s totally amazing that girls are getting STEM education at St Joe’s.  Also, all the alumni gear in the bookstore was 25% off, so I got a good deal on this really sweet hoodie to go with my window cling:

wearing my totally rad SJA hoodie

Sursum Corda! 🙂




*If you want to read the Blade Runner paper, it’s on this site.  Just click on “writing” in the top menu.