UNIX Diary - Psychology, Philosophy, and Licenses
Users browsing this thread: 1 Guest(s)
|
|||
Hi Nixers !
A few weeks ago, Venam proposed some ideas for the forum (link). One of them was the Unix Diary, which is a forum thread where everybody can write a story related to UNIX he lived. It can be anything: How you restored a backup from an old copy, how you found a bug in a package and sent a patch to the maintainer, what your first experience with Linux was, etc... Before posting, be sure that your respect the 6 rules of the UNIX diary: rule 1 Never talk about the UNIX diary rule 2 Never talk about the UNIX diary rule 3 Start your stories by "Dear UNIX diary," rule 4 Provide a quick explanation as the first sentence (eg: Today, I installed FreeBSD), then start writing. rule 5 Do not hesitate ! There is no obligation in the lenght, so do not hesitate to post even if your story can be told in only 6 or 7 lines. I'll write the first one. Let's make this thread live ! Dear UNIX diary, This morning, I fixed my broken mail box. The day was just starting, and a was a bit tired because of the lack of sleep. After having turned my laptop on, I connected to my home server, performed a quick update of the packages installed and fired up mutt to read the mails I received last week. There was a mail of my future employer asking for my exact address. I typed 'r' to reply to this mail and fired up vim to write down the answer. When finished, a quick 'ZZ' brought me to the sending page, where I pressed 'y' to send the mail. And here comes the problem: gpg: command not found What's going on here ?! Anyway, I just wanted to sign the mail, so I decided to toggle PGP of this time, and to fix it later. 'p', 'c', 'y' to send the mail in clear text, and then comes a new error message: "msmtp: Not compiled with TLS". What the hell is that ? What happened ? A few `cd` later, I'm in $HOME/usr/aports/msmtp. A quick "grep" shows that the flag "--with-ssl=gnutls" is used by "./configure" in the APKBUILD. Anyway, Let's rebuild it and see if it works...Mutt still doesn't want to know anything. "msmtp: Not compiled with TLS". Ok, let's try to reinstall gnutls then... I fired up mutt a third time, and now.. MIRACLE ! It works ! It seems that the previous update of gnutls missed, and msmtp failed to link to it at compilation time. But I'll never be sure... Now the mail is sent. But I still need to understand the first message: "gpg: command not found". It was installed before I left last week... Code: ─ g ── ls /usr/bin/ | grep gpg "gpg2" ? What's that ?! After searching the package database, I found that there was two packages: "gnupg" and "gnupg1"... And guess which one was installed diary ? "gnupg", right ! I decided to modify my mutt script to changes occurences of "gpg" to "gpg2", instead of using gnupg1 (for security purpose). I tried to send a signed mail after that, and now everything is back to normal. How fun it was ! |
|||
|
|||
Dear unix diary,
I had fun trying what was in this article on HN about unix wildcard.(http://www.defensecode.com/public/Defens...e_Wild.txt) I customized the shell script z3bra wrote for notifications using bar and realized that when you give "*" has the argument, it prints out files. It was weird at first, because I thought using quotes would remove the globing effect. After reading the article, I found out that the flag "--" would stop interpreting what's after it as arguments. I tried that but it didn't solve the problem. The simple solution was to pipe into sed to replace "*" by "\\*". |
|||
|
|||
Dear Unix Diary,
Today I have been trying to reorganize my music library with a bash script. Personally my experience with bash isn't the greatest, so I havn't be able to do it effectively. Though I am learning!
----
blog: c-jm.github.io twitter: https://www.twitter.com/_c_jm My ambition in life is to be a graybeard by the time I am 65. ---- |
|||
|
|||
goPhir, that's a script that will create and move musics from an artist to a dir.
$1 is the artist and $2 is the dir. Code: mp3info -p "%f -- %a\n" *.mp3 |grep -E "$1" | sed 's/ -- .*//' | sed 's/^/"/;s/$/"/'| xargs mv -t "$2" |
|||
|
|||
Thanks venam!
----
blog: c-jm.github.io twitter: https://www.twitter.com/_c_jm My ambition in life is to be a graybeard by the time I am 65. ---- |
|||
|
|||
Dear Unix Diary,
My Arch box froze in the morning for some unknown reasons. I tried to safely reboot it (SysRq R.E.I.S.U.B) but it didn't respond so I had to turn it off manually (as in pressing the power button). After rebooting I entered my usual captcha (pam_captcha library for anyone wondering) and logged in to my system. I typed "sudo systemctl start network" and got a nice systemd error that it couldn't start the interface. That was unexpected (ironically)! I checked online if anything major had changed for the network module. Whatever, I rewrote it with the *new* (for me) special "@" argument so I can start it in this fashion: "sudo systemctl start network-wireless@wlan0.service" ...and I got the same error. I looked down on my keyboard and saw the light wireless button. It was red! I pressed it and voila everything works again. Way to go Unix :) >implying systemd is Unix... (。-_-。) |
|||
|
|||
Story of my life.
|
|||
|
|||
Dear Unix Diary,
I finally managed to get another 16 MB stick of RAM for my laptop. It now has 32 MB and I can finally boot the latest OpenBSD release without any issues. 5.5 is still as speedy as 3.2 was (yeah, I sort of gave up with the upgrading until I got more RAM) in the text console at least. X.Org isn't too bad, either, but XFree86 was faster (or at least it felt faster on my old as shit Thinkpad 760 EL). I might try NetBSD, too. Most GNU/Linux distros are, obviously, too bloated for my machine to handle. Tiny Core Linux needs 48 MB, and their smaller version (Micro Core) needs 28 MB, but isn't exactly a mainstream OS with lots of packages. Even FreeBSD 9 and 10 need 64 MB or more of RAM. NetBSD and OpenBSD are my only two options, and OpenBSD is the only one that comes on a single floppy. Despite my lack of options, I'm very happy with what I have - it runs elinks, mutt, procmail, OpenSMTPD, vim, emacs, gcc and all of the other programs I use. It's not like I'm being forced to use OpenBSD either, I use it on both my laptops, I dual boot with Windows on my desktop (boo! non-free software! but games are games, and I can only play so much Dota 2 before wanting something that's only on Windows), and it runs my server. Basically, Theo de Raadt is Jesus and I don't know how it's possible to fit all those network drivers, package signing, a kernel with support for a good amount of hardware, and god knows what else onto a single 1.44 MB floppy. Supernatural powers are the only explanation. my website: kaashif.co.uk
|
|||
|
|||
Dear Unix Diary,
I finally have free hands at school so they gave me this old laptop where I installed Arch Linux and replicated my enviroment from home. I'm working on project which has been in my mind more than a year now and I got started with it last summer holidays but didn't have that much time to work on it after all. The project is replacement for Skype and all the other programs which goes to that gatecory. Right now, I have raw version of the server written in Python and it is written so that it is easy to expand. I have very (very) basic fifo client (also written in Python) and earlier to day, I wrote very stupid (but in theory, working) audio communication utilitys for it. It almost worked, but since it just loops over recording and sending-, receiving and playing audio, the PyAudio's backed (PortAudio) overflowed. The audio (and in future the video) cummunication is done with p2p (udp)connection but it might need to be done with client-server-client fallback connection too (muh firewalls). I'll have about 3 months to work on this project at school and I'm planing to learn Go on my spear time and then rewrite it all in Go. P.S. I'm jelly for pizzaroll1's 32MB laptop. P.S.S. I'm still not sure if systemd is good or bad thing for linux and it's future. |
|||
|
|||
(19-08-2014, 04:20 PM)vompatti Wrote: P.S.S. I'm still not sure if systemd is good or bad thing for linux and it's future. As long as the OpenBSD GSoC project to implement all of the systemd APIs ends well, I'd say systemd was a good wake-up call and a good thing for everyone, solving tons of problems. If systemd's APIs stay Linux-only, it's cancer/the devil/as bad as Windows/etc. Although I'm really not sure it matters for me, since the systemd /bin/init replacement binary (you know, /bin/systemd or whatever it is) is probably too big to fit on a floppy, so I'll never be able to use it. Also, your project sounds very cool and ambitious. Good luck with it, I hope you put it up somewhere for us to look at when you think it's presentable. I've never done anything like that, it'd be nice to get a look at something that isn't super bloated and written in C (maybe necessary for speed, but horrible to work with). my website: kaashif.co.uk
|
|||
|
|||
Dear Unix Diary,
I had some problems with vim. I'm using the basic terminal vim (not graphic vim) and I wanted to copy some text. I have a plugin for urxvt that binds some keys so I can copy text when selecting it with the mouse. In this case the key is "ALT" plus "C" to copy or "V" to paste. I remembered setting the same thing in vim so I tried to go in visual mode and entered the key combination. Nothing happened. I repeated that x times until I finally noticed that I was doing something wrong. I checked the pacman logs and saw that vim had been updated some days ago. I thought ok, maybe the configs changed. The configs opened in front of me (related part): Code: map <leader>cc :w !xsel -i -b<CR> hope that it would magically work but it didn't. After browsing the web for around 1h and testing things in the configs I ultimately found the solution. I forgot that I had set the leader key to ',' and not 'alt'. Code: let mapleader="," Thanks a lot for that. Lesson of the story, don't get messed up with different keybinds for different programs but that do the same action. |
|||
|
|||
Dear Unix Diary,
Today I decided that it's time to try ATI's closed source drivers on my laptop with Arch Linux. Since I have old HD 3650 GPU, I had to use old version of catalyst drivers and they required old version of xorg (1.12). After I rolled back my xorg and installed catalyst drivers, xorg didn't even launch. Then I noticed that the drivers were build with 3.12 kernel (which is lts) so I went and installed it from AUR. After that, xorg didnt work and then I remembered that with catalyst, you had to run aticonfig --init to generate the xorg.conf file. Now everything seems to run like it should, just some preformence testing needed. I'll try install the 3.16 kernel tomorrow and see if catalyst dirvers plays nice with it. EDIT: P.S. back to open source drivers and 3.16 kernel we go... |
|||
|
|||
Dear Unix Diary,
Today, I found a way to upgrade all my git ports at the same time. Here I am, in ~/usr/ports, starring at all those -git ports that have changed a lot while I was on holidays. I realise that I have to update the "$sversion" of each of these packages by hand to the latest commit, then update the version, build the package and see if it compiles well... I'm already tired of doing so... As the lazy programmer as I am, I instantly think: "I'll write something to do it for me !". And there I go. `prtup` is alive ! It allows me to update the "Pkgfile" of a CRUX port to the latest git commit. I can see the end of the tunnel... Now, how to check if the latest commit still compiles ? My fingers are dancing on the keyboard, each of them knowing exactly where to type: Code: for DIR in *-git; Now the screen vomits characters... Output of git pull, prtup, pkgmk, ... all those programs are updating and compiling under my eyes. It's finished. I'm affraid while I'm typing: Code: ─── cat ~/usr/ports/failed.txt Victory ! Everything is now up to date ! I then had to push the changes to publish them. |
|||
|
|||
Dear Unix Diary,
I have finally achieved what i want to do with my system, and started re-learning how to code in python. I hopefully will be able to contribute to the forum by helping with projects, tutorials, etc. P.S. {Rainbow Prompt ZSH} http://blog.fujimuradaisuke.com/post/107...mpt-in-zsh < like the prompt i used for My Current Setup ^ Thought I'd contribute to the nix society |
|||
|
|||
Dear Unix Diary,
I didn't really accomplish anything practical in the last few days, at least not something that would be worth mentioning in this thread. However I spent a great of time thinking about Darknets, alternative networks, VPN-networks, meshed networks and so on, getting more and more fascinated the more I read about it. There are too many projects out there to name them all in one post, one of the most fascinating ones being Decentralized network 42, sort of an Internet inside the Internet, with it's own AS numbers and own IPv6 addressspace, routing is done in between the nodes with whatever you like, most people run OpenBGPd, but there are also some people that use full-blown-juniper-devices. Combinating that with an approach like RetroShare I came of with that being a nice project for myself to be accomplished over time. Sort of build an invitation-only-VPN-network (tinc seems to be software that was designed with that idea in place), with your own domain-name-system, your own certificate authority and so on, enabling private and cryptographically secure communication. You could fileshare over that network, play games, send mails that won't even be seen on the normal Internet on so on. Dear diarists (I made an abomination out of the word 'barista'), does that sound totally retarded or even remotely interesting? |
|||
|
|||
(21-08-2014, 12:55 PM)shtols Wrote: Dear diarists (I made an abomination out of the word 'barista'), does that sound totally retarded or even remotely interesting?Indeed, it really is. The interesting thing about this thread is that you might find what you write boring but it's nice to read what others do. |
|||
|
|||
Dear Unix Diary,
I copied my music from my Arch box to my Debian box. The way I did it is simple, I linked the music dir from my arch box to /srv/httpd and made it readable. I edited my httpd conf to allow faster download because I set the limit to 1MBs using rate-limit. Code: <Location /> Code: sudo systemctl start httpd I have an addon in Firefox called "Flashgot" that lets you download multiple files using an external download manager like axel or aria2. This is the fastest way I know to transfers music. The reason why I am transferring the music to the other laptop is because its battery last longer and I want to use it as a walk-man when I'm at university. This also got me started on a new project that I'll call walk-man |
|||
|
|||
Dear Unix Diary,
Yesterday, Unix helped me (again) doing my job in an easier and faster way. At work, we bought a new check in machine, that comes along with RFID cards. We also bought a card printing machine for the occasion. My job was then to print the logo of the company, with the name, surname and ID of the 84 persons that are going to use these cards. The original approach would have been:
That's not what Unix taugh me, sorry. I started vim, and created a small script using some imagemagick binaries (convert + composite) that create the image from 4 parameters: $_login (first letter of the surname + 7 letters from the name) $_name, $_surname and $_id. I then asked the HR departement for a CSV export of the names/surname of the persons I had to create a badge for, and exported a list of the login names + IDs from the checkin software. I now had 2 lists: people.csv (name + surname), and checkin.csv (id + login). First, I used Vim's macros to create the login of each person in people.csv. Now in the two lists, my first column is the login of each person. And here comes Unix... Code: join <(sort people.csv) <(sort checkin.csv) -t, | sed 's/,,/,/g' > final.csv Code: #!/bin/sh And here I am ! 84 card images created in half an hour, instead of having to edit 84 times the same image in paint, and changing the names by hand. Thank you, Unix ! |
|||
|
|||
Dear Unix Diary,
I got that idea to use my laptop as a walkman. The goal was to be able to close the lid, listen to music with earphones, and when I remove the earphones the music would stop and the laptop would suspend. To achieve this I wrote a simple daemon state machine that has commands attached to the transition of one state to another, see it on github http://github.com/venam/Walkman. Code: """ The next step was to be able to stop the music and suspend. I'm using this script on my Debian box, which uses pm-utils to control the power (suspend, hibernate, etc..). Only root had access to those commands so I edited /etc/sudoers to allow my user to suspend. Code: stick ALL = NOPASSWD: /usr/sbin/pm-suspend I'm using plain mplayer to play my music and I found that this works really well: Code: mkfifo /tmp/mplayer-control; Code: echo "pause" > /tmp/mplayer-control Finally, my "jack_out_closed_lid.sh" looks like: Code: #!/bin/sh |
|||
|
|||
dear unix diary,
today was a big day. i installed arch on a mac book air on the first try! background for peeping toms that may be reading my unix diary, i'm an avid mac hater. i really don't like the form factor of all their proprietary hardware. the terrible, brain numbingly flat colors on white ui of everything. the whole hipster asteic of the "apple brand". that's not what i'm looking for in a computer. i'm looking for something free, something functional, and something that i can configure the way i like. *ahem* so i recently got a new job. when i was in their office on the final interview i noticed everyone was using a mac. i told them i was a nixer, and would turn down the job if i was forced to use a mac. the guy told me that they "give out macbook air laptops out to all developers. if i wanted to hack it up and install linux on it, that was fine. as long as i could get the job done." so my first week on the job i used the laptop as a vanilla mac. boy was that a horrible experience. i now have complete reassurance as to why i'm a nixer. so this weekend i installed arch on it. Code: cgdisk /dev/sda after that it was just a matter of installing x666 packages, syncing my dotfiles, symlinking them into place with gnu stow. when i was finally finished i sat down on the couch and my wife looked at me a smiled. i asked her what the "smirk" was about, and she reminded me how i installed and configured her mint laptop in 15 minutes. and proclaimed: "arch - linux for crazy people." |
|||
|
|||
Dear Unix Diary,
I decided to set up gitolite on my server. I had already done this once before, a few years ago, but that was on a different OS, so things could be different (I now use OpenBSD for everything). The first step was obviously to get gitolite. First, I made a git user with home directory and cloned gitolite there Code: $ sudo useradd -m git The installation procedure for gitolite was pretty simple - you need an admin's SSH public key first, though, so I got that first, then ran gitolite's install script to install the gitolite script into /usr/local/bin. Code: (on my laptop) $ scp ~/.ssh/id_rsa.pub server:~/kaashif.pub So now I have the gitolite script, I need to actually set up the repos and give myself access. Code: $ sudo -u git -i So now there is an .ssh/authorized_keys, repositories directory and .gitolite.rc in /home/git. Great! At this point, it's possible to clone and push to repos. So let's try that! Code: (on my laptop) $ git clone git@server:testing.git That's what I like to see! I really don't like having all my repos in one place, so I need some way to sync my repos between my server and GitHub (could also be BitBucket, Gitorious etc, but this is the most convenient). Luckily, there's a way to do that with git hooks! I'll just set up gitolite to add a post-receive hook to every repo to push to the repo of the same name on GitHub. Code: $ cat >> ~git/.gitolite/hooks/common/post-receive << EOF Now every time I push to a repo, I get something like this: Code: $ git push That bit in the middle, where the lines start with "remote:" is my server pushing the repo to GitHub. Now I'm not completely reliant on GitHub, which has gone down in the past. In the future, I might switch to Gitorious or GitLab, because...GitHub isn't run on free software. Shocking, I know. my website: kaashif.co.uk
|
|||
|
|||
I really love the idea of using hooks to mirrors pushes to another place ! Thanks for the idea !
|
|||
|
|||
Dear Unix Diary,
Today I have had the epiphany to why I hate the Windows world so much, and as such to why I have become a Free and Open Source software advocate. I have just recently started school to become a software engineer. I have moved into the college dorms, and as such was prompted to go to the Orientation. Now I do not get me wrong I loved the orientation full heartedly. It was full of people that I enjoyed talking to, and my professors were great. The only problem was as they were going through the different slides and such. I was told that it was a Windows centric environment. Now part of the course is learning about Linux development,and personally I am looking forward to it. But the problem is I do NOT have a Windows machine to run for this course. I have been trying to torrent things, and get licenses for the last few hours to no avail. I will keep trying, but I think this proves to all of us that being a Nixer is much more about simplicity and FUN. It is just much easier to install a unix than it is to install a MS based machine. And this is why I will continue to advocate free and open source software, with the Unixes being the prime example.
----
blog: c-jm.github.io twitter: https://www.twitter.com/_c_jm My ambition in life is to be a graybeard by the time I am 65. ---- |
|||
|
|||
in the states (i'm not sure where you live) most schools have a windows license program. you can get a copy for free of extremely low cost. ask one of your professors about it.
|
|||
|
|||
Dear Unix diary,
These days I've learned and done quite a lot of things. I finished 2 books, "Extreme Perl" and "Learn C The Hard Way", and started reading 2 others, one related to programming "Practical PostgreSQL" and the other unrelated. PostgreSQL is extremely nice, I had previously bad experiences with dbms but this is changing my mind. If you remember I wrote a "walkman" script to listen to music from my laptop while it's closed and automatically stop it when I unplug the earphones, I did that because I had no other way to listen to music. However, recently, I just got a brand new Android device. (ノ´ヮ´)ノ*:・゚✧ The first day I had fun customizing the interface, I installed Numix icons, and Apex launcher (Yeah, I know but they do look sweet on cellphones). The second day I noticed that, after someone calls me, even when I set the ringtone in the audio option, it goes back to the default one. I tried resetting to factory default and some other things in vain. Then before sleeping I got this idea: "If it doesn't work globally make it work locally". I opened the contact list and tried setting a ringtone for a single individual... it worked and overrides the default one. After that I created a group with everyone in it and installed an application that allows me to directly set the ringtone for a group. What a nifty hack! I had other nice moments this week with the phone. I installed qpython, tried the default programs, and tested if the ricer project program could run on the phone. It did but the screen is too small to be able to read anything. In the bunch of programs I installed I have telegram, it's an IM. I'm used to easily paste emoji (https://github.com/venam/emoji) from the keyboard and I wanted that for my phone. I knew there already was some """apps""" on the store to do that but I wanted to port what I wrote to my cellphone. Thus, I did: I really hope this ricer project comes out soon. |
|||
|
|||
(30-08-2014, 01:47 AM)venam Wrote: I finished 2 books, "Extreme Perl" and "Learn C The Hard Way", and started reading 2 others, one related to programming "Practical PostgreSQL" and the other unrelated. How was 'Extreme Perl'? I've read 'Learning Perl' and am on the next book in the series, 'Intermediate Perl', which I'm enjoying, but it'd be cool to get a viewpoint from a different author as well. Plus how can you not be enticed by the prospect of extreme Perl. |
|||
|
|||
(30-08-2014, 09:56 AM)kirby Wrote:It's a project manager book about XP (Extreme Programming) applied to Perl. It was very interesting but it wasn't the extreme I was looking for. Even though, it was a very good and useful read, I recommend it for anyone that's interested in those kind of things.(30-08-2014, 01:47 AM)venam Wrote: I finished 2 books, "Extreme Perl" and "Learn C The Hard Way", and started reading 2 others, one related to programming "Practical PostgreSQL" and the other unrelated. |
|||
|
|||
Dear Unix Diary,
Today I had a lot of fun hacking the computers in the library at university. I noticed that when the computer boots there's something like the default X-like cursor that appears and then turns into the windows one. I entered some system rescue commands ctrl+alt+sysRq REISUB and it worked (rebooted)! This means that it was running the Linux kernel underneath. So, I tried going into a TTY but it didn't work, instead it put me inside a kind of Openbox session with a very restrictive menu. I found out that it was really openbox and that it ran windows inside Firefox with a citrix plugin. It was interesting to check the file system without a browser and trying to execute commands without any terminal emulator. Actually, I wasn't able to execute anything, I was just able to browse the filesystem using the browser. |
|||
|
|||
Dear Unix Diary,
Today I learned how to use the Mechanize library in Python and wrote a scraper with it. There is a website which everybody constantly checks the exam results and everybody asks each other "how their results were", comparing, etc... I discovered a little URL trick which allowed me to look at everybody's results. I wrote a script to automatically download everybody's exam results. Managed to freak some friends out. :) |
|||
|
|||
(09-09-2014, 12:21 PM)venam Wrote: Today I had a lot of fun hacking the computers in the library at university... next time try https://addons.mozilla.org/En-us/firefox...-terminal/ |
|||