
![[RSS Feed]](/img/feed-icon32x32_1.png)
ElasticSearch Curator Dependencies
botocore-1.12.130.tar.gz
python-certifi-2018.10.15.tar.gz
chardet-3.0.4.tar.gz
python-dateutil-2.8.0.tar.gz
click-6.7.tar.gz
requests-2.21.0.tar.gz
curator-5.6.0.tar.gz
requests-aws4auth-0.9.tar.gz
docutils-0.14.tar.gz
s3transfer-0.2.0.tar.gz
elasticsearch-py-6.3.1.tar.gz
setuptools_scm-3.2.0.tar.gz
ez_setup.py
six-1.12.0.tar.gz
idna-2.8.tar.gz
urllib3-1.24.1.tar.gz
jmespath-0.9.4.tar.gz
voluptuous-0.11.5.tar.gz
PyYAML
permlink: _.at: ElasticSearch Curator Dependencies
Delete all data in a MongoDB collection
> use <dbname>
> db.<collection name>.remove({})
> db.repairDatabase()
> db.compact()
Sublime Text commandline utility on macOS
Run an ad-hoc container
--image=dockerqa/curl:ubuntu-trusty --command \
-- sh -c 'curl -s catalog:8080/api/catalog'
permlink: _.at: Run an ad-hoc container
Kubernetes cluster status
permlink: _.at: Kubernetes cluster status
Check SSL server certificate contents
Manage multiple Kubernetes cluster configurations for kubectl
kubectl config get-contexts Switch to another context:
kubectl config use-context docker-for-desktop
Git changes in branch
git checkout <branch name>
base=`git merge-base master HEAD`
git diff --name-only $base HEAD
permlink: _.at: Git changes in branch
Git branch cleanup
git branches Delete branch from remote 'origin':
git push -d origin <branch name> Delete local branch:
git branch -d <branch name> Rename current local branch:
git branch -n <new name> Rename some local branch:
git branch -m <old name> <new name> Rename remote branch after renaming local branch:
git push origin :<old name>
git push --set-upstream origin <new name>
permlink: _.at: Git branch cleanup
Postfix TLS
# TLS parameters
smtp_tls_security_level = encrypt
smtpd_tls_security_level = encrypt
smtpd_tls_auth_only = no
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file=/etc/ssl/private/smtpd.key
smtpd_tls_cert_file=/etc/ssl/certs/smtpd.crt
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5
smtpd_tls_mandatory_protocols = TLSv1
# Also available with Postfix >= 2.5:
#smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
Test:
openssl s_client -starttls smtp -CApath /etc/ssl/certs/cacert.pem -connect localhost:25 -ssl3
openssl s_client -starttls smtp -CApath /etc/ssl/certs/cacert.pem -connect localhost:25 -ssl2
permlink: _.at: Postfix TLS
Get the GIT commit ID
permlink: _.at: Get the GIT commit ID
Doing XSL and FOP transformations on the commandline using Saxon and Apache FOP
# java -jar saxon9.jar -s:<inputfilename> -xsl:<xsl filename> -o:<outputfilename> Classpath must include all jars necessary for FOP:
# for name in fop-1.1/lib/*.jar; do export CLASSPATH=$name:$CLASSPATH; done; Use output from another transformation, i.e. an FO-File:
# java -classpath $CLASSPATH org.apache.fop.cli.Main -fo <fo filename> -pdf <pdf outputfilename> Use internal transformation mechanism, i.e. input is xml, xsl file transforms to fo:
# java -classpath $CLASSPATH org.apache.fop.cli.Main -xml <xml input filename> -xsl <xsl filename> -pdf <pdf outputfilename> A complete step from XML to PDF might look like this, using input.xml, transform2fo.xsl and output.pdf als filenames: Using Saxon:
# java -jar saxon9.jar -s:input.xml -xsl:transform2fo.xsl -o:intermediate.fo
# java -classpath $CLASSPATH org.apache.fop.cli.Main -fo intermediate.fo -pdf output.pdf Using only Apache FOP:
# java -classpath $CLASSPATH org.apache.fop.cli.Main -xml input.xml -xsl transform2fo.xsl -pdf output.pdf
Force-Delete locked files
permlink: _.at: Force-Delete locked files
Cleanup Oracle FRA
RMAN> DELETE ARCHIVELOG ALL; Or delete just expired logs:
RMAN>crosscheck archivelog all';
RMAN>delete noprompt expired archivelog all; Use only if you know what you're doing...
permlink: _.at: Cleanup Oracle FRA
Unix Timestamp
+"%s" gives output in seconds since the epoch Convert a unix timestamp back to a date:
date -jf "%s" 1394146800
permlink: _.at: Unix Timestamp
Oracle Object Source
SELECT * FROM dba_source;
SELECT * FROM all_source;
permlink: _.at: Oracle Object Source
Setup a DBCP datasource for H2 Database connections
import javax.sql.DataSource;
import java.util.Properties; public class SetupDataSource { public static final String DRIVER_CLASS_NAME = "org.h2.Driver"; public static DataSource setup(Properties dbProperties) {
// load driver class -- just to be sure...
try {
Class.forName(DRIVER_CLASS_NAME);
} catch (ClassNotFoundException e) {
Logger.getLogger(AppConfigurator.class).warn(e);
} // seehttp://commons.apache.org/dbcp/configuration.html
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUsername(dbProperties.getProperty("dbuser"));
//dataSource.setPassword(password);
dataSource.setDriverClassName(DRIVER_CLASS_NAME);
dataSource.setUrl("jdbc:h2:file:" + dbProperties.getProperty("dbfile"));
final int maxConnections = Integer.parseInt(dbProperties.getProperty("maxConnections"));
dataSource.setMaxActive(maxConnections);
dataSource.setMinIdle(1);
if(maxConnections>20)
dataSource.setMaxIdle(20);
dataSource.setMaxWait(20);
// dataSource.setValidationQuery("SELECT 1 FROM dual");
// dataSource.setTestOnBorrow(true);
dataSource.setTimeBetweenEvictionRunsMillis(5 * 60 * 1000); return dataSource;
} public static void main(String[] args) {
Properties dbProperties = new Properties();
dbProperties.setProperty("dbuser", "sa");
dbProperties.setProperty("dbfile", "/location/of/your/datafile");
dbProperties.setProperty("maxConnections", "100"); DataSource dataSource = setup(dbProperties);
}
}
smbfs mount ignoring file_mode / dir_mode
username: the remote SAMBA user account
password: the remote SAMBA password
uid: the local user to map the files to (i.e. local owner)
gid: local group to map to
file_mode, dir_mode: the modes for files resp. directories to use locally
Creating SSL Keys and CSRs
openssl req -new -nodes -keyout server.key -out server.csr -newkey rsa:4096 Show contents of CSR:
openssl req -in server.csr -text
permlink: _.at: Creating SSL Keys and CSRs
Bash: argument list too long
find . -name "*.log" -print0 | xargs -0 rm but beware that this works recursively. Try "-maxdepth 1" to limit to the current directory.
permlink: _.at: Bash: argument list too long
Manual SMTP Relay Check
<-- 250 smtpservername
--> MAIL FROM: xx@xyz.xx
<-- 250 Ok
--> RCPT TO: <xx@xyz.xx> (place recipient address here)
<-- 554 <xx@xyz.xx>: Relay access denied
permlink: _.at: Manual SMTP Relay Check
Failed Index
from dba_indexes
where index_type = 'DOMAIN'
and domidx_opstatus = 'FAILED';
permlink: _.at: Failed Index
Maven Dependencies
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<name>Download</name>
<groupId>at.compass</groupId>
<artifactId>Download</artifactId>
<version>1.0.0</version>
<description>Download Maven dependencies</description>
<dependencies>
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
</project> 2. Use Maven to download the JARs including transitive dependencies:
mvn dependency:copy-dependencies This will put the JARs into the subdirectory target/dependencies
permlink: _.at: Maven Dependencies
Oracle Shutdown / Restart
sqlplus /nolog And use the following commands to shut an instance down:
SQL> connect system as sysdba;
SQL> shutdown immediate; Use 'shutdown abort;' in case there are hanging connections/processes, but keep in mind that this kills those processes (i.e. use at your own risk). Shutdown + Start:
sqlplus /nolog SQL> connect system as sysdba;
SQL> startup force;
permlink: _.at: Oracle Shutdown / Restart
Unix Timstamps in SQL
And on Postgres:
SELECT (TIMESTAMP WITH TIME ZONE 'epoch' + unix_tstamp * INTERVAL '1 second')::date
permlink: _.at: Unix Timstamps in SQL
OS X Terminal Commands
permlink: _.at: OS X Terminal Commands
OS X Terminal
permlink: _.at: OS X Terminal
HTML5 <video> tag in IE9
permlink: _.at: HTML5 <video> tag in IE9
OpenSSH / Ubuntu PAM Headers missing
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam
Expiration Date of a PKCS#12 certificate
openssl x509 -in tempcrt.pem -noout -enddate
Encrypt An External Disk Volume
# diskutil cs convert /Volumes/Spare -passphrase Or split into two steps:
# diskutil cs convert /Volumes/Spare
# diskutil cs encryptVolume /Volumes/Spare -passphrase To check the status of the encryption process:
# diskutil cs info /Volumes/Spare Obviously the volumename 'Spare' should be replaced by your volume in question...
permlink: _.at: Encrypt An External Disk Volume
Oracle: Slow connections
permlink: _.at: Oracle: Slow connections
Disable a MacOS X service
/Library/LaunchDaemons
/System/Library/LaunchDaemons
/System/Library/LaunchAgents
permlink: _.at: Disable a MacOS X service
Commons Logging
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger and put it in the CLASSPATH
permlink: _.at: Commons Logging
Extend TEMP tablespace
permlink: _.at: Extend TEMP tablespace
Compile Apache 2.4
cd compile
tar xzvf ../download/httpd-2.4.4.tar.gz
cd httpd-2.4.4/srclib
tar xzvf ../../../download/apr-util-1.5.2.tar.gz
mv apr-util-1.5.2/ apr-util
tar xzvf ../../../download/apr-1.4.6.tar.gz
mv apr-1.4.6/ apr
cd ..
./configure '--enable-so' \
'--enable-ssl' \
'--enable-rewrite=shared' \
'--enable-headers=shared' \
'--enable-proxy=shared' \
'--enable-proxy-balancer=shared' \
--with-included-apr
permlink: _.at: Compile Apache 2.4
Problems with configure
apt-get install --reinstall libc6-dev
apt-get install libc6-dev-i386
permlink: _.at: Problems with configure
Installing pdsh on MacOS X
cd readline-6.2
MACOSX_DEPLOYMENT_TARGET=10.8 ARCHFLAGS="-arch x86_64" \
./configure --prefix=/usr/local --enable-shared
# regardign error about -dynamiclib: seehttp://www.iamseree.com/application-development/readline-6-2-make-error-in-mac-os-x-lion
cd shlib
sed -e 's/-dynamic/-dynamiclib/' Makefile > Makefile.osx
mv Makefile.osx Makefile
cd ..
#
make
make && sudo make install Download and compile pdsh:
cd pdsh-2.29
./configure --with-ssh --with-readline --without-rsh
make && sudo make install
permlink: _.at: Installing pdsh on MacOS X
Extend an Oracle tablespace
SELECT * FROM dba_data_files WHERE tablespace_name='tb_name';
permlink: _.at: Extend an Oracle tablespace
Create Schema / User manually in Oracle
DATABASENAME is the name of the containing database. -- Here 2 datafiles are used. Adjust as needed:
CREATE SMALLFILE TABLESPACE "TESTUSERTABLESPACE" DATAFILE '/oracle/oradata2/DATABASENAME/testuser.dbf' SIZE 300M REUSE, '/oracle/oradata3/DATABASENAME/testuser.dbf' SIZE 300M REUSE LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; CREATE USER testuser IDENTIFIED BY testpassword DEFAULT TABLESPACE TESTUSERTABLESPACE;
ALTER USER testuser QUOTA UNLIMITED ON TESTUSERTABLESPACE; GRANT CONNECT, CREATE SESSION, CREATE TABLE TO testuser;
GRANT select, insert, update, delete, alter ON testuser.tabellenname TO testuser;
GRANT select, alter ON testuser.tabellenname_id_seq TO testuser; -- extend if needed:
ALTER DATABASE DATAFILE '/oracle/oradata2/DATABASENAME/testuser.dbf' RESIZE 500M;
ALTER DATABASE DATAFILE '/oracle/oradata3/DATABASENAME/testuser.dbf' RESIZE 500M; -- or set auto-extend:
ALTER DATABASE DATAFILE '/oracle/oradata2/DATABASENAME/testuser.dbf' AUTOEXTEND ON;
ALTER DATABASE DATAFILE '/oracle/oradata3/DATABASENAME/testuser.dbf' AUTOEXTEND ON;
Changing the senders hostname for Java Mail
Rails with JRuby on MacOS X
$ sudo jruby -S gem install rails If using a proxy either add the corresponding command line flag or edit ~/.gemrc (see below):
$ sudo jruby -S gem install rails --http-proxyhttp://proxy.company.com:8080Install JRuby SSL support:
$ sudo jruby -S gem install jruby-openssl Create a dummy project to install the missing gems:
$ sudo jruby -S rails new RailsTest When using a proxy you can add the hostname to ~/.gemrc like this:
gem: --http-proxyhttp://proxy.company.com:8080
bundle: --http-proxyhttp://proxy.company.com:8080
bundler: --http-proxy http://proxy.company.com:8080
permlink: _.at: Rails with JRuby on MacOS X
Import PKCS#12 certificates into a Java Keystore
-deststorepass KEYSTORE_PASSWORD \
-destkeypass KEYSTORE_PASSWORD \
-destkeystore KEYSTORE_FILENAME \
-srckeystore INPUTFILE \
-srcstoretype PKCS12 \
-srcstorepass INPUTFILE_PASSWORD \
-alias 1
MacOS X Download History
~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2
which is an SQLite database. Contents can be dumped using this command: sqlite3 -header -line ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 \
'SELECT LSQuarantineAgentName AS Browser, LSQuarantineDataURLString AS File FROM LSQuarantineEvent WHERE LSQuarantineAgentName <> "PubSubAgent"' Brushed up SQL inspired by the script found in the linked article below.
permlink: _.at: MacOS X Download History
Ho to install SHA-1 support for PostgreSQL
cd contrib/pgcrypto
make; make install start psql and create a utility function: psql -Upostgres template1 -- for Postgres < 9.1:
template1=# \i contrib/pgcrypto/pgcrypto.sql
-- for Postgres >= 9.1:
template1=# CREATE EXTENSION pgcrypto; -- common part:
template1=# CREATE OR REPLACE FUNCTION sha1(varchar) returns text AS '
SELECT encode(digest($1::bytea, ''sha1''), ''hex'')
' LANGUAGE SQL STRICT IMMUTABLE;
Importing certificates into a Java keystore
openssl pkcs12 -in certificate.cer -out certificate.crt -clcerts Optionally: export public key:
openssl pkcs12 -in certificate.cer -out certificate.public -nokeys -clcerts And then to X509:
openssl x509 -inform pem -in certificate.crt -outform der -out certificate.cer This can finally be imported into a Java keystore:
/usr/local/jdk1.6/bin/keytool -import -keystore keystore.jks -trustcacerts -alias key-alias -file certificate.cer
Scala problems
"(...) but at some point a best practice emerged: ignore the community entirely." The Scala community, while quite large, always seemed quite hostile to me, with lots of talent and time wasted on waging war over preferences of style. I do not want to spend my time on figuring out, who is 'right' in the sense of which preference gets adopted by the Scala community at large... So I stopped investing time in Scala at all.
permlink: _.at: Scala problems
Convert secsh Public Key format
permlink: _.at: Convert secsh Public Key format
Preprocess Apache Logs for Evaluation
#!/bin/sh
echo "IP\tTag\tMonat\tJahr\tUhrzeit\tURL\tStatus\tTransfer"
# 1: IP
# 2: day
# 3: month
# 4: year
# 5: time
# 6: url
# 7: protocol
# 8: status code
# 9: transfer in bytes cat $1 | \
sed -E 's/(.*) \- \- \[([0-9]*)\/([A-Z][a-z]*)\/([0-9]*):(.*) \+[0-9]*\] "GET (.*) HTTP\/(.*)" +([0-9]*) ([0-9]*) "(.*)" .*/\1 \2 \3 \4 \5 \6 \7 \9/g'
Create a Unix User / Group from the command line on MacOS X
% sudo dscl . -create /Users/luser UserShell /bin/bash
% sudo dscl . -create /Users/luser RealName "Realname for user"
% sudo dscl . -create /Users/luser UniqueID "1010"
% sudo dscl . -create /Users/luser PrimaryGroupID 80
% sudo dscl . -create /Users/luser NFSHomeDirectory /Users/luser Create a group:
% sudo dscl . -create /groups/tomcat
% sudo dscl . -append /groups/tomcat gid 230
% sudo dscl . -append /groups/tomcat passwd "*" Add a user to this group (replace username with the correct value):
% sudo dscl . -append /groups/tomcat GroupMembership luser in part derived from an answer at Serverstack: http://serverfault.com/a/20706
Start MacOS X Screen Sharing
# open /System/Library/CoreServices/Screen\ Sharing.app/ Under OS X 10.10 this moved application was moved:
# open /System//Library/CoreServices/Applications/Screen\ Sharing.app
permlink: _.at: Start MacOS X Screen Sharing
Change Networksettings on MacOS X on the commandline
# networksetup -listallnetworkservices Read the current configuration for a service (name as listed in the output above):
# networksetup -getinfo Ethernet Change e.g. the DNS server:
# networksetup -setdnsservers "Ethernet" 8.8.8.8
Node Package Manager via Squid
permlink: _.at: Node Package Manager via Squid
Servlets with Clojure
Disable Lion Window Animations and other minor annoyances
# defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool NO
Replace 'NO' with 'YES' to re-enable them. Disable animations in Mail:
# defaults write com.apple.Mail DisableReplyAnimations -bool YES
Quit Mail before changing this setting. Replace 'YES' with 'NO' to re-enable animations. Restore key autorepeat:
# defaults write -g ApplePressAndHoldEnabled -bool false Make Library folder visible:
# chflags nohidden ~/Library/ Disable Spelling correction:
# defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool NO Disable local Timemachine:
# sudo tmutil disablelocal
FOP Font installation
<renderers>
<renderer mime="application/pdf">
<fonts>
<auto-detect/>
</fonts>
</renderer>
</renderers>
</fop> Alternatively put font files under <JAVA_HOME>/jre/lib/fonts/
permlink: _.at: FOP Font installation
XSL-FO hyphenation library
<xsl:value-of select="."/>
</fo:block> after installing the OFFO hyphenation library.
permlink: _.at: XSL-FO hyphenation library
Image format conversion
convert -density 300 -colorspace RGB inputfile.ai -trim outputfile.jpg Or using transparency:
convert -density 300 -colorspace RGB inputfile.ai -trim +repage -background transparent -alpha background PNG32:outputfile.png From EPS to SVG using pstoedit:
pstoedit -f plot-svg inputfile.eps outputfile.svg
This uses a shareware plugin for pstoedit to enable SVG output.
permlink: _.at: Image format conversion
Android ports
permlink: _.at: Android ports
HTTP Date format in Java
{
SimpleDateFormat httpDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
httpDateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); return httpDateFormat.format(date);
}
permlink: _.at: HTTP Date format in Java
Querying MongoDB from Clojure using regex Prefix matches
(:use somnium.congomongo)) (def mongo-server "mongo.test")
(def mongo-db "testdb")
(def mongo-collection "indexedtestcollection") (defn find-test [input]
(mongo!
:host mongo-server
:db mongo-db )
(let [rx (. Pattern compile (str "^" (first input)))]
(println (.getName (.getClass rx)))
(take 3
(fetch mongo-collection
:where {:index rx}
)
)
)
) The main point being that the value for rx must be a Regex instance. In this sample code the regex is dynamically created, using a static #"^regex" works as well. MongoDB can only use the index on the column if the regex is a prefix match (i.e. uses the '^' anchor).
Print a stacktrace in Clojure REPL
user=> (print-stack-trace *e 10)
permlink: _.at: Print a stacktrace in Clojure REPL
MySQL: JDBC Connect String with UTF-8 encoding
Look up details by index / constraint name
Installing ImageMagick PHP extension on Ubuntu
Installing mcrypt PHP extension on Ubuntu
# phpize
# aclocal
# ./configure
# make && make install Add 'extension=mcrypt.so' to php.ini.
HowTo: Resize an EXT4-formatted Linux LVM Volume in a virtual machine
# reboot 5. Create a physical volume:
# pvcreate /dev/sda6
Physical volume "/dev/sda6" successfully created 6. Use lvdisplay to look up the name of the volume group currently in use:
# lvdisplay
--- Logical volume ---
LV Name /dev/mongo1/root
VG Name mongo1
LV UUID wi9dRo-fS0C-xSCd-fbei-el9R-vpVi-0QEiIR
LV Write Access read/write
LV Status available
# open 1
LV Size 9,29 GiB
Current LE 2379
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 251:0
7. Add the physical volume to the volume group found in the field 'VG Name':
# vgextend mongo1 /dev/sda6
Volume group "mongo1" successfully extended
8. Now you can try to extend the existing logical volume (as named in field 'LV Name' above). If the given size increase (20GB in this example) is more than is available in the disk group, the error message will indicate the number of blocks available:
# lvextend -L +20G /dev/mapper/mongo1-root
Extending logical volume root to 29,29 GiB
Insufficient free space: 5120 extents needed, but only 5119 available Retry with the number of blocks taken from this error message:
# lvextend -l +5119 /dev/mapper/mongo1-root
Extending logical volume root to 29,00 GiB
Logical volume root successfully resized
9. Resize the filesystem (sorry for the german output -- this is the only command that used the locale setting...):
# resize2fs /dev/mapper/mongo1-root
resize2fs 1.41.11 (14-Mar-2010)
Das Dateisystem auf /dev/mapper/mongo1-root ist auf / eingehängt; Online-Grössenveränderung nötig
old desc_blocks = 1, new_desc_blocks = 2
Führe eine Online-Grössenänderung von /dev/mapper/mongo1-root auf 5241856 (4k) Blöcke durch.
Das Dateisystem auf /dev/mapper/mongo1-root ist nun 5241856 Blöcke gross.
Trivia: Adding Linux Swapspace
mkswap /swapfile
swapon /swapfile Don't forget to also add the last command (swapon) to the system startup scripts (e.g. in /etc/rc.local).
permlink: _.at: Trivia: Adding Linux Swapspace
ORA-00603: ORACLE server session terminated by fatal error
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [4080], [1], [131], [], [], [], [], []
Fileupload in Servlets
Links:
Servlets.com: com.oreilly.servlet
Jason Hunter, William Crawford: Java Servlet Programming (Amazon)
Servlets.com: com.oreilly.servlet
Jason Hunter, William Crawford: Java Servlet Programming (Amazon)
permlink: _.at: Fileupload in Servlets
Blackberry Protect
permlink: _.at: Blackberry Protect
Amazon
permlink: _.at: Amazon
Favourite Safari Extensions
Another essential tool for readers of certain german pages like DerStandard.at: Binnen-X removes the typing errors that manifest themselves in inline uppercase letter 'i'.
permlink: _.at: Favourite Safari Extensions
IDEA with Mercurial Plugin
Turns out that this plugin needs the MQ extension enabled in the Mercurial commandline client. Configure this extension by adding the following lines to your ~/.hgrc: [extensions]
hgext.mq = No value is necessary as this is a standard extension and hg will find the necessary library within its installation path.
permlink: _.at: IDEA with Mercurial Plugin
Graphical Mercurial Client for MacOS X
Hardening Tomcat
Links:
Hardening Tomcat guide under Applications->Tomcat
Sateesh Narahari @Mulesoft: Is your Tomcat secure?
Hardening Tomcat guide under Applications->Tomcat
Sateesh Narahari @Mulesoft: Is your Tomcat secure?
permlink: _.at: Hardening Tomcat
Supercookies
permlink: _.at: Supercookies
Spam-Templates
permlink: _.at: Spam-Templates
Nexus One
From the article:
"Industry politics aside, though, the Nexus One is at its core just another Android smartphone. It's a particularly good one, don't get us wrong -- certainly up there with the best of its breed -- but it's not in any way the Earth-shattering, paradigm-skewing device the media and community cheerleaders have built it up to be. It's a good Android phone, but not the last word -- in fact, if we had to choose between this phone or the Droid right now, we would lean towards the latter." Thats quite to the point. And the missing keyboard is still a no go to me.
permlink: _.at: Nexus One
CSS Snowflakes
Note: works best in Safari or Chrome. And this is just JavaScript and CSS, not Flash. The time, CSS3 is supported by all major browsers is the time, Adobe should start worrying...
permlink: _.at: CSS Snowflakes
Daring Fireball nonsense
permlink: _.at: Daring Fireball nonsense
Google Chrome Beta for Mac
permlink: _.at: Google Chrome Beta for Mac
Android 2
permlink: _.at: Android 2
Micro-Windows PDA
permlink: _.at: Micro-Windows PDA
Helpdesk
"This thing sucks. That is... actually it doesn't."
permlink: _.at: Helpdesk
JavaScript grows up
Looking beyond what is now being done with web applications utilizing AJAX, more performance sensitive areas like gaming seem to come into reach. Displace Flash -- how nice this prospect sounds... hope it becomes real rather sooner than later.
permlink: _.at: JavaScript grows up
Apples blunder, pt. 1001
permlink: _.at: Apples blunder, pt. 1001
ZFS
permlink: _.at: ZFS
Really bad...
permlink: _.at: Really bad...
SCO leaving the Past behind
permlink: _.at: SCO leaving the Past behind
Intellij IDEA goes Open Source
permlink: _.at: Intellij IDEA goes Open Source
Internal affairs: RSS feed validated
The RSS timestamp format can be produced with the following Java code: SimpleDateFormat rssDateFormat = new SimpleDateFormat("E, dd MMM yyyy hh:mm:ss Z");
Palm supports developers...
permlink: _.at: Palm supports developers...
Blackberry Desktop for Mac
permlink: _.at: Blackberry Desktop for Mac
Wave
permlink: _.at: Wave
Linux Kernel increasingly inefficient
OK, it *does* support numerous plattforms and gazillions of features (almost nobody actually uses btw.). But wouldn't it be better to make these parts optional? Micro-kernel anyone? Would of course collide with the current development model -- but maybe this would also be a good time to rethink that as well.
Bolts 1.0 Functional Programming Library for Java
Blackberry Tethering for Mac and Linux
Background Apps
Well, it seems that paying extra might leverage the possible harm... WTF?
permlink: _.at: Background Apps
Petabytes
permlink: _.at: Petabytes
Is Nokia waking up?
permlink: _.at: Is Nokia waking up?
Mercurial on MacOS X
Running 'hg debuginstall' gives an error like this:
abort: couldn't find mercurial libraries in [...] To correct this do the following: sudo mv /usr/local/lib/python2.5/site-packages/hgext/ /Library/Python/2.5/site-packages/
sudo mv /usr/local/lib/python2.5/site-packages/mercurial-1.3-py2.5.egg-info /Library/Python/2.5/site-packages/
sudo mv /usr/local/lib/python2.5/site-packages/mercurial/ /Library/Python/2.5/site-packages/ 'hg debuginstall' should now run fine. 2009/07/22:
Added link to Mercurial binaries for Mac. Version 1.3 is already present there.
permlink: _.at: Mercurial on MacOS X
Mercurial default push repository
default = ssh://hg@<mercurial-server>/<project-name> Note that this default entry is created for you each time you clone a remote repository. You can add more short names to this section to use them in push and pull commands, just replace 'default' with the name like this: ted = ssh://hg@teds-machine/teds-project and use them: hg push ted
hg pull ted
permlink: _.at: Mercurial default push repository
Gitosis Problem
Traceback (most recent call last):
File "/usr/bin/gitosis-serve", line 8, in <module>
load_entry_point('gitosis==0.2', 'console_scripts', 'gitosis-serve')()
File "/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/app.py", line 24, in run
return app.main()
File "/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/app.py", line 38, in main
self.handle_args(parser, cfg, options, args)
File "/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/serve.py", line 204, in handle_args
os.execvp('git', ['git', 'shell', '-c', newcmd])
File "/usr/lib/python2.5/os.py", line 354, in execvp
_execvpe(file, args)
File "/usr/lib/python2.5/os.py", line 392, in _execvpe
func(fullname, *argrest)
OSError: [Errno 2] No such file or directory
fatal: The remote end hung up unexpectedly The reason was taht unexplicably it somehow forgot a path (git is installed unter /usr/local on that server). Adding a symlink on the server ln -s /usr/local/bin/git /usr/bin solved the problem. Adding the PATH variable to the users homedirectories .bashrc (and/or .profile) did not help.
permlink: _.at: Gitosis Problem
Apache
Version 2 is "an experimental development branch for logging services designed for Java 5 and later." -- which in my understanding means, it was started several years ago (when Java 5 was new) and made no progress to date.
Better even the status of the 1.3 Branch: "log4j 1.3 development has been abandoned and no future releases or development is anticipated". The icing on this cake is the next sentence: "Users of log4j 1.3 are encouraged to migrate to log4j 1.2". No more questions, thank you.
permlink: _.at: Apache
Speed
permlink: _.at: Speed
Groovy Creator James Strachan on Scala
"I can honestly say if someone had shown me the Programming Scala book by by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy." I really like Scala being a statically typed language. And the elegant functional extensions to the object oriented modell are well worth learning this new language...
Blackberry RSS Reader
permlink: _.at: Blackberry RSS Reader
PostgreSQL 8.4
* Per-Column Permissions, allowing more granular control of sensitive data
* Per-database Collation Support, making PostgreSQL more useful in multi-lingual environments
* In-place Upgrades through pg_migrator (beta), enabling upgrades from 8.3 to 8.4 without extensive downtime
* New Query Monitoring Tools, giving administrators more insight into query activity
* Greatly Reduced VACUUM Overhead through the Visibility Map
* New Monitoring Tools for current queries, query load and deadlocks
permlink: _.at: PostgreSQL 8.4
Database maintainance
permlink: _.at: Database maintainance
David Pollak interview
"...no matter whether they were looking at Scala, Ruby or Java, they spent almost exactly the same time per language token looking at code, so if you say how few language tokens can we use to express our business logic, that's how fast somebody can look at the code and perceive it, that's how fast somebody can write the code because no matter what language you are writing in you write about the same number of line of code per day."
permlink: _.at: David Pollak interview
Monospaced Fonts for Programming
Tried Consolas for a while and now switched to Anonymous Pro. Consolas 'f' tends to irritate me.
permlink: _.at: Monospaced Fonts for Programming
Lift Webapplication Framework
permlink: _.at: Lift Webapplication Framework
Optimizing massive DELETE operations
Howto Add Ringtones to your Blackberry
Unix, Windows and programming language timelines
Sphinx fulltext search engine
From the article:
'... the Apache Foundation, of course, widely known as a cruel experiment to see what happens when bureaucrats do open source.'
Full ACK.
permlink: _.at: Sphinx fulltext search engine
Standards...
permlink: _.at: Standards...
Will Oracle kill MySQL?
"Years ago, it [the open source community] taught Larry Ellison hate. Now, Ellison is teaching it fear."
permlink: _.at: Will Oracle kill MySQL?
Using Intellij IDEA on windows as a client to a gitosis server
Comment-Spam
permlink: _.at: Comment-Spam
IP Subnet Calculator
permlink: _.at: IP Subnet Calculator
Using Jetty with an Apache mod_proxy load balancer
Gitosis
Scala
Twitter adapted this language for their backend processing due to performance reasons (the interface still uses Ruby on Rails), IDEA supports it via a plugin, there is already some literature available...
Links:
artima.com: Twitter on Scala
Martin Odersky: Programming in Scala (Amazon)
The Scala Programming Language
artima.com: Twitter on Scala
Martin Odersky: Programming in Scala (Amazon)
The Scala Programming Language
permlink: _.at: Scala
Opera is 15
permlink: _.at: Opera is 15
Reset Macbook/Air/Pro SMC
permlink: _.at: Reset Macbook/Air/Pro SMC
PDF inline display
permlink: _.at: PDF inline display
Debian: set default encoding
permlink: _.at: Debian: set default encoding
CSS Image techniques
permlink: _.at: CSS Image techniques
Manually add users under MacOS X Leopard
all articles represent the sole opinion of their respective author. all content comes without any warranty for correctnes, despite due diligence.