The linux philosophy promotes modular software. Linux itself is modular. This ensures plug and play ability, extensibility, and customization to your heart’s content. This also means that you can get bare-bones software and install only the bare essentials suited to your needs.
Bspwm or Binary Space Partition Window Manager, is based around the same philosophy. Bspwm is a minimalistic modern window manager that represents windows as the leaves of a full binary tree. Now due to the fact that there is not a lot of comprehensive documentation out there for bspwm (especially as compared to other window managers like i3), I decided to go ahead and make a (somewhat) practical guide myself. Forgive me if this particular entry in the series is too long.
sudo apt install bspwm
To run it, simple add the following line in your ~/.xsession file:
exec bspwm
Logout and log back in again, and boom! You are good to go. When you login, you will be greeted by a black screen. That is because bspwm doesn’t know how to draw the wallpaper yet. You will also notice that none of your typical window manager key bindings work. That is because bspwm requires a third party daemon for the same.
Logout from the current environment and login to either a tty, or any other environment, and let’s get started with the configuration so that we can make bspwm a bit usable.
An example configuration lies in the /usr/share/doc/bspwm/examples/bspwmrc file. Simply copy the bspwmrc file to the ~/.config/bspwm/ directory to get started. The default config file looks like this:
Sxhkd, mentioned in the architecture given above, stands for Simple X Hot Key Daemon (And you thought herbstluftwm was hard to pronounce). It runs in the background and uses a very simple syntax to bind keys to commands. To get started with it simply run:
sudo apt install sxhkd
Sxhkd looks for a configuration file for initialization. You can create one at ~/.config/sxhkd/sxhkdrc. Let us look at how to add some basic key-bindings to get started with bspwm:
our sxhkdrc file:
The second rule makes sure that the moment we hit alt + Escape, our sxhkd reloads automatically, therefore making any further changes will not require us to manually kill the daemon and restart it ourselves.
To start the daemon simply add the following line in your bspwmrc:
sxhkd &
Now logout and login again. You will be greeted with a black screen, but the moment you hit alt + Return, you will get the terminal of your choice! Now this is all we need for further configuring our bspwm.
]]>https://www.reddit.com/r/MagicArena/comments/chpo80/new_installer_seems_to_break_with_wine_anyone/
]]>This article assumes you already have Xscreensaver installed.
Note for a full list of backgrounds run ls /usr/lib/xscreensaver/
.
git clone https://github.com/ujjwal96/xwinwrap.git
cd xwinwrap
make
sudo make install
make clean
1 2 |
|
In the RFC it shows this as an example to give you an idea on how it can be used:
1 2 3 4 5 6 |
|
1 2 3 4 5 6 7 |
|
Short Arrow Functions is targeted for inclusion in PHP v7.4, and you can read more about this on the PHP wik.
]]>We need a SSH key in order to connect to the cluster without having to type the password every time we access.
In case you don’t have any, run this command and follow the steps.
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
`Add the key to your ssh agent, assuming our keys generated are id_rsa and id_rsa.pub
ssh-add ~/.ssh/id_rsa
You can find a more in depth explanation in this tutorial
some random description, lorem ipsum…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
|
Sed erat velit, eleifend et varius nec, efficitur et nibh. Proin at pretium ligula. Aenean nunc nisl, aliquet eu risus non, fringilla rutrum dui. Aenean convallis ultricies porta. Donec tincidunt finibus libero, sed efficitur dolor sodales eu. Nullam nisi leo, auctor vitae mollis in, maximus quis nisi. Nam laoreet est elit, quis maximus nisl porta sit amet. Duis volutpat iaculis urna in feugiat. Aliquam fringilla fringilla tortor non ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Morbi lobortis nunc ac tortor dignissim, lobortis scelerisque eros congue. Sed lectus enim, ultricies at varius et, rutrum lacinia ex. Donec enim arcu, ullamcorper facilisis lectus tincidunt, elementum finibus justo. Quisque nec neque nec ligula blandit efficitur quis sit amet diam. Curabitur et auctor odio. Etiam varius mi eget elit vestibulum, a dictum nisi convallis. Vestibulum a arcu eu velit maximus tempor non nec leo. Cras id purus ex. In a orci massa. Phasellus sollicitudin libero vel nulla dignissim, eget vehicula mauris sodales. Phasellus maximus tempor quam, non venenatis mauris condimentum quis. Duis finibus enim sit amet ex convallis pellentesque. Mauris vestibulum bibendum dolor.
]]>Just a quick note, but it seems that despite having the whole
+————————-+———+ | code | version | +————————-+———+ | adminnotification_setup | 1.0.0 | | admin_setup | 0.7.1 | | etc … | … | +————————-+———+ mysql>
Just delete your module from this table and then clear Magento’s cache. That should be all it takes to re-load the new module into the system.
Update: What I said above about the versions being meaningless isn’t correct. The mysql4-install-X.X.X.php files will only be run once by the system. However, by changing the version value in your XML config, you’re telling the system which install file it should be looking for. So, for example
//this in your config
//would load this sql install file mysql4-install-0.2.1.php …
When you’re deploying new versions of a module, be sure to change the version of your install script. During development though, it’s still best to just delete the record from your core_resource table.
]]>Octopress is a great platform targeted at programmers who want to start blogging without having the hassle of customizing static page generators and caching on Wordpress. Personally I think that Octopress is ideal for my personal blog or a blog maintained by several developers which is where version control becomes essential. Although it is not practical for other user like a normal blogger who just wants to write content, a copy-editor or a business looking for more advance features such as LOREMIPSUM.
…
If you have a lot post in source/_posts
then it could take a long time to compile your posts every time you update you blog.
If you are only working on 1 post at a time then it would make sense to only compile that page, to do this use rake isolate[post_name]
.
This will isolate the post your are working on then automatically move all other posts to source/_stash
.
When you are ready to publish your site, use rake integrate
, which will move all posts from source/_stash
and move them back to source/_posts
.
This is taken from a tutorial I have written in the past.
Open up config.ru
from the root directory and update the sinatra not_found
route to the following:
1 2 3 |
|
This will redirect to http://yourdomain.com/404/
where the page is found, but we still need to create a page.
To do this use rake new_page[404]
. This will create a new file named index.markdown
in your /source/404
directory:
1 2 3 4 5 6 7 8 9 10 |
|
View my 404 page here.
There is a related post plugin already included in Jekyll, to use it open up the _layouts/posts.html
template and edit it
1
|
|
To enable this function open up _config.yml
and set lsi: true
The lsi option will use a statistical analysis to calculate which pages are most relevant.
Now you need to install GSL using Ruby Gems.
1
|
|
After GSL is installed you can regenerated your blog.
Download the files from Github.
1. Save tag_cloud.rb
to plugins/tag_cloud.rb
2. Save category_list.html
to source/_includes/custom/asides/category_list.html
3. Append to default_asides in _config.yml
:
1
default_asides: [custom/asides/category_list.html]
This plugin was created by tokkonopapa.
You can escape special characters in Markdown used in formatting using a \
.
For a list of characters you can escape take a look at this article from Daring Fireball.
gem 'octopress-popular-posts'
bundle install
bundle exec octopress-popular-posts install
rake generate
config.yml
and add this line:1
|
|
Append to default_asides in _config.yml
: 1
default_asides: [custom/asides/popular_posts.html]
At first I hosted all of my images using Octopress, then later switch to Picasa to host my images becuase of the following.
The html for this is fairly simple. We are going to create a few divs and wrap them inside links.
1 2 3 4 5 |
|
As we are using a link for the HTML we need the CSS to do all the work.
First start off by creating the style for the file
classes.
This will create a rectangular box with text in the center.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Ok, nothing to fancy so far but we still need to create the dog ear for the top right of the icon. To do this we will be using borders to create a triangle which floats above the div
using absolute
and relative
positioning.
One unusual thing about borders is that the browser draws them at an angle. One side of the border is colored for the colour of it’s sides (top, right, bottom, left), and the rest are left transparent. You can set the border width to a higher value e.g. 32px.
1 2 3 4 5 6 7 |
|
And it will output a shape like this.
Using this technique the left and bottom borders can be set to #888
& the top and right to #fff
.
Here we have our shape now all we need to do is place it in the corner of our icon.
1 2 3 4 5 6 7 8 |
|
If you want to learn more about border shapes take a look at this post by Jon Rohan.
First lets rename our .dog-ear
to .file:before
. This will make the element appear directly before the and element with the class .file
.
Now we have our dog ear awkwardly sitting inside of our icon before our text; nobody wants that.
To fix this we will make .file-before
use the absolute
positioning property. The element positioned relative to its first positioned parent element.
1 2 3 4 5 |
|
Well now there in the corner of the page, you can fix this by setting .file
’s position to relative.
1 2 3 |
|
At the moment all of the elements look a bit drab; add some colour.
1 2 3 4 5 |
|
Now we have our icons finished, but they don’t do anything when you interact with them. We can use CSS3 transitions and transform to animate the shape when the user hover and clicks it.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Now for the finishing touch: transitions.
1 2 3 4 5 6 7 8 9 |
|
Now you animations will smoothly transition between one state to another.
View the demo of what we have just created.
]]>config.ru
from the root directory and update the sinatra not_found
route to the following:
1 2 3 |
|
This will redirect to http://yourdomain.com/404/
where the page is found, but we still need to create a page.
To do this use rake new_page[404]
. This will create a new file named index.markdown
in your /source/404
directory:
1 2 3 4 5 6 7 8 9 10 |
|
View my 404 page here.
]]>lorem
lorem
lorem
lorem
lorem
lorem
lorem
lorem
lorem
lorem
lorem
lorem
lorem
lorem
At the moment you are still required to use the Frog 3 Developer platform, where widget can be embeded into pages in a simmilar manner a sandboxed iframe. There is also an issue with handling the height of the xhtml document which is smaller than it should be but behaves correctly in Frog 3. Hopefully Frog will release more API features to FrogOS aswell as the option to request several diffrent calls at once, due to the fact that they are sent individual via a proxy and there is a limit of 50/100 returned values on most commands.
No.
]]>1 2 3 4 |
|
i think its stupid that you can not access games during lessons, what if you have finished?!!!!!!!!!!!
i spot on matti sooperman can laza hulks shorts off wid his eyes all de time
the fact bloonstd4 has gone and i dont have my 50 leap poins is ridiculous im so angry. I WANT MY LEAP POINTS BACK NOW!!!!!!!!!!!!!
Such a disgrace that i have lost my leap points!!
]]>I love my little pony its great ;)
To use Workflowy simply type right on the screen. Write some text and it turns into a bullet point. You can add more bullets and nested bullets, as well as a note which appears underneath attached bullet in a lighter colour.
Bullets can be marked complete, export, copy, and delete any bullet by accessing the bullet menu by clicking on its bullet.
You can sign up for Workflowy for free, but the free version has some limitations. It only allows 500 lists or bullets per month, two choices for typeface (serif and sans serif), and no theme support.
Pro accounts, on the other hand, can be backed up to Dropbox, contain an unlimited number of lists, and have a range of options in themes and typefaces. The Pro account costs $4.99 per month or $49 per year.
Workflowy is a great webapp for creating nested-lists and collaborating with others. With is simplistic design it is easy to use but lacks some useful features.
]]>