text:
Q: How to remove startup terminal "GNU GRUB version 2.02" on Linux Mint 20 cinamon? I installed Linux Mint 20 on a clean drive, but I keep getting this terminal on startup.
                             GNU GRUB  version 2.02

   Minimal BASH-like line editing is supported. For the first word, TAB
   lists possible command completions. Anywhere else TAB lists possible
   device or file completions.

grub> _

I'm new to Linux and have no idea what it is for, but I never saw it on Mint 19 before. I can skip it with "exit" command, but I'd like to avoid it completely. I found many discussions on this topic, but they were all talking about dual booting issues, which doesn't apply in my case.
I tried editing this grub config file via:
xed admin:///etc/default/grub

And this is it's current state:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0.0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0.0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

One comment mentioned "/boot/grub/grub.cfg" so here it is:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${initrdfail}" = 2 ]; then
   set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
   set next_entry="${prev_entry}"
   set prev_entry=
   save_env prev_entry
   if [ "${next_entry}" ]; then
      set initrdfail=2
   fi
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function initrdfail {
    if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
      if [ -z "${initrdfail}" ]; then
        set initrdfail=1
        if [ -n "${boot_once}" ]; then
          set prev_entry="${default}"
          save_env prev_entry
        fi
      fi
      save_env initrdfail
    fi; fi
}
function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  9352d93a-2417-49fe-8ed3-02e348bc18ec
else
  search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=hidden
    set timeout=0
  # Fallback hidden-timeout code in case the timeout_style feature is
  # unavailable.
  elif sleep --interruptible 0 ; then
    set timeout=0
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="${1}"
    if [ "${1}" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Linux Mint 20 Cinnamon' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos5'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  9352d93a-2417-49fe-8ed3-02e348bc18ec
    else
      search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
    fi
    linux   /boot/vmlinuz-5.4.0-42-generic root=UUID=9352d93a-2417-49fe-8ed3-02e348bc18ec ro  quiet splash
    initrd  /boot/initrd.img-5.4.0-42-generic
}
submenu 'Advanced options for Linux Mint 20 Cinnamon' $menuentry_id_option 'gnulinux-advanced-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
    menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-42-generic' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-42-generic-advanced-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  9352d93a-2417-49fe-8ed3-02e348bc18ec
        else
          search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
        fi
        echo    'Loading Linux 5.4.0-42-generic ...'
        linux   /boot/vmlinuz-5.4.0-42-generic root=UUID=9352d93a-2417-49fe-8ed3-02e348bc18ec ro  quiet splash
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-5.4.0-42-generic
    }
    menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-42-generic (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-42-generic-recovery-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
        recordfail
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  9352d93a-2417-49fe-8ed3-02e348bc18ec
        else
          search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
        fi
        echo    'Loading Linux 5.4.0-42-generic ...'
        linux   /boot/vmlinuz-5.4.0-42-generic root=UUID=9352d93a-2417-49fe-8ed3-02e348bc18ec ro recovery nomodeset
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-5.4.0-42-generic
    }
    menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-26-generic' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-26-generic-advanced-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  9352d93a-2417-49fe-8ed3-02e348bc18ec
        else
          search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
        fi
        echo    'Loading Linux 5.4.0-26-generic ...'
        linux   /boot/vmlinuz-5.4.0-26-generic root=UUID=9352d93a-2417-49fe-8ed3-02e348bc18ec ro  quiet splash
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-5.4.0-26-generic
    }
    menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-26-generic (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-26-generic-recovery-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
        recordfail
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  9352d93a-2417-49fe-8ed3-02e348bc18ec
        else
          search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
        fi
        echo    'Loading Linux 5.4.0-26-generic ...'
        linux   /boot/vmlinuz-5.4.0-26-generic root=UUID=9352d93a-2417-49fe-8ed3-02e348bc18ec ro recovery nomodeset
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-5.4.0-26-generic
    }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_linux_zfs ###
### END /etc/grub.d/10_linux_zfs ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

"lsblk" command:
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232,9G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0     1K  0 part
└─sda5   8:5    0 232,4G  0 part /

======================================
UEFI menu had 4 options: Ubuntu, Ubuntu, SSD and some kind of setup. First Ubuntu option starts up my OS in a regular way, first showing this GRUB menu, then I enter "exit", and then Mint loads. Second Ubuntu, gives me 2 GRUB menus, one after another, and then Mint loads. Choosing SSD will bypass these GRUB menus (won't show them at all), which is my desired outcome.
SOLUTION: in BIOS, I just moved SSD to be a first boot option and GRUB console is no more!

A: Since you recently installed a new version of the OS, the 'console' you see might be an obsolete installation of GRUB which is not maintained by your currently booted system. You would need to adjust the system's boot order settings to avoid the obsolete instance of GRUB, and possibly then delete it from the system.
Try running sudo efibootmgr -v and copy & edit the output into your original question.
If your system boots in UEFI-style, you might have a minor Secure Boot-related issue: the installation scripts may have initially created a "plain" boot entry for GRUB without the Secure Boot shim bootloader, and another boot option with the Secure Boot shimx64.efi bootloader. If Secure Boot is in effect, the "plain" GRUB won't be able to load any executable code because GRUB modules won't use the Windows PE executable format recognized by Secure Boot. As a result, it drops into GRUB shell prompt.
Once you exit the "plain" GRUB, another boot entry starts GRUB through the shimx64.efi bootloader, which allows GRUB to work in presence of Secure Boot.
If this is the problem you're having, you'll just need to identify the boot entry that uses the shimx64.efi and make it the first in the firmware boot order. The efibootmgr command can do that.
It might even be that an old boot entry from the previous Mint 19 installation is still present and causing the confusion.
In the sudo efibootmgr -v output, the first line should be BootCurrent: XXXX where XXXX will be a four-digit hexadecimal number. It identifies the boot entry that booted the currently running OS. If its number is not currently the first on the BootOrder: line of the output, you will need to fix it.
So, if the sudo efibootmgr -v output will look something like this:
BootCurrent: XXXX
Timeout: 1 seconds
BootOrder: YYYY, XXXX, ZZZZ, <...possibly other numbers...>
BootXXXX* Mint 20 <....> File(\EFI\Mint\SHIMX64.EFI)
<other boot entries...>

Here BootXXXX is not currently the first one in BootOrder, so you will need to make it the first one, like this:
sudo efibootmgr -o XXXX,YYYY,ZZZZ,<any other Boot numbers listed in the original BootOrder line...>

Note that while the original BootOrder: line has spaces after the commas, you should not use spaces when specifying the boot numbers for the sudo efibootmgr -o ... command.

A: Apologies, been a while since I've looked at GRUB in particular.. That being said, you can do exactly the same as I would have to. Read through plaintext files in /boot and the GRUB documentation online. It's especially important if your new to linux to do.
Your /etc/default/grub looks the same as mine.
All I can think of is there's another instance uncommented of #GRUB_TERMINAL="console" in /boot/grub/grub.cfg or your missing menu entries in that file.
Entries and menu labels can all be in /boot/grub/grub.cfg or that file will point to multiple other plaintext files with the information.
You should see menu entries in a similar format:
menuentry "Start Linux Mint 18.2 Cinnamon 64-bit" {
set gfxpayload=keep
linux   /casper/vmlinuz  file=/cdrom/preseed/linuxmint.seed boot=casper iso-scan/filename=${iso_path} quiet splash --
initrd  /casper/initrd.lz

Other relevant files to GRUB and booting are usually located within the same directory as the splash image file or nearby.
You can try:
sudo find /boot -type f -iname *.png


text:
Torment: Tides of Numenera update adds a new companion and the 'Voluminous Codex'
By Andy Chalk
'Servant of the Tides' is free for all players.
InXile's Torment: Tides of Numenera did something that I didn't honestly think it could: It succeeded as a "spiritual successor" to the great RPG Planescape: Torment. It wasn't without flaws, obviously, but impressive "both as a follow-up to a beloved RPG and as the digital debut of a fascinating setting," as we said in our review. The Servant of the Tides update released today on Steam (and coming soon to GOG and other platforms) promises to make it even better with the addition of a brand new companion, fixes and balance changes, and the Voluminous Codex.
The new character, Oom, "is a new stretch goal character who you will discover on your journey through the Ninth World," inXile explained. "Oom features its own companion quest, 'Servant of the Tides,' its own unique abilities for use in combat and exploration, and interactions with various characters throughout the game." The Voluminous Codex is also a stretch goal feature that "unlocks lore and character entries as you explore the game world."
The Servant of the Tides update is free for all players, but inXile strongly recommended that players start a new game before diving into the update, "as the new content is best experienced from the start of the game (and Oom must be added to the party during Sagus Cliffs)." Highlights from the patch notes are available below, while the full notes—with a warning that they may contain spoilers—are available at inxile-entertainment.com.
New Companion: Oom. Oom is a new stretch goal character who you will discover on your journey through the Ninth World. Oom features its own companion quest, "Servant of the Tides", its own unique abilities for use in combat and exploration, and interactions with various characters throughout the game.
Added the Voluminous Codex. This new stretch goal feature unlocks lore and character entries as you explore the game world.
Added a new user interface element to the Inventory Screen which makes it easier to view companion attitudes toward the Last Castoff.
Added a new user interface element to the Common Panel which better messages the Last Castoff's current Legacy.
Players can now advance to Tier 5 and Tier 6, allowing players to spend their Experience Points more in the later game. This also allows the Last Castoff to gain abilities from other character types.
Various balance improvements to Crisis gameplay throughout the game.
Various balance improvements to exploration gameplay, especially in the later stages of the game.
Added zoom in/out key binding to the Options Menu. This allows players without mouse wheels to remap the zoom functions.
Cypher Sickness initialization is now delayed until after Equipment initialization. This should prevent issues where loading a save file where equipment was preventing a cypher explosion would cause input to freeze up (fix may not be retroactive).
Remove all non-gameplay Fettles from companions when they're removed from the party. This should prevent certain freezes from occurring.
Numerous small UI fixes.
Numerous small quest fixes.
Today's best Torment: Tides of Numenera deals
124 Amazon customer reviews (opens in new tab)
Andy Chalk
Andy has been gaming on PCs from the very beginning, starting as a youngster with text adventures and primitive action games on a cassette-based TRS80. From there he graduated to the glory days of Sierra Online adventures and Microprose sims, ran a local BBS, learned how to build PCs, and developed a longstanding love of RPGs, immersive sims, and shooters. He began writing videogame news in 2007 for The Escapist and somehow managed to avoid getting fired until 2014, when he joined the storied ranks of PC Gamer. He covers all aspects of the industry, from new game announcements and patch notes to legal disputes, Twitch beefs, esports, and Henry Cavill. Lots of Henry Cavill.
16 games we think could be surprise hits in 2023

redpajama_set_name: RedPajamaCommonCrawl


Investing in property is one of the best ways to earn income and capital gains. It's not only one of the safest opportunities to invest your money but also it's the best way to increase your wealth. When we talk about investing in property we must talk about property funds. There are two types of property funds – direct and indirect.
Direct property fund involves buying commercial real estate such as office blocks and renting them out to earn rental income. The investor can also benefit from capital appreciation as well. Indirect property fund is all about investing in shares of the companies that operate in the property market. For more information about these two types of property funds, you can reach out to Stamford Capital Investment brokers.
You can leverage property funds to earn capital gains. And that's what this article is about. So let's see some of the best ways to earn profits from property investments.
There's nothing better than buying a property at a price that's under the market value. Think about buying a property in quick sales, foreclosures, and try employing your best negotiation skills while you're at it.
One of the best ways to earn income from your property investment is to rent the property out. This is one of the main reasons why people are into property investments – to earn rental income. And if you're able to rent your property to a business, then you can enjoy earning higher rents.
In order to earn a capital gain from property investment, you must sell the property at a higher price, i.e. above its market value. There are ways in which you can stage your property in order to attract buyers and sell them at a higher price.
Try employing leverage in real estate transactions. Even if you mortgage a property in order to earn rental income and you put 15 percent down on your property, you will receive rental income on the basis of 100 percent of your property's value. If your property is worth $100,000 and you charge $800 for rent, which includes $500 for taxes, fees, and mortgage, then you can still earn $300 profit every month. That's $3,600 a year. It's a good return on your $15,000 down.
If you have managed to buy a commercial property or an office block, then it's wiser to rent smaller units to different businesses. This way you can earn more rent than you can earn if one business rents the whole place. Same is the case with residential property. You have the option of dividing a residential property into a duplex and charging more rent for it.
With indirect property funds, property investors do not have to go through such complications. All they have to do is just sell their shares in the funds if they want to earn capital gains.


The Gospel according to John is chock full of "I AM" statements. Jesus never got around to saying, "I am the LEGO," but he might have if the Gospel had been set in modern-day Scandinavia. Proving that you don't need marble to have a giant sculpture of Jesus in your church, one Stockholm parish has used local materials in a remarkable way.
Parishioners in a Stockholm church now have an appropriate depiction of the Messiah; a 6-foot tall LEGO statue of Jesus. The 30,000 piece statue was unveiled on Easter Sunday to a capacity crowd of 400 parishioners. The statue took the work of 4o volunteers a total of 18 months to complete, and is a replica of the Christus statue on display in Copenhagen. It is completely comprised of LEGOs [sic] donated to the church; and though it has the stone-like outside appearance of white LEGOs, it is contains a combination of colors on the inside of the statue.
Read more here. h/t The Blingdom of God.
Previous story The Queen of Heaven, sung by a Queen of Scandal?


text:
Q: How to customized the ListView height in android? I am a beginner to android. I want to display a customized list view which contains a number. I customized my ListView size(android:layout_height="50dp"). But when I run the app it display the size largely which am not given. I don't know how to fix this problem. Please anyone help me.
activity_topic_list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.yuvi.secrectsforhappylife.TopicList">

    <ListView
        android:id="@+id/topiclist"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

titledesign.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:background="@drawable/storylist">

    <TextView
        android:id="@+id/topictitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/title"
        android:textSize="12pt"
        android:textStyle="bold"
        android:textColor="@android:color/background_light" />
</RelativeLayout>

TopicList.java
public class TopicList extends AppCompatActivity {

    String topic[]={"one","two","three","four","five","six","seven","eight","nine","ten"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_topic_list);

        ListView listView=(ListView)findViewById(R.id.topiclist);

        CustomAdapter customAdapter=new CustomAdapter();
        listView.setAdapter(customAdapter);

    }

    class CustomAdapter extends BaseAdapter
    {

        @Override
        public int getCount() {
            return topic.length;
        }

        @Override
        public Object getItem(int position) {
            return null;
        }

        @Override
        public long getItemId(int position) {
            return 0;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            convertView=getLayoutInflater().inflate(R.layout.titledesign,null);
            TextView title=(TextView)convertView.findViewById(R.id.topictitle);
            title.setText(topic[position]);
            return convertView;
        }
    }
}

A:
I want to fix the list cell height

FYI
You want to add HEIGHT for each Cell
Then
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/storylist">

    <TextView
        android:id="@+id/topictitle"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/title"
        android:textSize="12sp"
        android:textStyle="bold"
        android:textColor="@android:color/background_light" />

</RelativeLayout>

Note
Use TextView Size unit sp instead of pt .

A: Try below changes on your parent layout on titledesign.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/storylist">

and if you want that your list capture full width of device screen make change on layout_width like
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/storylist">

A: This should help you out..
ListAdapter listadp = lv_ancillaryservice.getAdapter();
   if (listadp != null) {
       int totalHeight = 0;
       for (int i = 0; i < listadp.getCount(); i++) {
           View listItem = listadp.getView(i, null, lv_ancillaryservice);
           listItem.measure(0, 0);
           totalHeight += listItem.getMeasuredHeight();
       }
       ViewGroup.LayoutParams params = lv_ancillaryservice.getLayoutParams();
       params.height = totalHeight + (lv_ancillaryservice.getDividerHeight() * (listadp.getCount() - 1));
       lv_ancillaryservice.setLayoutParams(params);
       lv_ancillaryservice.requestLayout();

A: Create the List view as
activity_word.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="#000000"
    android:padding="5dp"
    android:textSize="25dp"
    android:gravity="center_horizontal|center_vertical"
    android:text="Text"
    android:id="@+id/text_list_view" />
</LinearLayout>

create another xml file and create a text view in it
listitem.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">

<ListView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:id="@+id/listView"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"/>
 </RelativeLayout>

in the Toplist java class add this as setContentView
setContentView(R.layout.activity_word);

redpajama_set_name: RedPajamaStackExchange


Due to the uncertainty of Canada Post mail delivery, people receiving ODSP payments by cheque will not receive their November payment by mail. Please contact your local office for pick up info. Ontario Works clients: please contact your local office for cheque information.


The Quest Chocolate Chip Protein Cookie is the next evolution in protein flavor. We've managed to pack in 15 grams of protein per cookie while maintaining low sugar. Every Quest Protein Cookie is satisfyingly sweet, soft and chewy, and packed with nutrition. Ditch the guilt of cookie and chocolate cravings and indulge in this sinfully sweet snack.
Mike Reid on 01/05/2018 at 04:42.
Elizabeth Browning on 01/05/2018 at 04:42.


The NETGEAR logo, "GS108V3 Rev. A1", a lead-free logo, and a date code of 5009 is silkscreened on the board shown. Cameo is again presumed to manufacture this device.
This page was last edited on 24 January 2017, at 01:11.


Champu Micelar Hyaluronic Moisture Schwarzkopf 500 ml.
Champú Rizos Somnis & Hair Curl Shine Champú, 300 Ml.
Champú BC Hyaluronic Moisture Kick Schwarzkopf, 250ml.
Champú BC Moisture Schwarzkopf, 1000ml.
Champú BC Moisture Schwarzkopf, 500ml.
Tigi Catwalk Curl Rock Amplifier Activador de Rizos 150 ml.


Short term only - May to October - may be negotiable. 3 bedrooms. Fully furnished home. Renovated throughout. Upstairs open plan living. Great views out to the ocean. Wood burner. Stand alone shower. Off street parking. Park across the road. Please contact me for any viewings - 032187131 or rentals@toddco.nz DO NOT enter the property.


text:
<?php

/**
 * NOTE: You should always use the wp_enqueue_script() and wp_enqueue_style() functions to include
 * Javascript and CSS files.
 */

/**
 * bp_album_add_js()
 *
 * This function will enqueue the components Javascript file, so that you can make
 * use of any Javascript you bundle with your component within your interface screens.
 *
 * @version 0.1.8.11
 * @since 0.1.8.0
 */
function bp_album_add_js() {

	global $bp;

	if ( $bp->current_component == $bp->album->slug )
		wp_enqueue_script( 'bp-album-js', WP_PLUGIN_URL .'/bp-album/includes/js/general.js' );
}
// add_action( 'template_redirect', 'bp_album_add_js', 1 );

/**
 * bp_album_add_css()
 *
 * @version 0.1.8.11
 * @since 0.1.8.0
 */
function bp_album_add_css() {

	global $bp;

		wp_enqueue_style( 'bp-album-css', WP_PLUGIN_URL .'/bp-album/includes/css/general.css' );
		wp_print_styles();
}

add_action( 'wp_head', 'bp_album_add_css' );

?>

redpajama_set_name: RedPajamaGithub


text:
Box Office , Film , Opinion
Weekend Box Office Jan. 12-14: 'Proud Mary' didn't have a chance
Sergio Mims
Proud Mary really didn't have a chance. When the film with Taraji P. Henson was first announced, it sounded promising. But good intentions don't always lead up to good results.
First of all, the TV ads and trailers for the film did not look as enticing, and Sony didn't seem to put all their muscle behind the promising the film. Yes, there was some marketing, but there have been numerous complaints that the studio hasn't been doing enough to promote it.
But the death knell for the film came when Sony refused to have any advance media and public promotional screenings for the film. As I have said many times before, this is a very clear sign that the studio knows it has a dud on its hands and wants to avoid, as much as possible, any advance word getting out on the film before it opens.
Compare that to what Marvel did last week with Black Panther when they announced a public screening for a film clip from the movie. Mind you not a screening of the entire movie, but just a short clip from the film. Yet, there were lines around the block and up the street. In other words, they know they've got a winner and it's going to be huge.
But sometimes audiences can sense if a film is going to be a stinker, and even before negative Proud Mary reviews came out, it was obvious that all was lost. The film came in 8th place, with $10 million behind other new releases this month. All in all, that's perhaps not as bad as it could have been, and in fact, better than some predictions, which had it coming in with $8-9 million. With the extended MLK weekend, this box office number will be higher once the Monday numbers come in.
As for the other releases, this weekend, the Liam Neeson thriller, The Commuter (the last thriller he says he'll ever do), directed by Spanish director Jaume Collet-Serra (who has previously directed three other action thrillers with Neeson) came in third with $13.4 million. Warner Bros. family film Paddington 2, which the studio picked up from the newly-deceased Weinstein Company, came in 7th with a $10.6 million opening.
As for the holdovers, Jumanji: Welcome to the Jungle with Dwayne Johnson (named by Forbes as the second high paid actor in 2017) has turned out to be a massive and rather unexpected worldwide hit for Sony Pictures. The film has overperformed everywhere, grossing $283 million so far domestically and over $666 million worldwide to-date. With no sign of slowing down in evidence, it's very possible the film could actually hit $1 billion or close to that worldwide before all is said and done.
Meanwhile, Steven Spielberg's The Post opened wider this weekend after a few weeks in limited release with a respectable $18.6 million and $23 million to date. And Star Wars: The Last Jedi, despite all the naysayers, is on its way to making well over $600 million in the U.S. and has made nearly $1.3 billion worldwide.
1) Jumanji: Welcome to the Jungle Sony $27,035,000 Total: $283,170,909
2) The Post Fox $18,600,000 Total: $23,089,237
3) The Commuter LGF $13,450,000
4) Insidious: The Last Key Uni. $12,135,000 Total: $48,375,140
5) The Greatest Showman Fox $11,800,000 Total: $94,553,868
6) Star Wars: The Last Jedi BV $11,275,000 Total: $591,549,584
7) Paddington 2 WB $10,620,000
8) Proud Mary SGem $10,000,000
9) Pitch Perfect 3 Uni. $5,655,000 Total: $94,651,225
10) Darkest Hour Focus $4,525,000 Total: $35,737,552
11) Molly's Game STX $3,885,000 Total: $20,715,167
12) Ferdinand Fox $3,400,000 Total: $75,428,094


Wordspionage is a multiplayer, turn-based word game with exciting spy moves that will drive your friends crazy.
- Cover ID: Add a blank tile to your hand to make stronger words.
- Surveillance: Spy on your opponent's letters to anticipate their next move.
- Misdirection: Shuffle the multipliers to confuse your opponents.
- Switch: Give one of your letters to an opponent and get their best letter in return.
- Flash Bomb: Destroy the multipliers for one turn to stop opponents from using them.
- Sabotage: Throw a wrench in your opponent's gears and make them lose half of their last turn score.
- Double Agent: Activate a sleeper agent who will steal half of your opponent's last turn score and give it to you.
"...it is a breath of fresh air to crosswords, seriously, Napland Games managed to innovate CROSSWORDS."
"If you're a fan of multiplayer word games, Wordspionage will give you an alternate take with plenty of new ways to make your friends crazy."
"This game will have you on the edge of your seat and on your toes at all times..."
Minor bug fixes and general improvements.
Super addictive, super fun, super awesome. It's like the spy version of scrabble! It's complicated enough to keep you engaged (not like one of those boring repetitive games) but simple enough to grasp and figure out. It's the only game I have on my phone (I'm super picky) and it's staying that way! Highly recommend, you'll love it!!!
This is the best word game ever. I really love being able to steal tiles from people and steal their points!


A chemical derived from Rubus idaeus (red raspberries) which gives them their characteristic scent.
Function: Gives raspberries their signature aroma and is believed to increase the breakdown of fat.
Raspberry ketone is a chemical compound found naturally in many fruits such as strawberries, cranberries, kiwi, black berries and red raspberries, which is responsible for the powerful scent of such fruits. It has been commonly used in the cosmetic and the food and beverage industry for a long time. Due to its industrial usage, this compound is synthesized commercially as well as through certain bacteria because it is present only in trace amounts in the fruits.
Recently, animal studies and trials have led to an increased use of raspberry ketones as a weight loss supplement. So, are these sweet berries really the solution to our bitter problems of overweight and obesity?
The molecular structure of raspberry ketone is similar to synephrine – a stimulant and capsaicin which is found in chilli pepper. Because of structural similarities, it has been stipulated that raspberry ketones can boost your metabolism because the other two compounds have been proven to do so.
A study (www.biomedcentral.com) consisting of 70 obese but healthy subjects was published recently in which the participants were either given a combined supplement (consisting of caffeine, raspberry ketone, ginger, garlic, and capsaicin) or a placebo. The individuals were subjected to a diet as well as regular exercise routine.
At the end of the study, after a duration of eight weeks, the participants who took the supplement reported a 2.9 kg loss in body fat, while an average loss of 1.9 kg in total weight and gaining a 1.8 kg of lean body mass as compared to the placebo group. But as the supplement contained a combination of ingredients and not just raspberry ketone, it is difficult to ascertain the complete effect of raspberry ketone for weight loss in this study.
In a study (www.ncbi.nlm.nih.gov) conducted on mice, raspberry ketone supplement was given to mice with a fattening diet and the results were observed for weight gain in fat with and without the raspberry ketones. The mice which received the supplement gained less weight than those who did not.
In another study (www.ncbi.nlm.nih.gov), 40 rats were given the same treatment as in above mentioned study. According to results, the rats who received raspberry ketones had higher adiponectin levels and were less prone to a fatty liver.
Suffering from chronic conditions such as heart disease, diabetes, hypertension, chronic pulmonary disease, etc.
Raspberry ketone supplements are safe to use in small amounts or such which is advised by manufacturers. Before starting on this supplement, make sure to talk to your doctor if you are or are not suffering from any health conditions. Keep your age, health and weight loss goals in mind before starting on a dosage, but do not exceed the recommended amount in any case. With a proper calorie-restricted diet and exercise routine, you can speed up your weight loss process through this supplement.


An airfield and gunnery school at Loch Doon in Ayrshire became one of the most "striking wastes of public money" on record given the unsuitable conditions of the site where boggy ground made it impossible for pilots to land.
Around 3,000 men, including at least 600 German Prisoners of War, were deployed to build the new World War One training school in September 1916 with homes and large parcels of land requisitioned from local people for the job.
Remains of the partially constructed Loch Doon airfield, showing the concrete base of an airplane hanger. PIC: RCAHMS Aerial Photography Digital.
Soon, new roads and a stretch of railway were in place to bring in supplies. Accommodation to house 500 men across 18 barrack blocks was also built along with a sewage works and a 400-seat cinema, complete with tip up seats.
The Loch Doon complex was ordered by Colonel Sefton Brancker, brigadier general of the Royal Flying Corps, who served as a Deputy-Director of Military Aeronautics at a time when the role of aircraft was intensifying on the Western Front.
Inspired by an aerial training school at a lake near Bordeaux, a search began for a similar site in Great Britain with Loch Doon chosen in early 1916 given its remote location and the surrounding steep slopes of Craigencolon and Cullendoch hills.
On these inclines, rail-mounted targets would zig zag down the hillside to simulate manoeuvring enemy aircraft, according to accounts.
World War One pilots were to be trained in aerial warfare at the Loch Doon site. PIC: Montrose Air Station Heritage Centre.
While infrastructure was developed at a rapid pace, deep issues with the suitability of the terrain persisted.
Crucially, there was no avoiding the fact that a site earmarked for the airfield to the east of the loch was bog land.
James Shaw, country clerk of Ayrshire at the time, later recalled a meeting of uniformed officers at the Station Hotel in Ayr in 1916.
Lieutenant General Sir David Henderson, Director General of Military Aeronautics, accepted advice that the boggy land at Loch Doon could be drained. PIC: Creative Commons.
Lt. General Sir David Henderson, the Glasgow-born director-general of military aeronautics at RFC, was warned against the "questionable conditions" by at least two senior officials, according to accounts.
However, Sir David, who was later hailed as the "Father of the RAF", took the advice of the chief engineer to Scottish Command who considered it possible to drain the landing area within three months.
McAlpine, the Scottish construction and civil engineering company, was contracted to build the air school complex. In time, a new alternative airfield was chosen at Bogton on the outskirts of Dalmellington. While less problematic that the lochside land, vast amounts of work were still required to turn it into an airfield. It never went into operation with the school later demolished and the remnants partially submerged by rising water levels.
It was a request by McAlpine for more funds to blast a 1,150ft railway tunnel into the ground that raised alarm bells over the cost of the scheme with a select committee ordered to investigate the project.
The select committee report said: "At that time, the whole situation ought to have been reviewed and the authorities should then have acknowledge the mistake that had been made and stopped the work.
The issue was raised in the House of Lords in March 1918 when it heard that £3m had passed through the post office in Dalmellington to finance the scheme - around £198m in today's money.
It was put to the house that the figure was closer to £425,000 although various figure have been aired since then.
Lieutenant General Sir Spencer Ewart of Craigcleuch, Langholm, General Officer Commanding Scottish Command from 1914 to 1918, was an ongoing critic of the Loch Doon scheme.
Peter Connon, in his book An Aeronautical History of the Cumbria, Dumfries and Galloway Region, draws from General Ewart's unpublished autobiography.
It said: "I was personally much opposed to Loch Doon being selected as a site for such a range, because I realised what an enormous sum would have to be expended in the making of roads and approaches to it.
"Moreover, any local idiot could have informed the Army Council that a narrow and confined loch, situated at such a high elevation, was bound to be frozen and therefore useless for hydroplanes in the winter.
He claimed those responsible should have been removed from service and regretted the treatment of some local people as the training school took shape.


text:
Q: Online estimation of variance with limited memory I am creating a component that aims to calculate the average and variance of a metric associated with events happening during time but with a limited internal memory.
Imagine that the events are visitors entering in a shop and the metric is their age.
During time, my component receives events with the age of each visitor.
I don't want my component to memorize the history of each ages.
Ideally, I would like a light component storing only:
the average A, the variance V and the number of events N.
After each event with age E, I want to update those three values :
N<=N+1
A<=(A*N+E)/(N+1)
V<=???

What for V? I am thinking of something like :
V<=(V*N+(E-A)^2)/(N+1)

I know it is not exact as my previous V is using the old A which is no more the average.
Q1 - Is there an exact formula?
Q2 - If not, is my proposal a good estimate? Is it biased? Will it converge correctly when N increases?
Q3 - Is there a better formula?

A: Nice and simple algorithm for computing variance in online manner was described by Welford (1962). Below you can see C++/Rcpp implementation of it that works offline, but can be easily adapted to online scenario:
List welford_cpp(NumericVector x) {

  int n = x.length();
  double delta;
  double msq = 0;
  double mean = x[0];

  if (n > 1) {
    for (int i = 1; i < n; i++) {
      delta = x[i] - mean;
      mean += delta / (i+1);
      msq += delta * (x[i] - mean);
    }
    return Rcpp::List::create(Rcpp::Named("mean") = mean,
                              Rcpp::Named("variance") = msq / (n-1));
  }

  return Rcpp::List::create(Rcpp::Named("mean") = mean,
                            Rcpp::Named("variance") = NAN);
}

As you can see, it needs to store only four variables: n, delta, msq and mean and computes mean and variance simultaneously as you wanted.

Welford, B. P. (1962). Note on a method for calculating corrected sums of squares and products. Technometrics 4(3): 419-420.

A: The variance can be expressed as proportional to the squared difference between every value and the mean value, or (as many threads here in stats.SE documented, like this answer I wrote to another question) it can alternatively be expressed as proportional to the squared pairwise difference between every sample.
So we know:
$$\text {Var}(x) = \frac{1}{n} \cdot \sum_{i}(X_i-\overline{X})^2 =
\frac{1}{2n^2} \cdot \sum_{i,j}(X_i-X_j)^2$$
Let's say you add another sample, indexed as the last index, $k$. Your previous variance would be:
$$\text {Var}_{old}(x) = \frac{1}{2(n-1)^2} \cdot \sum_{i<k,j<k}(X_i-X_j)^2$$
Your new variance is
$$\text {Var}_{new}(x) = \frac{1}{2n^2} \cdot \sum_{i,j}(X_i-X_j)^2 =
\frac{1}{2n^2} \cdot
\left(
\sum_{i<k,j<k}(X_i-X_j)^2 + \sum_{j<k}(X_k-X_j)^2 + \sum_{i<k}(X_i-X_k)^2
\right)$$
But
$$\sum_{j<k}(X_k-X_j)^2 = \sum_{i<k}(X_i-X_k)^2\\
\sum_{i<k,j<k}(X_i-X_j)^2 = {2(n-1)^2} \cdot \text {Var}_{old}(x)
$$
So
$$\text {Var}_{new}(x) = \left(\frac{n-1}{n}\right)^2
\text{Var}_{old}(x)+
\frac{1}{n^2}
\sum_{j<k}(X_k-X_j)^2
$$
As @MarkL.Stone said in the comments, this still isn't efficient because we must keep every $X_i$. So, let's expand the formula to arrive at something more tractable.
$$\frac{1}{n^2}\sum_{j<k}(X_k-X_j)^2=\\
\frac{1}{n^2}\sum_{j<k}(X_k^2 - 2 \cdot X_j \cdot X_k + X_j^2)=\\
\frac{1}{n^2}\left(\sum_{j<k}X_k^2 - 2 \cdot X_k \cdot \sum_{j<k} X_j + \sum_{j<k} X_j^2\right)=\\
\frac{1}{n^2}\left(k\cdot X_k^2 - 2 \cdot X_k \cdot (k-1) \cdot \overline{X_{old}} + (k-1) \cdot \overline{X^2_{old}}\right)\\
$$
Because
$$\sum_{j<k} X_j = (k-1) \cdot \overline{X_{old}}\\
\sum_{j<k} X_j^2 = (k-1) \cdot \overline{X^2_{old}}$$
The final form is then
$$\text {Var}_{new}(x) = \left(\frac{n-1}{n}\right)^2
\text{Var}_{old}(x)+
\frac{1}{n^2}\left(k\cdot X_k^2 - 2 \cdot X_k \cdot (k-1) \cdot \overline{X_{old}} + (k-1) \cdot \overline{X^2_{old}}\right)
$$
You can use this formula to update the variance effectively memory-wise. You can also complement it to use batches instead of single point updates.
Basically you need to store the average, the average of the squared samples, and the variance every iteration, and use it to update the variance formula.

Further
$$\overline{X^2_{old}} = \text{Var}_{old}(x) + (\overline{X_{old}})^2\\
\therefore\text {Var}_{new}(x) = \left(\frac{n-1}{n}\right)^2
\text{Var}_{old}(x)+
\frac{1}{n^2}\left(k\cdot X_k^2 - 2 \cdot X_k \cdot (k-1) \cdot \overline{X_{old}} + (k-1) \cdot \left(\text{Var}_{old}(x) + (\overline{X_{old}})^2\right)\right)
$$
Which brings the number of quantities that need to be stored down to 2.

A: OK Andy W gave the answer. By conserving the $E^2$ average in the same way as the E average, you can use $V = exp(E^2)-exp(E)^2$.