Newly Blog


  • Home

  • Tags

  • Categories

  • Archives

  • Search

Install Ubuntu under Windows

Posted on 2022-06-16 | In OS

First check whether the file system is MBR+BIOS or GPT+UEFI. Nowadays, most computers are GPT+UEFI, so we only talk about GPT+UEFI here.

  1. Download Ubuntu iso and make a U-installer using rufus. When using rufus, notice the option of GPT+UEFI.

  2. Start the computer from U-installer. The most important thing is making a proper partition for Ubuntu. At least make three partitions: / (ext4), swap (2G), reserved for UEFI (1G). If necessary, make another partition /home. Note that ubuntu UEFI should be on the same disk as Windows UEFI.

BIOS

Posted on 2022-06-16 | In OS

If something is wrong when attempting to enter the BIOS, try the following approaches:

  • press F2, F12, ESC, DEL
  • change the cable, adaptor, interface, etc (hardware reason)
  • update BIOS to the latest version
  • for Windows10, settings->recover->firmware
  • close fast-boot option in the operation system because fast-boot may directly skip the BIOS stage

Ubuntu SSH

Posted on 2022-06-16 | In OS

Sometimes Ubuntu fails to connect VPN. Open the PPTP advanced options, uncheck EAP and check MPPE.

Ubuntu VNC

Posted on 2022-06-16 | In OS

Server:

  1. Install VNC server under Ubuntu: $sudo apt-get install vnc4server

  2. Configure the VNC server, $vi ~/.vnc/xstartup
    change the style to gnome-session & in the last line.

  3. start the VNC server: $vncserver

Client:

  1. Install VNC client under Windows: use http:\IP:580$ID to log in.

Tips: For 10060 error, run $iptables -F to close firewall.

Ubuntu SSH

Posted on 2022-06-16 | In OS

Server:

  1. run $sudo apt-get install openssh-server

  2. run $ps -A |grep ssh.
    If there is sshd, then ssh-server has been started,
    else run $sudo /etc/init.d/ssh start to start ssh-server.

Tips: To stop ssh-server, execute $sudo /etc/init.d/ssh stop.
To modify the configuration, edit /etc/ssh/sshd_config.

Client:

ssh-client is usually already installed. If not, run
$sudo apt-get install openssh-client.

After installing ssh-client, run $ssh username@192.168.1.112.

Remote Folder Mount

Posted on 2022-06-16 | In network

Mount Linux folder under Linux

1
2
sudo apt-get install cifs-utils
sudo mount -t cifs -o username=XXX,password=XXX //10.70.1.82/src_dir tgt_dir

Mount Windows folder under Windows

add network device

Mount Linux folder under Windows


  1. Install Dokan and WinSSHFS: for Win10, recommend 1.6.1.13 win-sshfs and 1.0.3 Dokan.

  2. Open WinSSHFS, fill in the drive name, host, port, username, password, directory. The other entries can be left blank.

Remote Desktop Connection

Posted on 2022-06-16 | In network

Remote Connect to Ubuntu in Windows


a) cmdline: putty, secureCRT

b) window:

xrdp: http://jingyan.baidu.com/article/8ebacdf0cdc64949f75cd555.html

1
2
3
4
5
sudo apt-get install xrdp
sudo apt-get install vnc4server
sudo apt-get install xubuntu-desktop
echo "xfce4-session" >~/.xsession
sudo service xrdp restart

xrdp mm process login response login failed
When this error occurs, try the following methods, followed by “sudo service xrdp restart”.

  1. delete vnc processes

    1
    2
    ps -ef | grep vnc
    kill -9 XXX
  2. delete X sessions, .xrdp, .X11-unix, .X0-20

    1
    cd /tmp && ls -a
  3. modify “MaxSessions” number

     sudo vim /etc/xrdp/sesman.ini
    

kinit

Posted on 2022-06-16 | In network

Credential ticket for principles without need to type in password, from MIT Kerberos.
A ticket has ticket lifetime and renewable lifetime.
Ticket lifetime is shorter than renewable lifetime.
For liniu@ANT.AMAZON.COM, the default ticket lifetime is 10h (resp., 6h40m) when using kinit -l (resp., -r), why?

From KDC server side:

  1. modify the max_life in /etc/krb5kdc/kdc.conf and restart the KDC daemon /var/kerberos/krb5kdc/kdc.conf
  2. Via “kadmin”, changed the “maxlife” for a test principal via “modprinc -maxlife 14hours “

From Kerberos client side:
modify in /etc/krb5.conf

In fact, the ticket lifetime is the minimum of the following values:

  • max_life in kdc.conf on the KDC servers.

  • ticket_lifetime in krb5.conf on the client machine.

  • maxlife for the user principal.

  • maxlife for the service principal “krbtgt/[REALM_in_CAPS]”

  • requested lifetime in the ticket request. For example: kinit -l 14h

  • maxlife for the AFS service principal “afs/[realm_in_lower_case]”, if you want to increase the lifetime of your AFS token.

commonly used commands:

1
2
klist
kdestroy

An example:

Ticket cache: FILE:/tmp/krb5cc_4126574_GM19Ct
Default principal: liniu@ANT.AMAZON.COM

Valid starting Expires Service principal
08/18/16 08:13:20 08/18/16 18:13:20 krbtgt/ANT.AMAZON.COM@ANT.AMAZON.COM

time format is like 4d5h30m

1
2
3
4
5
6
kinit -l lifetime //request a ticket with ticket lifetime of lifetime
-r renewable-life //request renewable ticket with a total lifetime of renewable-life
//I'm still unclear about the difference between -l and -r
-f //forwardable
-F //non-forwardable
-R //requests renewal of the ticket-granting ticket. No need for password but must be within ticket lifetime instead of renewable lifetime.

Automatically renew tickets: Since you need to renew a ticket before its ticket lifetime expires, the easiest way to renew tickets is to put it in a cron job since renewing a ticket is non-interactive.

Run ‘crontab -e’ to edit the file in /var/spool/cron/. Use ‘crontab -l’ to see the file.

1
2
3
4
5
6
7
8
9
# Renew the kerberos ticket every 8 hours, this will extend the lifetime of 
# the ticket until the renew lifetime expiers, after that this command will
# fail to renew the ticket and you will need to interactively
# run `kinit -f -l 86400 -r 2592000`
#
# minute hour day_of_month month weekday command
59 00,08,16 * * * /usr/kerberos/bin/kinit -R
//59 minute, 0 or 8 or 16 o'clock, any, any, any, the command to be executed is '/usr/kerberos/bin/kinit -R'
//some short notations: 1-3 means 1,2,3; */15 means every 15

Key Notes:

  1. do not use sudo kinit

  2. when no credential ticket can be found, add -c $KRB5CCNAME, where KRB5CCNAME is the environment variable recording the path of credential ticket.

GitHub+Hexo for Personal Blog

Posted on 2022-06-16 | In network
  1. Preinstallation
    • install Node.js https://nodejs.org/en/download/
    • install git https://git-scm.com/download/win
    • install hexo: right click “git bash here”, $npm install hexo-cli -g
  2. SSH keys
    • check whether ssh exists $cd ~/.ssh. If not, $ssh-keygen -t rsa -C "your_email@example.com" to generate key file
    • get the SSH key $cat ~/.ssh/id_rsa.pub
    • create the key in github: account setting->SSH
    • check the SSH key $ ssh -T git@github.com
  3. create an empty folder as Hexo folder

    1
    2
    3
    $hexo init
    $hexo generate
    $hexo server

    local test: http://localhost:4000/

  4. deploy local Hexo folder

    • in Hexo folder, modify the _config.yml file as follows,

      1
      2
      3
      4
      deploy:
      type: git
      repository: $(SSH address from github)
      branch: master
    • in Hexo folder, install the deployer by $npm install hexo-deployer-git --save

    • type $hexo g and $hexo d, or $hexo d -g.
  5. change theme: go to the folder “/themes” and git clone https://github.com/iissnan/hexo-theme-next. config the theme in the file “/themes/XXXX/_config.yml”.
  6. local search

    • $npm install hexo-generator-searchdb --save
    • in the site _config.yml file, set local_search: enable: true. paste the following lines anywhere.

      1
      2
      3
      4
      5
      search:
      path: search.xml
      field: post #post, page, all
      format: html
      limit: 10000
  7. add new page for some subcategory (e.g., write): in the theme _config.yml file

    1
    2
    menu:
    write: /categories/write
  8. add social links: in the theme _config.yml file

    1
    2
    3
    4
    # Social links
    social:
    GitHub: https://github.com/ustcnewly
    Linkedin: https://www.linkedin.com/in/li-niu-b0905133/
  9. latex:

    • install $npm install hexo-math --save and restart Hexo
    • in the theme _config.yml file, modify as follows (notice that cdn may change)

      1
      2
      3
      4
      5
      # MathJax Support
      mathjax:
      enable: true
      per_page: false
      cdn: //cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML
    • to address the conflict between MathJax and Hexo

      1
      2
      $npm uninstall hexo-renderer-marked --save
      $npm install hexo-renderer-kramed --save
  10. push posts to the top

    • $ npm install hexo-generator-index-pin-top --save.
    • for the target post, add top: true in Front-matter, or top: 10 with larger number indicating higher priority.
  11. insert code block

    1
    2
    3
    {% codeblock lang:python %}
    code snippet
    {% endcodeblock %}
  12. insert image

    1
    <img src="http://bcmi.sjtu.edu.cn/~niuli/github_images/t0IXoZq.jpg" width="50%" height="50%">

Tips:

  1. If something is wrong with the representation and hard to tune, you can try deleting extra spaces or adopting an alternative format (e.g., two code block formats).

  2. Case sensitive: sometimes you switch between capital letter and small letter, which may lead to 404 not found errors.

    • set ignorecase as false in the file .deploy_git/.git/config
    • clean the folder .deploy_git
    • hexo clean and hexo d -g

Vote Aggregation

Posted on 2022-06-16 | In paper note

We use the Dawid-Skene vote aggregation algorithm to obtain the ground truth label for each snippet, since this is often considered ‘gold standard’ for aggregation in practice. DawidSkene is an unsupervised inference algorithm that gives the Maximum Likelihood Estimate of observer error rates using the EM algorithm.

1) Using the labels given by multiple annotators, estimate the most likely “correct” label for each video snippet.

2) Based on the estimated correct answer for each object, compute the error rates for each annotator.

3) Taking into consideration the error rates for each annotator, recompute the most likely “correct” label for each object.

4) Repeat steps 2 and 3 until one of the termination criteria is met (error rates are below a pre-specified threshold or a pre-specified number of iterations are completed).

1…91011…24
Li Niu

Li Niu

237 posts
18 categories
112 tags
Homepage GitHub Linkedin
© 2025 Li Niu
Powered by Hexo
|
Theme — NexT.Mist v5.1.4