Should we store generated files?

Unfortunately, the answer isn’t as simple as yes or no.

I suggest asking yourselves a few questions to help you determine whether it makes sense to store the generated files/resources.

Does storing these files/resources hurt you or your team in any way?

Are you running low on storage space because of these files?  Often the sheer number of these resources can become unmanageable, especially when you start looking at the space they are consuming in source control.

Does it take extra effort to actually store these resources?  If your team needs to go through extra steps to ensure that these items are being stored, they may be a candidate for dropping.

Does the existence of these files confuse people?  When I first started working with React.js, we stored both the source and the generated files.  I didn’t know what the difference was, or where I should be making changes.

Does it take longer to store or retrieve files because of the number/size of these extra files?  This may be hard to discern.  One way to get a feel for this is to simply look at the amount of storage dedicated to these temporary/generated files compared to the rest of the files.  If it seems a large portion is generated files, perhaps you could try removing them from the storage (maybe in a test location).

Are they easily reproduced?

Do you have an automated way to regenerate these files for individual developers? Ideally, the answer is yes (or at least nearly automated).  This could include a step in the build process (that you execute locally when you make changes, or is kicked off auto-magically), or a process that is waiting in the background for someone to make

Does reproducing them happen quickly? If the answer is no, then it might make sense to store these files.  If the files need to be regenerated often, though, even though the process takes time, it might make sense to not store them, as the stored files will be of little to no value.  If this is the case, then I would invest some time in ways to speed up the generation process, or remove the need for the files all together.

Can an individual reproduce them on his/her machine?  Sometimes files need to be generated on a machine with a certain setup (OS, applications, etc) and there are only a few of those places available.  If this is the case, then it might make sense to store the files, especially if they don’t need to be reproduced often.

Do the files need to be reproduced often?

If you need to reproduce the files often, because you are changing inputs, or changing environments, then you probably don’t want to store them.  Storing them is buying you very little in this case, since you will likely reproduce them and overwrite what was previously there.

 

Advertisements

School + technology = awesome

My son recently moved to a new school in the district.  I was really impressed with some of their use of technology (and less than impressed with other technology they use).  I wanted to share the things I thought were pretty awesome.

Twitter

The 7th grade goes on a week long trip to a YMCA camp at the beginning of the year.  It is an overnight camp and many of the kids have never been away from family for that long.  My son was worried about it, and I was worried about how he would do.

The school did not allow the kids to take any technology with them.  That meant no phones, so there was no way for him to call and talk to us (this is because often kids get more homesick when they talk to parents).

The principal knew that this was hard on the kids and the parents, and used twitter to help keep the parent’s connected.  She tweeted out pictures of the kids almost every hour.  It was great to follow the feed and get pictures of my son having a great time.

Remind

In past years, the kids were encouraged to keep a planner and record what homework they had in the planner.  This never worked well for my son as he would either forget to write it down, wouldn’t have enough time to write it down or would forget to look in his planner to find out what he needed to do.

This year the teachers set up groups for the parent’s and students to subscribe to on Remind.  The service can send texts and it also has it’s own app where you can see the messages from the teachers.  It has been awesome so far.  I know what homework he has and can ask him specifically whether he has x done or not.  He also has an easy place to look to see when homework is due, and what is due.

Embrace Technology

I hope to see more awesome services/apps and use of existing services in the future in the schools.  If you have an app/service that you think the schools could utilize, talk to your school…maybe they will just adopt it.

Quick Tip (Free stuff)- May, 7, 2015

As promised, I am continuing to supply quick tips.

At my previous job, we utilized AWS heavily, and I had the opportunity to play with some of the features it offered.  It was great to have the ability to spin up an instance of just about any operating system whenever I needed it.

I am not longer at that company, and I needed the same ability.  It turns out that Amazon offers 1 year of free access to many of their AMI’s (machine images) and other services.  The free access is limited to tiny instances, but I have found it really useful to be able to spin up something for a small task and then just trash it when I am done.

I am currently using this resource to help me do some coursework (on Coursera.com, learning about programming for Android).