Post-graduation musings

Tossing Caps

Lynbrook Class of 2012 Commencement. Image credits to Austin Yu

I’m officially done with high school—went through commencement this morning, and checked out last week. I look back to the past four years and see that this most recent parting is, in truth, bittersweet.

It’s been a blast. I discovered new interests in high school, adding to my core of science, math and engineering a love of debate, literature, and music. I explored some new places, met some new people, and learned some new things. But high school’s not just academic, and my time at Lynbrook hasn’t been either.

I’ve experienced happiness and depression, tears and joy. I’ve built long-lasting friendships, and drifted apart from some of the people I was once close to.

I’ve achieved success, in academics, Scouting, debate, robotics and more. In retrospect, it’s hard to believe that I survived all of these pressures to make it through to today.

I’ve been through failure and disappointment, from faltering friendships to academic hardship to the death of those close to me. I’m not sure what kept me going, but I’m glad that it worked.

In a few very short months, I’ll be walking onto the campus of Columbia University, part of the incoming Class of 2016. It’s a new identity, one so distinctly different than the Lynbrook Class of 2012. I won’t be able to joke about how we graduated before the end of the world with them, nor assume that they know of and understand those special moments that we experienced as a class:

  • that winning homecoming performance in both 2010 (as sophomores!) and in 2012 (the Seniors Strike Back)
  • the first football win that Lynbrook’s seen in eighteen years
  • a Junior Prom not held in the gym
  • an epic Senior Ball, complete with blurry pictures and a universal class hatred towards Genesis Photography
  • crazy nights, staying up and studying for our ever-increasing loads of AP classes and procrastinating together on the senior research paper
  • graduating on the brand-new football stadium (not like we really care about football, but hey)
  • Getting recognized as an Intel School of Distinction
  • and so much more that I can’t even list them all out

Most of all, I’ll be leaving Lynbrook behind, and with it all of the friends I’ve made, the clubs I’ve invested so much time and effort in, the teachers that helped shape the foundations of my thought processes and knowledge. I’ll miss those frantic nights in the hotel room, building the last pieces of the robot in preparation for competition the following morning. I’ll miss my parli novices, who I watched develop their skills and unlock a hidden talent for speech and debate. I’ll miss the somewhat sketchy Science Olympiad prebuild sessions, and the experience of the Synopsys Science Fair.

I have some regrets—things that I wanted to do but was never able to. I never managed to really overcome those social barriers that kept me from making more friends. I’d hoped that high school would be a fresh start from middle school, whereupon I could break out of my shell and learn to be someone new. And, to some extent, that’s true—though not nearly as much as I’d once expected. It was hard for me to make new friends—still is, really—and so I found myself with only a few close friends and a number of acquaintances that I could wave hello to every once in a while. I learned, through high school, that life isn’t easy; that social relationships aren’t simple favors to be bought and sold. And in doing so, I’ve learned to treasure what I already have.

We’ve watched Lynbrook change, present as we were through the long process of finding an administration who truly understands and emphasizes with the school. We’ve been screwed by admin once or twice, and At some points, we might have had to work against the school to get what we wanted—but at long last, Lynbrook’s become the place which we never really want to leave. For all that we valued our grades, we always helped one another and applauded others’ success as our own. Competition, though sometimes cutthroat, never came in front of those relationships that formed the fundamental core of our Lynbrook experience.

In truth, I’ll miss everything—both the good and the bad. You see, Lynbrook’s a part of me now. It’s been part of me for the past four years, shaping my life and driving me forward into the future. We’re a bit of a weird school—but we bear that weirdness with pride. Sure, we might not have as many AP classes as we might have wanted. Maybe we couldn’t play that final Senior Prank, and the administration’s a bit stricter than most. We’re going to different places, across the country and across the world. We’ll make new friends, and possibly enemies; develop new interests and settle into collegiate life.

But we’ll never forget each other. A part of us will always be a reflection of the Viking spirit, guiding our thoughts and providing a sense of stability and direction into the future.

And so I end my musings. It is the end of our final chapter of our childhood, and the beginning of our lives as adults. Carpe diem, Class of 2012. I’ll see you around.

Read More Leave a Comment

June 8, 2012

Categories:

Personal

Hacking SCM Creator and Redmine Git Hosting to Cooperate with one another

Edit June 6, 2012: SCM Creator has been updated to not conflict with Redmine Git Hosting.

Introduction

Oftentimes it’s beneficial to use more than one type of version control system within a given organization—SVN and Git being the two most popular. For the purposes of Redmine, the Redmine Git Hosting plugin is significantly more useful for handling git repositories, as it can manage public keys and is able to serve git files via the Smart HTTP Protocol. However, for the other repository types, it is generally easier to use the SCM Creator plugin, which allows the project manager to control repository creation and deletion.

Previously, these plugins were incompatible, both overriding the same method. Moreover, SCM Creator has compatibility issues with Redmine 1.4.0+. Thanks to the work of its creator, Andriy Lesyuk, however, both of these issues have been resolved!

Assumptions

  1. SCM Creator is installed in /usr/share/redmine/vendor/plugins/scm_creator, as per my guide here
  2. Redmine Git Hosting is installed in /usr/share/redmine/vendor/plugins/redmine_git_hosting, as per my guide here
  3. You want to use SCM Creator for everything that is not Git, and Redmine Git Hosting to handle all of the Git requests on its own

Configuring SCM Creator to work with Redmine Git Hosting

The configuration change here is fairly simple:

Edit the scm.yml file and add the following lines to it:

only_creator: false
allow_add_local: true

so that the final file looks like this:

$ cat /usr/share/redmine/config/scm.yml
production:
  auto_create: false
  deny_delete: false
  pre_create: /usr/local/bin/pre-create.sh
  post_create: /usr/local/bin/post-create.sh
  pre_delete: /usr/local/bin/pre-delete.sh
  post_delete: /usr/local/bin/post-delete.sh
  svn:
    path: /var/svn
    svnadmin: /usr/bin/svnadmin
    url: svn
  only_creator: false
  allow_add_local: true

and restart Apache. Everything should work properly after that!

View old version here: Expand

Introduction

If you’ve been following along my other tutorials, you’ve probably noticed that the SCM Creator and Redmine Git Hosting plugins really just don’t want to cooperate one another. The conflict here is that they both override the same method (RepositoriesController#edit), so that while they appear to work on the surface (the correct menu shows up for each), the Git repository creation results in a 500 error message in AJAX, and the repository is not created. It turns out that, due to the internal implementations of these plugins, fixing this problem isn’t terribly hard, although it does involve editing two lines in the plugin files directly.

Read More Leave a Comment

May 5, 2012

Categories:

software

Tags:

, , , , , , ,

SVN Repository Management with Redmine on Ubuntu 12.04

Introduction

Managing repository management is always a hassle for network administrators, as it usually involves going into into the shell to create the repository itself.

Redmine solves this problem using reposman.rb, which can be run regularly by a cronjob and thus automate repository creation. But this is still inconvenient—you still need to wait for the repository to be created, and you can only manage one type of SCM at once. Thus, we are going to install and configure the Redmine SCM Creator plugin to manage repository creation for us.

This tutorial is oriented primarily towards setting up SVN repository creation, as git repository management is better done by the Redmine Git Hosting plugin (Setup Guide). For instructions on how to set up Redmine, visit this tutorial before continuing on.

Read More Leave a Comment

May 3, 2012

Categories:

software

Tags:

, , , , , , ,

Redmine Git Hosting Setup on Ubuntu 12.04 LTS

Introduction

Redmine Git Hosting is a plugin for Redmine authored by Eric Bishop, further extended by John Kubiatowicz, which integrates the Git SCM system into Redmine’s project management system. At the end of this guide, you will have a server which can, from the Redmine GUI,

  • Create git repositories for projects
  • Serve git repositories via SSH, GIT, and HTTP(S)
  • Add users to git repositories

This guide is a continuation of the one here, which shows how to install and configure Redmine in Ubuntu with Virtualmin.

Read More Leave a Comment

May 1, 2012

Categories:

software

Tags:

, , , , , ,

Installing Redmine in Ubuntu 12.04 with Virtualmin

Introduction

Installing Redmine is relatively simple on Ubuntu / Debian servers as compared to any other operating system, due to its inclusion into the APT repositories. As before, all terminal commands below are assumed to be executed from the root user via SSH.

Read More Leave a Comment

April 27, 2012

Categories:

software

Tags:

, , , , ,