Initial import
brought over all the files from the Jekyll version, fixed categories, reformatted for different markdown processor
This commit is contained in:
40
source/_posts/2010/4040-web-service.md
Normal file
40
source/_posts/2010/4040-web-service.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
layout: post
|
||||
title: 40/40 Web Service
|
||||
author: Daniel
|
||||
date: 2010-09-19 19:55:34
|
||||
categories:
|
||||
- [ Programming, Web Services ]
|
||||
tags:
|
||||
- erlc
|
||||
- prayer
|
||||
- sbc
|
||||
- web service
|
||||
summary: A web service to support the 2010 40/40 Prayer Vigil
|
||||
---
|
||||
|
||||
The [Ethics and Religious Liberty Commission][erlc] of the [Southern Baptist Convention][sbc] is holding a "[40/40 Prayer Vigil][site]," encouraging prayer through the end of October. While some of the prayer is focused on the upcoming elections, the focus is on national revival. They have produced a prayer guide, which details suggestions for prayer over the course of 40 days, beginning September 20th, and for 40 hours, beginning October 29th at 4pm.
|
||||
|
||||
We have created a web service to break this guide up into day and hour-sized chunks. The service <del>is</del> _(UPDATE: was)_ at http://services.djs-consulting.com/FortyForty.asmx. There are several ways to retrieve this information.
|
||||
|
||||
* **GetDay**
|
||||
This gets one of the 40 days, by the day number. (September 20th is 1, September 21st is 2, etc.) The "day" parameter controls which day is returned.
|
||||
* **GetHour**
|
||||
This gets one of the 40 hours, by the hour number (10/29 4pm is 1, 10/29 5pm is 2, etc.) The "hour" parameter controls which hour is returned.
|
||||
* **GetDate**
|
||||
This gets one of the 40 days, by the current date. The "date" parameter controls which day is returned. (The time portion may be given, but it is ignored.)
|
||||
* **GetTime**
|
||||
This gets one of the 40 hours, by the date/time. The "time" parameter controls which hour is returned.
|
||||
* **GetDayHTML**, **GetHourHTML**, **GetDateHTML**, and **GetTimeHTML**
|
||||
This is the same as the above 4 calls, except what is returned is a formatted block of text that can be displayed on a web page.
|
||||
|
||||
In all cases, if the day/hour/date/time does not match a valid value for the vigil, a null is returned.
|
||||
|
||||
If you're not interested in consuming the web service, but you'd like to see the suggested prayer each day, the Hoffmantown Prayer site is displaying the days and hours on Mountain Time. This information is on the front page with no login required.
|
||||
|
||||
This web service will be discontinued at some point after December 31, 2010.
|
||||
|
||||
|
||||
[erlc]: //erlc.com "The Ethics and Religious Liberty Commission of the Southern Baptist Convention"
|
||||
[sbc]: //www.sbc.net "Southern Baptist Convention"
|
||||
[site]: //www.4040prayer.com "40/40 Prayer Vigil"
|
||||
137
source/_posts/2010/mono-fastcgi-startup-script.md
Normal file
137
source/_posts/2010/mono-fastcgi-startup-script.md
Normal file
@@ -0,0 +1,137 @@
|
||||
---
|
||||
layout: post
|
||||
title: Mono / FastCGI Startup Script
|
||||
author: Daniel
|
||||
date: 2010-09-03 19:28:15
|
||||
categories:
|
||||
- Linux
|
||||
- [ Programming, .NET, Mono ]
|
||||
- Web Servers
|
||||
tags:
|
||||
- badgerports
|
||||
- config
|
||||
- fastcgi
|
||||
- mono
|
||||
- script
|
||||
summary: A script that allows Mono web applications to be defined and started the way Apache and nginx enable and disable their sites
|
||||
---
|
||||
|
||||
We've begun running Mono on some DJS Consulting servers to enable us to support the .NET environment, in addition to the PHP environment most of our other applications use. While Ubuntu has nice packages (and [Badgerports][] even brings them up to the latest release), one thing that we were missing was a "conf.d"-type of configuration; my "/applications=" clause of the command was getting really, really long. We decided to see if we could create something similar to Apache / Nginx's sites-available/sites-enabled paradigm, and we have succeeded!
|
||||
|
||||
To begin, you'll need to create the directories `/etc/mono/fcgi/apps-available` and `/etc/mono/fcgi/apps-enabled`. These directories will hold files that will be used define applications. The intent of these directories is to put the actual files in `apps-available`, then symlink the ones that are enabled from `apps-enabled`. These files have no name restrictions, but do not put an extra newline character in them. The script will concatenate the contents of that file to create the [MONO_FCGI_APPLICATIONS environment variable][env], which tells the server what applications exist. (The syntax is the same as that for the "/applications=" clause - `[domain]:[URL path]:[filesystem path]`.) Here's how the site you're reading now is configured (from the file `djs-consulting.com.techblog.conf`)...
|
||||
|
||||
{% codeblock djs-consulting.com.techblog.conf lang:shell %}
|
||||
techblog.djs-consulting.com:/:/path/to/install/base/for/this/site
|
||||
{% endcodeblock %}
|
||||
|
||||
Finally, what brings it all together is a shell script. This should be named "monoserve" and placed in `/etc/init.d`. (This borrows heavily from [this script][scr], which we used until we wrote this one.) Note the group of variables surrounded by the "make changes here" notes - these are the values that are used in starting the server. They are at the top so that you can easily modify this for your own needs.
|
||||
|
||||
{% codeblock monoserve lang:shell %}
|
||||
#/bin/bash
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: monoserve.sh
|
||||
# Required-Start: $local_fs $syslog $remote_fs
|
||||
# Required-Stop: $local_fs $syslog $remote_fs
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Start FastCGI Mono server with hosts
|
||||
### END INIT INFO
|
||||
|
||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||
DAEMON=/usr/bin/mono
|
||||
NAME=monoserver
|
||||
DESC=monoserver
|
||||
|
||||
## Begin -- MAKE CHANGES HERE --
|
||||
PROGRAM=fastcgi-mono-server2 # The program which will be started
|
||||
ADDRESS=127.0.0.1 # The address on which the server will listen
|
||||
PORT=9001 # The port on which the server will listen
|
||||
USER=www-data # The user under which the process will run
|
||||
GROUP=$USER # The group under which the process will run
|
||||
## End -- MAKE CHANGES HERE --
|
||||
|
||||
# Determine the environment
|
||||
MONOSERVER=$(which $PROGRAM)
|
||||
MONOSERVER_PID=""
|
||||
FCGI_CONFIG_DIR=/etc/mono/fcgi/apps-enabled
|
||||
|
||||
# Start up the Mono server
|
||||
start_up() {
|
||||
get_pid
|
||||
if [ -z "$MONOSERVER_PID" ]; then
|
||||
echo "Configured Applications"
|
||||
echo "-----------------------"
|
||||
# Construct the application list if the configuration directory exists
|
||||
if [ -d $FCGI_CONFIG_DIR ]; then
|
||||
MONO_FCGI_APPLICATIONS=""
|
||||
for file in $( ls $FCGI_CONFIG_DIR ); do
|
||||
if [ "$MONO_FCGI_APPLICATIONS" != "" ]; then
|
||||
MONO_FCGI_APPLICATIONS=$MONO_FCGI_APPLICATIONS,
|
||||
fi
|
||||
MONO_FCGI_APPLICATIONS=$MONO_FCGI_APPLICATIONS`cat $FCGI_CONFIG_DIR/$file`
|
||||
done
|
||||
export MONO_FCGI_APPLICATIONS
|
||||
echo -e ${MONO_FCGI_APPLICATIONS//,/"\n"}
|
||||
else
|
||||
echo "None (config directory $FCGI_CONFIG_DIR not found)"
|
||||
fi
|
||||
echo
|
||||
|
||||
# Start the server
|
||||
start-stop-daemon -S -c $USER:$GROUP -x $MONOSERVER -- /socket=tcp:$ADDRESS:$PORT &
|
||||
echo "Mono FastCGI Server $PROGRAM started as $USER on $ADDRESS:$PORT"
|
||||
else
|
||||
echo "Mono FastCGI Server is already running - PID $MONOSERVER_PID"
|
||||
fi
|
||||
}
|
||||
|
||||
# Shut down the Mono server
|
||||
shut_down() {
|
||||
get_pid
|
||||
if [ -n "$MONOSERVER_PID" ]; then
|
||||
kill $MONOSERVER_PID
|
||||
echo "Mono FastCGI Server stopped"
|
||||
else
|
||||
echo "Mono FastCGI Server is not running"
|
||||
fi
|
||||
}
|
||||
|
||||
# Refresh the PID
|
||||
get_pid() {
|
||||
MONOSERVER_PID=$(ps auxf | grep $PROGRAM.exe | grep -v grep | awk '{print $2}')
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start_up
|
||||
;;
|
||||
stop)
|
||||
shut_down
|
||||
;;
|
||||
restart|force-reload)
|
||||
shut_down
|
||||
start_up
|
||||
;;
|
||||
status)
|
||||
get_pid
|
||||
if [ -z "$MONOSERVER_PID" ]; then
|
||||
echo "Mono FastCGI Server is not running"
|
||||
else
|
||||
echo "Mono FastCGI Server is running - PID $MONOSERVER_PID"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Usage: monoserve (start|stop|restart|force-reload|status)"
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
{% endcodeblock %}
|
||||
|
||||
This needs to be owned by root and be executable (`chmod +x monoserve`). You can use `update-rc.d monoserve defaults` to set this to start at boot.
|
||||
|
||||
|
||||
[Badgerports]: //badgerports.org "Badgerports"
|
||||
[env]: //www.mono-project.com/FastCGI "FastCGI • Mono Project"
|
||||
[scr]: //tomi.developmententity.sk/Blog/Post/2 "Linux startup script for mono FastCGI server • Keep Coding"
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
layout: post
|
||||
title: Oracle SQL Developer 2.1 Debian Package
|
||||
author: Daniel
|
||||
date: 2010-03-02 12:11:26
|
||||
categories:
|
||||
- [ Databases, Oracle ]
|
||||
tags:
|
||||
- deb
|
||||
- oracle
|
||||
- sql developer
|
||||
summary: A newer version of SQL Developer is available
|
||||
---
|
||||
|
||||
It had been a while since I had updated SQL Developer. It turns out that version 2.1 was released March 1st of this year. I've downloaded it and created a Debian package. It can be [downloaded][deb] from the [DJS Consulting Linux Software Repository][repo].
|
||||
|
||||
I've used it with Sun's Java 6 Update 18; I have not tested it with OpenJDK. If you have problems getting it to work, you may want to check the [previous post][post] on this topic.
|
||||
|
||||
|
||||
[deb]: //hosted.djs-consulting.com/software/sqldeveloper/sqldeveloper_2.1.1.64.39-2_all.deb "Download SQL Developer 2.1 Debian Package"
|
||||
[repo]: //hosted.djs-consulting.com/software "DJS Consulting Linux Software Repository"
|
||||
[post]: /2008/oracle-sql-developer-debian-package.html "Oracle SQL Developer Debian Package • DJS Consulting Tech Blog"
|
||||
33
source/_posts/2010/tech-blog-2-0.md
Normal file
33
source/_posts/2010/tech-blog-2-0.md
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
layout: post
|
||||
title: Tech Blog 2.0
|
||||
author: Daniel
|
||||
date: 2010-08-05 19:09:54
|
||||
categories:
|
||||
- General Info
|
||||
- [ Programming, .NET, C# ]
|
||||
tags:
|
||||
- .net
|
||||
- blogengine
|
||||
- fastcgi
|
||||
- mono
|
||||
- php
|
||||
- wordpress
|
||||
---
|
||||
|
||||
After three years on [WordPress][], the DJS Consulting Tech Blog has moved to [BlogEngine.NET][]. There are several reasons for this change, some technical and some not.
|
||||
|
||||
* PHP's Fast CGI processor has a problem where, if all of the processes are busy, the server will simply time out. While this hasn't afflicted my server as much as others, it has caused problems; when this problem occurred, none of the PHP sites were accessible.
|
||||
* Through experience with a very heavily-used site, I became less enamored of WordPress's "read from the database every time" way of doing business. I also found that various caching plug-ins for WordPress, on this particular site, did very little to ease the load.
|
||||
* Since I first looked at Mono (Linux's implementation of the .NET framework), it has matured significantly. It supports most of C# 4.0 already, which was released earlier this year.
|
||||
* BlogEngine.NET is a rapidly-maturing blog platform, and the project has a stated goal of 100% compatibility with Mono. This is good, because you can mention Mono problems to the team, and you're not dismissed because you're running Linux.
|
||||
|
||||
As part of the move, the URL has changed; the new link is <https://techblog.djs-consulting.com>. I have implemented redirection for each post, the category and category feed links, and the main blog feed and home page from the old URL, so you may not have even realized that you're looking at the new site. The DJS Consulting Software Repository remains at <https://hosted.djs-consulting.com/software>.
|
||||
|
||||
I'm looking forward to this new setup!
|
||||
|
||||
_(NOTE: The next-to-last paragraph was updated with correct links as of February 2017.)_
|
||||
|
||||
|
||||
[WordPress]: //wordpress.org "WordPress"
|
||||
[BlogEngine.NET]: //dotnetblogengine.net "BlogEngine.NET"
|
||||
26
source/_posts/2010/xine-lib-1-1-19-rpm.md
Normal file
26
source/_posts/2010/xine-lib-1-1-19-rpm.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
layout: post
|
||||
title: xine-lib 1.1.19 RPM
|
||||
author: Daniel
|
||||
date: 2010-08-05 21:00:48
|
||||
categories:
|
||||
- [ Hosted 64-bit Software, xine RPMs ]
|
||||
tags:
|
||||
- rpm
|
||||
- xine-lib
|
||||
---
|
||||
|
||||
Below are the library and development RPMs for xine-lib version 1.1.19. These were built on Ubuntu Linux and converted to RPM using alien. Be sure to check out the [About the xine RPMs][abt] post for more information.
|
||||
|
||||
xine-lib - The main xine library
|
||||
xine-lib-dev - The development xine library (needed if you're building an interface against xine-lib)
|
||||
xine-lib-doc - Documentation
|
||||
|
||||
You'll also need a user interface - as of this release, the most current release of [xine-ui is 0.99.6][ui].
|
||||
|
||||
(To save disk space, only the current release and two [prior releases][pri] will be maintained.)
|
||||
|
||||
|
||||
[abt]: /2005/about-the-xine-rpms.html "About the xine RPMs • DJS Consulting Tech Blog"
|
||||
[ui]: /2010/xine-ui-0-99-6-rpm.html
|
||||
[pri]: /2009/xine-lib-1-1-16-3-rpm.html
|
||||
24
source/_posts/2010/xine-ui-0-99-6-rpm.md
Normal file
24
source/_posts/2010/xine-ui-0-99-6-rpm.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
layout: post
|
||||
title: xine-ui 0.99.6 RPM
|
||||
author: Daniel
|
||||
date: 2010-08-06 17:28:09
|
||||
categories:
|
||||
- [ Hosted 64-bit Software, xine RPMs ]
|
||||
tags:
|
||||
- rpm
|
||||
- xine-ui
|
||||
---
|
||||
|
||||
Below is the RPM for xine-ui version 0.99.6. See the [About the xine RPMs][abt] post for information on how this RPM was built.
|
||||
|
||||
xine-ui - The user interface
|
||||
|
||||
To use this, you'll also need xine-lib - as of this release, the most recent release of [xine-lib is 1.1.19][lib].
|
||||
|
||||
(To save disk space, only the current release and two [prior releases][pri] will be maintained.)
|
||||
|
||||
|
||||
[abt]: /2005/about-the-xine-rpms.html "About the xine RPMs • DJS Consulting Tech Blog"
|
||||
[lib]: /2010/xine-lib-1-1-19-rpm.html
|
||||
[pri]: /2007/xine-ui-0-99-5-rpm.html
|
||||
Reference in New Issue
Block a user