17 December, 2015

The Librarian

Visited the librarian. She recommended these urls:
Apart:

Lo and Behold! My BibTex compiler works ...

A (oh horror!) .docx file in Libre Office

In order to make a literature review I need to compile a MySQL table in the BibTex format.

Now I've got a file, that looks pretty much like a BibTex formatted file. It's compiled from a MySQL database and the output is formatted by PHP.


In the php code this loop will format the output:

while($row = $result->fetch_assoc()){
    $books[] = "\n@". $row['Type'] 
     ."{" . strtoupper( substr($row['Author'], 0,4)) 
     . "_" . $row['Year']
     . ",\n Author={" . $row['Author'] . "},\n"
     . "Title={" . $row['Title'] . "},\n"
     . "Publisher={" . $row['Where'] . "},\n"
     . "Year=" . $row['Year'] . "}\n";
   }

I made a simple markdown file and compiled it with pandoc. The result was a .docx file.

Here is the output from the database formatted via PHP:

@Book{ARIS_1958,
 Author={Aristoteles},
Title={Poetik},
Publisher={Hans Reitzels Forlag},
Year=1958}

etc. etc. etc. etc. etc.

The markdown contains a reference to a book in the BibTex file:

[@ARIS_1958]

Finally the markdown is compiled via pandoc thus:

# pandoc --bibliography=libri.bib test.md -o test.docx

The image above is a screendump from the docx-file in Libre Office. I only refered to Aristoteles, and that's the only work in the list of sources.

Ergo: Q.E.D.

That is: this is just a toolbox. The next step is literature research for the WordPress and Open Source CMS Research Project @ Business Academy Aarhus. And perhaps: come up with title with > x-factor.

16 December, 2015

WordPress and open source CMS research

I have to make a litterature review about open source CMS with focus on WordPress.

Yesterday and today I made a BibTex compiler for WordPress. I have to make a litterature review. By now I'm inspired by Umberto Eco's cardboard file cards. However, nowadays I think that a MySQL database is better suited for the storage.

Here is the system:

  • https://github.com/asathoor/libri
Today the final pieces came together. The database has all entries from my bibtex file. Via PHP I can convert the MySQL data to a bibtex format. Here's the trick:

while($row = $result->fetch_assoc()){     print "\n@Book{" . strtoupper( substr($row['Author'], 0,4)) . "_" . $row['Year']     . ",\n Author={" . $row['Author'] . "},\n"     . "Title={" . $row['Title'] . "},\n"     . "Publisher={" . $row['Where'] . "},\n"     . "Year=" . $row['Year'] . "}\n";   }

Some formatting may be done via SQL, here's a sample from my Github repo:

SELECT '@Book{' as 'Book',

concat(left(`Author`,3),`Year`,',') as 'slug',
concat('Author={{' , `Author`, '}},') as 'Author',
concat('Title={{' ,`Title`, '}},') as 'Title',
concat('Year=',`Year`,'}')

FROM `libri`

So the environment for developing the project is almost there. 

06 December, 2015

Brute force attacks on WordPress


It seems that sinister powers are lurking around one of my webpages. There are 501351 attempts to log in - in just one month. I guess the picture is quite normal for attacks on WordPress sites. So don't have a user called Admin - and make sure, that your password is hard to crack.

29 November, 2015

Windows 10 - a bit like Linux Mint Cinnamon

If you're fond of Linux Mint Cinnamon, then Windows 10 is not that bad at all. The start button and menu are very similar indeed.

Perhaps the Redmond designers had a very close look at the open source alternatives here. Windows 10 is very fast indeed when it comes to installing and removing programmes. If you get a version without too much bloat- and nagware it could be usefull.

I've had my reservations towards Microsoft and Windows for years and years. However this version is promising indeed.

Server for RUBY

SASS runs in a Ruby environment. So it'd be nice to be able to run a server in that environment. Many sites recommend Passenger. I think I'll try it out. Sooner or later that is ...

28 November, 2015

Last Chance for Tomtom

Tried to remove an old SD card and format a new one. Now I'm trying to reinstall everything via the new MyDrive Connect. The Windows 10 install was very, very fast. It's been a while since I said: well perhaps this Windows is ok-ish.

After the first install I got an error. No map installed. Then I tried to install a map .. lo and behold:

It actually worked!

Tomtom is up and running again - after at least 15 hours of trial and error that is.

I guess that the problem with Tomtom is totally uncomprehensible error feedback to the user. Figuring what's wrong takes a full blown clairvoyant or a reliable set of Tarot cards. "Install failed" does not say why.

And I still miss a Linux GUI ...


Xampp on Windows 10

Well, installing was easy - but I could not find a solution to programs blocking the ports. Changing the ports is uphill ...

Skype was a running process eventhough the program was not opened. Killed the process in the joblist. Try again ...

Reinstalled Xampp. Killing the Skype process in the joblist did the trick.

Abrahadabra,

26 October, 2015

Notes for an upcoming PHP introduction class


Idea: use bootstrap and develop menus. Include header and footer with scripts etc. Include whatever content needed.

Mobile first and Responsive Web Design concepts.

30 September, 2015

WordPress on the lan - how to use the correct url

Phpmyadmin > wordpress > wp_options


Problem: localhost in stead of ip
In links and stylesheets WordPress used something like:

http://localhost/whatever ...

It should be something like:

http://192.168.0.22/whatever ...

Solution: 
Open the wp_options table, and rename the http address to the correct ip, e.g.

siteurl: http://192.168.0.12/wordpress
home: http://192.168.0.12/wordpress

27 September, 2015

Get read and write permissiongs to shared WordPress (or other) folders

It's so nice to be able to edit your themes in the File Manager


This works like a magick spell:
# sudo groupadd tomandruser

Now that the group exists, add the two users to it:

# sudo usermod -a -G tomandruser tomcat6
# sudo usermod -a -G tomandruser ruser

Now all that's left is to set the permissions on the directory:

# sudo chgrp -R tomandruser /path/to/the/directory
# sudo chmod -R 770 /path/to/the/directory

( See Andrew Lambert's proposal no. 71 in this thread )

On my localhost I decided to share the WordPress themes folder in this way. Here's what I did on my Debian-based system:

  1. Created the goup called webeditor
  2. Added my user to the group.
Added www-data to the same group.
  1. Changed the themes/ folder to the webeditor group.
  2. Changed the permissions of the themes folder to 777.

Now I only need to create a folder and ln -s to the themes folder. Then it's possible to edit themes at log in via the symbolic link:

# ln -s /var/lib/wordpress/wp-content/themes/ ~/wpthemes

But when WordPress or the user create their own stuff, it looks like this:

$ ls -l
totalt 16
drwxr-xr-x 6 www-data www-data  4096 sep 27 09:23 dusk-to-dawn
drwxrws--- 7 www-data webeditor 4096 sep 27 09:33 twentyfifteen
drwxrwx--- 9 www-data webeditor 4096 sep 26 19:30 twentyfourteen
drwxr-xr-x 2 per      per       4096 sep 27 09:52 x


So you can edit the files, but have to change the permissons to folders installed by WordPress.
 

26 September, 2015

WordPress on Debian - where are the files?

You can install WordPress on a Debian system. Follow the instructions here. This install will make a WordPress site available on your localhost, but the files are not found here.

# var/www/html/

Actually they are saved in a number of different directories. First the virtual host is defined in apache:

# /etc/apache2/sites-available/wp.conf

Alias /wp/wp-content /var/lib/wordpress/wp-content
        Alias /wp /usr/share/wordpress
        
            Options FollowSymLinks
            AllowOverride Limit Options FileInfo
            DirectoryIndex index.php
            Require all granted
        
        
            Options FollowSymLinks
            Require all granted
        
 These aliases tell Linux where to find the different WordPress files.

Here are the configuration files:

# /etc/wordpress

Here you find the config-localhost.php file. In this file you set up the database connection:

define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', '*******');
define('DB_HOST', 'localhost');
define('WP_CONTENT_DIR', '/var/lib/wordpress/wp-content');
?>


Here are the actual WordPress files:

# /var/lib/wordpress/

The WordPress themes and plugins etc. are here:

# /usr/share/wordpress/wp-content

WordPress on Debian - enable update

If you get errors when trying to update or installing themes or plugins try to change the owne of the WordPress directory to www-data and change the chmod to 755:

# chown -R www-data:www-data /var/lib/wordpress/
# chmod -R 755 /var/lib/wordpress/

Install Brackets on a Antix Linux OS

Brackets needs libcrypt in order to run. Download libcrypt from this page. Here's what I did:
 
# wget http://ftp.us.debian.org/debian/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-5+deb7u3_amd64.deb
# dpkg -i libgcrypt11_1.5.0-5+deb7u3_amd64.deb
#  dpkg -i Brackets.1.4.Extract.64-bit.deb

23 September, 2015

Pandoc - a simple way to compile the semester curriculum

Here's the method:

# pandoc --bibliography=books.bib lectures-day00*.md -o curriculum_course_all_lessons.pdf

This method will compile all relevant *md documents to one, and add the complete list of sources in the end, e.g.:

Brazel, Aron. 2010. The WordPress Bible. Wiley Publishing. http://it-ebooks.
info/book/1887/.
Forta, Ben. 2011. MySQL Crash Course. Sams.
Mcfarland, David Sawyer. 2008. JavaScript - the Missing Manual. O’Reilly.
Wordpress.org. 2015. “Codex.” http://codex.wordpress.org.

14 September, 2015

Raspberry Pi / Sony Bravia

Waiting for the Sugru to dry.
And then ... XBMC
on our Sony TV.

Glue the Pi on your TV!

The first generation of Sony Bravia had web options, but to be honest: the greatest thing here is the HDMI slot. You can connect any PC or DSLR or whatever. Behind the TV a Raspberry Pi is almost invisible. In fact it's more advanced than the intestrians of the Bravia. So why not make the RasPi permanent here? Just glue it on with some Sugru ...


The Pi Configuration

  • An Apache web server.
  • A XBMC media center.
  • X.
  • Noobs.



The remote

This post:

http://www.instructables.com/id/Raspberry-Pi-Remote-For-Free/

says, that you can connect the Pi to the Sony Bravia. Then press "Sync Menu" on the remote. And then the remote should work ...

Right now I cannot test. I'm waiting for the Sugru to harden, because I mounted the Pi behind the TV with some Sugru ...

Todo - later on


  • DMZ the Pi on the router (using this guide).
  • Figure out a method to allways have the IP address.
  • Set up a firewall with ufw.
  • Try to secure Apache.
  • And security issues in MySQL.

12 September, 2015

Koala - SASS and Compass the easy way



Koala will give you easy access to your Sass / Compass projects. You don't need to use the commandline at all. The error log is a great help for debugging your code.

27 August, 2015

Unity - remove more suggestions

In Unity "more suggestions" are just plain adss. Ubuntu please don't bloat my screen with ads ...

To remove the crap try this:

# gsettings set com.canonical.Unity.Lenses disabled-scopes "['more_suggestions-amazon.scope', 'more_suggestions-u1ms.scope', 'more_suggestions-populartracks.scope', 'music-musicstore.scope', 'more_suggestions-ebay.scope', 'more_suggestions-ubuntushop.scope', 'more_suggestions-skimlinks.scope']"

 

07 August, 2015

Notes for SASS course

TOOLBOX




Install SASS

Follow the guide for your operative system.

Install Compass  

# gem update --system
# gem install compass Then initiate a compass project in your theme / webpage:

Usage:

# compass create yourProjectFolder


Debugging
  • Linux, Windows, Mac - Koala.
COMPASS AND WORDPRESS

# cd ../wordpress/wp-content/themes
# compass create thematic_child

Now in the folder you'll find these directories and files:

/sass - containing these files: ie.scss print.scss screen.scss
/stylesheets - containing these files: ie.css print.css screen.css

Here is my thematic_child theme.

# compass compile thematic_child/

Will compile relevant .scss to .css

Update your browser to see the result.

Let compass update the .css files automaticly ( see the image above ):

# compass watch thematic_child

29 July, 2015

If you cannot install themes, update WordPress and similar on a Linux / *nix Localhost

WordPress cannot update or install on localhost unless the user rights are correct.

edit the file /etc/apache2/envvars

locate lines:

export APACHE_RUN_USER = www-data
export APACHE_RUN_GROUP= www-data

Change this to:

export APACHE_RUN_USER = YourUserName
export APACHE_RUN_GROUP= YourUserName

Then FTP works.

NB: the user must be one with the right to read, write and execute within the apache folders.

Thanx to this WordPress support page.