Here is something my 10-year-old showed me that I used at work today. Since I do not do this often, it's mostly a note to self (in case I forget). If you need to play with a web page layout in a browser (I, for example, needed to add some new lines to a few messages on the page to see what makes them easier to read). It is very simple (the instructions assume you are using Google Chrome, but I suspect you can do the same in other browsers).
Right click anywehere on the web page and select the Inspect option from the context menu.
In the Developer Tools' window, switch to the Console tab.
At the prompt, type in document.body.contentEditable=true and press Enter.
Make your changes on the page (you can cadd, change and delete text, and do other things).
When done with your changes, at the prompt, type in document.body.contentEditable=false and press Enter
This should fix the problem without re-encoding the video. If it does not, try setting the rotate switch to a different number, such as 90, 180, or 270. For additional information about video orientation MP4 and other video files, check the See also section.
Summary: Easy way to fix slow startup issues for older versions of Adobe products (on Windows).
If you have an older version of Adobe video and photo editing products, such as Photoshop Elements or Premiere Elements, you may be irritated with the long startup time, which could take several minutes. Apparently, the applications try to connect to a server that is no longer in service (btw, excellent job, Adobe!), so they wait... and wait... and wait... The good thing is that there seems to be an easy fix for this.
According to the answer to this post, you just need to add the following entry to your hosts file located in the %WINDIR%\System32\Drivers\Etc folder:
127.0.0.1 static.photoshop.com
This solved the problem form my Photoshop Elements 9 and Premiere Elements 13 instances running on Windows 7 (yeah, I know, need to upgrade to Windows 10, but that's a different story).
Summary: Some ideas on cleaning up intermediate and output folders in Visual Studio projects.
There may be better (and more elegant) ways of cleaning up the output (BIN) and intermediate (OBJ) folders generated by Visual Studio build process, but the following script is probably the easiest option you can use:
@echo off
rem Delete BIN and OBJ folders from the immediate folder and all subfolders.
rem
rem Switch to the script folder.
cd "%~dp0"
rem Use the following to suppress the 'File Not Found' message if no folders are found.
setlocal enabledelayedexpansion
for /f "tokens=*" %%G in ('dir /B /AD /S bin 2^>nul') do rmdir /S /Q "%%G"
for /f "tokens=*" %%G in ('dir /B /AD /S obj 2^>nul') do rmdir /S /Q "%%G"
Notice that the script call setlocal enabledelayedexpansion to allow the 2^>nul redirection in the for loops (without it, it would output the "File Not Found" message if the folder and subfolders do not hold the "BIN" or "OBJ" folders. Also, make sure, you place the file in the root of the solution folder.
Summary: A walk-through explaining how to create and share a public school calendar.
I have three kids enrolled in two schools that operate under different calendars. To keep track of their schedules, I set up the school calendars on my phone (and PC), so that I get event notifications and reminders. It works well, but comes at a cost: in the beginning of each school year I spend 1-2 hours manually entering the information about the school events (minimum days, holidays, days off, back to school nights, etc.) into my personal calendar. And so do other parents at my kids' schools, as well as millions of parents nationwide. Sooner or later the schools will learn how to make the process more efficient, but in the meantime, you -- a school administrator, a teacher, or a volunteer -- can help us. It won't be hard.
In this article, I'll explain how to make it easy for parents to see a school calendar on a mobile device (iPhone, Android device, Windows phone or tablet) and keep this calendar up-to-date. You will no longer need to print calendars on paper (yay, trees!) or have parents enter them manually. A public calendar allows you to add new events, update existing events, delete cancelled events, set reminders, provide helpful event details (such as instructions or locations of off-site events) and subscribers will see them instantly. It lets you share the same calendar online (at your school's website). And it does not limit you to a school schedule. You can follow the same approach to set up a calendar for any organization or activity, such as a sports team or a volunteering project.
Before we get down to the nitty-gritty, let me first clarify the requirements and limitations.
REQUIREMENTS: A user must have a Google account.
While you may keep a personal calendar locked to your your mobile phone or computer, inside of iCloud, or in Outlook, for a public calendar you better use Google Calendar. It supports all major platforms (iPhone, Android, Windows), has wide adoption, and offers most features.
If you (a school calendar administrator or creator) do not have a Google account, you can easily create one (it's free). A Google account gives you access to the Calendar features including ability to create public calendars. You may prefer to create a special Google account that would "own" the school calendar, so you can transfer it to someone else in case you no longer want to manage it (Google makes it really easy to switch between multiple accounts).
To get real time updates, Google calendar subscribers (parents) will also need Google accounts. As a subscriber, you do not need to actively use a personal Google calendar (if you prefer something else), but you will need it to sync the school calendar with your mobile device.
WARNING: If you have a fundamental objection to using Google, there may be a similar approach to sharing a school calendar using a different provider (say, Apple, Yahoo!, or Microsoft), but it'd be more complex (if possible at all), so let's assume that at this point both calendar administrators and subscribers have Google accounts.
Calendar creation process
To set up a school calendar, follow these steps:
Create a public calendar
First, you create a public Google calendar for your school online. Here is a short video explaining how to do this (if you prefer a written tutorial, read Create & manage a public Google calendar):
Although you can change it later, try to give the calendar a meaningful name (or title). Keep in mind that a long name may not show completely on mobile devices, so place the most significant parts of the name in the beginning. Here are some examples of calendar names that I used, so you may want to follow a similar format:
If you want to allow other administrators to maintain the calendar (create and make changes to the events), set appropriate sharing permissions (read the Control what others can see help section).
Add events to the calendar
To make sure you add an event to the wright calendar, when you work with your school calendar, temporarily turn off all other calendars. Here are some tips.
When naming events, follow the same naming convention. To make it easier for subscribers identify which calendar an event belongs to, include a short name of the school in the name of event. Here are some examples of event names that I used for a California Montessori Project's school calendar (you can browse the calendar to see more examples and details):
Minimum Day (CMP)
School Break (CMP)
School Holiday (CMP)
School Closed (CMP)
Last Day of School/Minimum Day (CMP)
As you may have noticed, I prefer to keep titles short and simple, but I also use the description field for additional information.
Include details that parents may find useful in the event description. You can use description for special instructions or any type of information you would normally provide in a letter or email invitation.
For off-site events, specify the address in the location field. The address will help parents find location on map and use navigation apps.
For some events, such as minimum days, it may make sense to set up reminders. Keep in mind that that parents may need time to travel, so give them enough time (I'd say, for a full-day event, a 12-hour advanced reminder would be fine, while for all other events, an hour would be enough). Use pop-ups for reminders.
For repeating or multi-day events (such as regular after school activities or school breaks), set up occurrence rules (do not duplicate events).
Instead of creating each event from scratch, use the Duplicate Event feature, which allows you to copy an existing event, and then update all relevant information. For example, when defining school holidays, set up an even for the Labor Day (I think it's the first holiday in a typical school year), make sure you use proper naming convention and define event details. Then duplicate it to make an entry for Veteran's Day (don't forget to adjust event information), and continue doing the same for other school holidays.
Advertise the calendar
Once you get the calendar up and running, you send its address (the URL of the calendar's ICS file) to the parents. At the time of writing, you could locate the calendar address by following this steps:
Make sure that the address ends with the .ics extension. This is the address of the calendar that you will need to share with parents.
Maintain the calendar
You can use the same calendar year over year and make changes to it at any time. All changes to the calendar will be automatically delivered to the subscribers. As a bonus, you can also add a Google calendar to your website.
Calendar subscription process
To see calendar events on your mobile device, such as phone or tablet, do the following:
Subscribe to calendar
Parents subscribe to the calendar using the provided address of the iCAL (.ics) file. The steps are outlined in the Add someone else's Google calendar article (see the Add using a link section). Alternatively, you can subscribe to a calendar by clicking the Add to Google Calendar shortcut displayed at the bottom right corner of the calendar's HTML page.
Sync calendar with phone
If you do not see the school calendar events reflected on your phone (or other mobile device's) calendar, you may need to make a couple of adjustments. First, follow the instructions outlined in the Sync Calendar with a phone or tablet article. Depending on the device configuration, it may not be enough, so follow your device maker's recommendations. For example, here are instructions for Windows and iPhone users. For an Android device, you many need to clear calendar data and resync the calendar (if you are not sure how to do this, search for: <your device name> +clear +calendar +data and <your device name> +sync +calendar).
* You can add this school calendar by clicking the iCAL / YEARLY link at the top of the calendar page. ** You can add this school calendar to your Google calendars by clicking the link at the bottom right corner of the calendar page.
Easy? I think so.
I'm almost done, but before we part, one final though. In fact, this is the first question you need to address:
How many calendars do you want to keep?
Do you want to maintain a single district calendar or multiple calendars? Do you need a separate calendars for primary, middle, and high schools? Do you want the calendar to include the information relevant to teachers and staff (such as training)? Depending on the size of your district, differences in school schedules, and other factors, you may choose one approach over another. As a parent, I'd like a single school calendar with information relevant to students only and a class calendar reflecting class-specific events, such as field trips, project deadlines, and due dates. I do not care when and where teachers and staff attend training, but I do care when the school is closed, but others may have other preferences.
I hope this information was helpful. If you have questions or want to leave feedback, please leave a comment.
Summary: So you got an APE file. Now, how do you convert it to MP3s?
I recently downloaded (legally!) a .APE file holding a collection of old Russian/Soviet songs. First thing that came to my mind was: What in the world is APE file and how do I play it? Second: How do I convert the .APE file to a more acceptable MP3 format?
What is APE audio?
APE is audio encoding used by Monkey's Audio. Unlike MP3 and other popular audio formats, Monkey's Audio encoding reduces the size of uncompressed audio without losing sound quality. Which is a good thing. Unfortunately, decoding APE-encoded audio requires more processor power, so few music players (either software- or hardware-based) can play .APE files.
What is a .CUE file?
If a .APE file contains several audio tracks (e.g. a full CD album), it may be accompanied with a .CUE file. The .CUE file is often referred to as a cue file or cue sheet. It contains the information describing individual tracks in the album file (which can be in APE or other format), such as track ID, start time, end time, etc. The cue file allows audio players to see multiple tracks in a single audio file. It also lets audio converters split a single audio file into multiple tracks automatically. Without the cue file, you can still split an audio file into multiple tracks using such programs as MP3DirectCut or Audacity (both are free), but you would need to manually find the split points, which is more hassle.
How to convert an APE-encoded album into individual MP3 files?
Assuming that your .APE file comes with the corresponding .CUE file, you can easily convert it to individual MP3 tracks (or other audio encoding formats) using the free converter and recorder tools that come with the excellent AIMP2 audio player. [Note: AIMP2 is my favorite audio player, which I highly recommend.] You can get the main AIMP2 program and the converter and recorder tools from the program's downloads page. Once you download and install AIMP2 and AIMP2 Tools, do the following:
Launch AIMP2 Audio Converter.
In AIMP2 Audio Converter, select the Load files from playlist option, and open the CUE file. If there are no problems with the CUE file, AIMP2 Audio Converter will detect and load the contents of the corresponding APE file.
If the converter fails to load the CUE file, chances are it's corrupted. One of the common problems is wrong encoding of the file data. You can open the CUE file in a text editor (such as Notepad) and verify the contents. Here is an example of the file with wrong encoding:
REM GENRE "Âîåííàÿ ïåñíÿ"
REM DATE 2005
REM DISCID 45113F16
REM COMMENT "ExactAudioCopy v0.99pb5"
PERFORMER "Various"
TITLE "Äåíü Ïîáåäû - ñáîðíèê ïåñåí î âîéíå è ïîáåäå"
FILE "Äåíü Ïîáåäû - ñáîðíèê ïåñåí î âîéíå è ïîáåäå.ape" WAVE
TRACK 01 AUDIO
TITLE "Track01"
PERFORMER "Track01"
INDEX 01 00:00:00
TRACK 02 ...
The most critical part of the file is the FILE field. Make sure that it contains a valid file name that corresponds to the APE file (both the CUE and APE files must be in the same folder). To correct text encoding in the CUE file, follow the process I outlined in the How to fix movie subtitle (and other text) encoding issues post. This is how a corrected file may look like:
REM GENRE "Военная песня"
REM DATE 2005
REM DISCID 45113F16
REM COMMENT "ExactAudioCopy v0.99pb5"
PERFORMER "Various"
TITLE "Песни победы"
FILE "Soviet War Songs2.ape" WAVE
TRACK 01 AUDIO
TITLE "Track01"
PERFORMER "Artist01"
INDEX 01 00:00:00
TRACK 02...
Once the CUE file successfully loads, AIMP2 Audio Converter will show the tracks in the list:
Select the encoding parameters including Encoder (set it to MP3, or whatever your favorite audio format is), output file format, output directory, and MP3 settings (I prefer VBR [Joint Stereo] and high quality MP3 encoding, but you may want to adjust them for your liking). While at it, you may want to go over each track and set appropriate tags (album, title, artist, genre), but you can change the tags later on the MP3 files directly.
Summary: Fixing subtitle encoding in DivX videos is easy... once you know how to do it.
I have been hunting for a copy of Moi Ivan, toi Abraham (AKA "Ivan and Abram", "Я - Иван, ты - Абрам") since I saw the movie on cable in mid-90s. The movie has not been released on a DVD, and I do not have a VHS player, but fortunately, I got a decent DivX version of the movie with Russian subtitles (the movie is mostly in Yiddish).
Unfortunately, instead of legitimate Cyrillic, the subtitle captions displayed garbage (accented characters). As I later found out, the subtitle file was encoded in ASCII for Windows-1251 (Cyrillic) code page instead of a Western code page (such as Windows-1252), so they appear fine only on a Russian version of Windows. So, what's a girl to do? I ran a few Google searches and found some posts from people running into a similar problem, but none of them contained any answers. I thought I would write a post explaining how I fixed the problem (really easy) hoping that it would help someone.
First, a quick intro to subtitles in DivX. Well, I do not really know much about this, but this is how much you -- a typical movie viewer -- need to know (if I misstate or omit something important, feel free to correct me). A typical DivX (AVI) file does not contain embedded subtitles. Subtitles normally come from a separate file, such as SRT, SUB, SSA/ASS. Normally, a subtitle file has the same name (and different extension) as the DivX file. For example, this would be a pair of a DivX (AVI) and a subtitle (SRT) files:
Moi Ivan, Moi Abraham.avi Moi Ivan, Moi Abraham.srt
There is nothing magic about a subtitle file: it's just a text file, which confirms to a certain data format. Here is the format of the SubRip (SRT) subtitle file (directly from Wikipedia):
Subtitle number
Start time --> End time
Text of subtitle (one or more lines)
Blank line
2
00:03:16,190 --> 00:03:21,760
Я - ИВАН, ТЫ - АБРАМ
Many popular video players (KMPlayer, VLC, etc), as well as DVD players, will automatically load and display the default subtitles from the file with the same name (as the DivX file) and the same folder, but you can also load additional subtitle files manually (e.g. you may have subtitles translated in several languages). In my favorite KMPlayer, you can load non-default subtitles via the Subtitles - Load Subtitle menu.
The original subtitle file I got looked like this:
Although this text looks like garbage, it's not useless: it just needs to be re-encoded from one code page to another (and desirebly, to something non-code-page-specific, e.g. to Unicode). But how do you do it?
Help comes from Mozilla Firefox (and I suspect from any other web browser). If you need to fix the encoding of a subtitle file (or any other text file), here is what you need to do (you can use a similar approach to recover text in other types of documents, such as email, text files, and so on).
Launch Firefox (or you favorite web browser).
Open the subtitle file. To locate file in Firefox 3.5, use the File - Open File menu; in IE 8, use the File - Open menu, and click the Browse button; in Google Chrome 4.0 press the CTRL + O keys (when using Google Chrome, you need to change extension of the subtitle file to .TXT before opening the file; otherwise, it will launch the default program associated with the original file extension instead of displaying the file text in the browser).
Once the browser opens the file, it may automatically adjust encoding. If you still see garbage, select a different encoding option until the text appears correctly. To change encoding in Firefox 3.5, select appropriate encoding from the View - Character Encoding menu (Auto-Detect menu for the appropriate language can be helpful); In IE 8, use the View - Encoding menu; In Google Chrome, click the Control the current page toolbar button and pick the appropriate option from the Encoding menu (again, the Auto detect option may help).
Once you select the correct encoding option and verify that the text is displayed correctly highlight all text (you can use CTRL + A), and copy the selected text to the clipboard (press CTRL + C).
Open Notepad (or your favorite plain text editor, such as Notepad++, PSPad, etc), create a new file (File - New menu option in Notepad) and paste the contents of the clipboard in the new file (press CTRL + V).
Save the text file as the new subtitle file. If you decide to overwrite the original subtitle file, make sure that you first make a backup in case something goes wrong. When saving the file, you will most likely be prompted to change the default ANSI encoding, so pick the Unicode encoding.
Close the newly created subtitle file in Notepad (or your text editor), and reopen it to verify that encoding is still intact and text appears correctly, and if so, use it as a new subtitle file.
Now, if you need the Unicode version of the Russian subtitle file for Moi Ivan, toi Abraham, you can download it from here:
UPDATE: As I recently found out, the process of correcting the code page related issues in subtitles can be even easier, assuming that you have a free text editor Notepad++ installed. What you need to do is:
Back up the subtitles file (just in case something goes wrong).
Open the subtitles file in Notepad++.
From the Encoding menu, select the Characters Set option.
Under the character set, select the appropriate language family and then the code page (you may need to try a few code pages if you don't know which one to use).
When you see the characters appearing in the correct format, select the Convert to UTF-8 option under the Encoding menu.