text – What’s the deal with Windows 8 elements with ALL CAPS?

Caps are an effective way of introducing visual hierarchy without increasing point size or using bold. All-caps can make small text seem more important or conceptually higher in the hierarchy than larger text.

Metro, being highly typographic, requires designers have a significant degree of freedom to express visual hierarchy without resorting to colour or other factors older, more conventional design languages might use, so text case (all-caps, all-lowercase and sentence/title case) becomes one of the most useful, flexible tools in its arsenal.

In Metro (at least in Windows Phone 7), all-caps text is used for text that is higher in the logical hierarchy but less important in the context of a given activity (things like the app’s name which is important and logically the “parent” of all the screens inside the app, but itself as useful to the user while they’re using the app as the screen names). For example, here’s Evernote for WP7:

A screenshot of Evernote for Windows Phone

Image taken from theappnews.com

…and here’s the way it’s used in the Windows Phone Marketplace app:

Windows Phone Marketplace app showing the Podcasts download interface

Image taken from PCMag.com

command line – How to know what’s plugins is installed in my oh my zsh

That’s not a problem this is just a question for to raise public information.(Of course a little beyond that)

I’m new user in oh my zsh and i wan’t to install 2 plugin but i don’t know it’s names but my brother download it in some years ago and he don’t know it’s names too so i want to know have i can know what’s plugins is installed in my oh-my-zsh

So i need your help :)

Please if you know my question answer or you know have i can find the answer, tell my

What’s the best way to upload a million row spreadsheet as Google spreadsheet?

I have an Excel spreadsheet with over a million rows that I would like to have as a Google sheet.

I tried uploading the file as a CSV to my Google drive, which worked. Then I tried opening it as a Google sheet, but that took over 2 days and didn’t open.

I tried copying and pasting from the CSV into the Google sheet. The page keeps saying it is unresponsive, I say wait and that loop continues. I’m not sure if this is the right approach or how long to expect to wait.

Can Google sheets access my hard drive? Is there some code I could write in Google sheets to upload the records one at a time?

I’m willing to wait as long as it takes. Maybe there’s a better approach I am missing?

I can code in VBA. Is there some way excel could write to a Google sheet?

Ultimately, I would like to access the data in a Google ad script. I saw Google ad scripts can access Google sheets hence my approach. But, if there is another Google cloud solution I can upload the data to, I am also open to that.


macos – How can I figure out what’s slowly eating my HD space?

I’ve had a very similar issue, and so I decided to compile several methods for solving it. So, following, there are those options and some of them I got from the answers already provided here. I understand this is a little bit offtopic from the question, but it’s in tune with the answers. This has many parts and those are all softwares I could try myself somehow.

It’s generally a good idea to pay close attention for using the sudo options below so the software can have access to every file, which will likely include some big hidden ones.

Here’s a brief list of apps for checking the disk usage:

  • GrandPerspective is only graphical, using the Treemap, it can measure files by logical or physical methods before scanning, show/hide package contents and change color scheme on the fly. It also is able to save the scanned data for archiving or comparing multiple windows.

  • Disk Inventory X also uses the Treemap graphical scheme but along side a list view of folders and files. The grahpics isn’t as good as GrandPerspective neither the list as good as OmniDiskSweeper, but it does a good job mixing both. It has a Finder plugin and the most options between the 3 on preferences. It’s the most complex, but not all complete.

  • OmniDiskSweeper is non-graphical and very similar to Finder’s column view. You choose the folder or disk to analyse, it will order them by disk usage after taking its time to calculate. You can then just delete (move to trash) anything listed.

So each one has its advantages and highlights, I’m still not sure if there’s one that comes on top. They’re all free.

There is also a different approach, of apps for scanning specific expected places and files for space usage in non-optimal ways. They basically gather some known things about the system that can be bloating your disk all in one nice interface so you can see and decide what to delete.

  • CleanMyMac lists caches, logs, language files, universal binaries, development “junk”, extensions and applications. It scans through the files and also uses some knowledge base it has. Great interface, simple to use. CleanMyMac has a free trial which will only clean up to 500 MB.

  • XSlimmer is very specific. It remove “unnecessary” code from “fat” binaries and Strip out unneeded languages, as it says on the website. Universal Binaries, that is, use a lot of space for storing files to run in several different architectures and languages. So, this strips all of them to shrink to only your computer needs. XSlimmer is currently discontinued.

Another approach is looking for duplicate files. There are many commercial options, some may be better than the listed below, I haven’t tried them all. Anyway, I’m listing my choice of apps considering which ones I was able to try.

  • TidyUp is a very well known app in this subject. You can specify where to scan for what kind of duplicates. It offers basic and advanced modes, several different strategies and criterias.

  • MrClean is a free tool that just scans for folders for duplicates and trash them. Very simplistic but efficient if you’re sure on what you’re doing.

  • Chipmunk scans duplicates and let you choose which ones you want to trash. It offers a node-view of folders and you can select to “delete all files in a folder that have duplicates elsewhere, or vice versa” as well as hand-picking. It may take very long to scan all files, but it does a very decent job after that.

  • DupeCheck “drop a file on it and it will use your Spotlight index to see if you have a potential duplicate somewhere.” That’s about this nice open source app. Not a great tool for space cleaning at once, but over time it helps you keep your space clean.

  • DuplicateFileSearcher from the website: “is a free powerful software utility that will help you to find and delete duplicate files on your computer. It can also be used to calculate MD5 and SHA hashes. The software runs in Windows, Linux, Solaris and MacOS.“. Enough said.

Next I’ll briefly discuss on a similar approach by quoting relevant parts about two other things that can be done to look for missing disk space, without installing anything new, just using the command line (the Terminal).

This (long but good) one is from MacFixIt forums (go there for more options and details):

In most cases, there really are files occupying part of the volume, but the files are invisible in normal use of the Finder.

Using the Finder’s Go to Folder feature (in the Go menu), look at the sizes of the contents of these folders, by pasting in these pathnames:


The /private/var/vm directory contains the swapfiles used by virtual memory. New ones are made as more data is swapped from RAM to the hard drive. The entire process of creating them begins at each reboot or restart; do not attempt to remove them yourself. Check the total size of all the swapfiles, right after you boot, and as the disk fills up. In Panther, the first two swapfiles are 64 MB, then each new one is twice the size of the preceeding one (128 MB, 256 MB, 512 MB, 1 GB) up to a maximum size of 1 GB. In Tiger, the first two swapfiles are 64 MB, the next one is 128 MB, and any additional swapfiles are 256 MB.

If you do not run the daily, weekly, and monthly maintenance scripts (either by using a utility, or by running the commands sudo periodic daily, sudo periodic weekly, and sudo periodic monthly in Terminal), the logs on the startup volume can become too large. If an error is occurring frequently and is being logged, you can have a very large file at /private/var/log/system.log.

The files in /Volumes should be aliases to your mounted volumes. Do not remove these aliases, because anything you do to them happens to the contents of the corresponding volumes. If you are not confident that you can explore this folder without mishap, before you begin, properly unmount any volume other than the startup volume, if the missing disk space problem affects only that volume. External FireWire drives can be disconnected after proper unmounting.

Sometimes, backup programs that cannot find an intended destination (or target) volume for a backup create a folder with the same name as the destination, and put the folder into the /Volumes directory. There are cases in which the entire startup volume has been backed up on itself, in a folder inside /Volumes. If the amount of missing space is about the size of your user folder, such a backup is likely to be the explanation. If you use Carbon Copy Cloner or another backup or cloning utility and have its preferences configured to create a backup on a schedule, and the intended destination volume is not mounted or is sleeping at the scheduled time, the backup is created in the /Volumes directory.

To check the size of the normally invisible /Volumes directory on the active startup volume, open a new Finder window. Select the startup volume in the list at the left, then choose column view (the one at the right of the three views). From the Finder’s Go menu, choose Go to Folder, and paste in:


The /Volumes directory becomes visible in the Finder; find its size by selecting it and typing Command I. My /Volumes directory is reported to be 12K.

This other one is from Mac OS X Hints forums (not much more to see there):

You may want to run a du in terminal to see what is all going on. This could take a few minutes to run.

An example would be to open up terminal.app then run these commands:

sudo du -h -d 1 -c /

Input your password when it prompts for it then let it go, it will take a few minutes to run so be paitent.

du stands for Disk Usage. There’s also df. I like including the -x to the above command:

sudo du -cxhd 1 /

Adding to the command line option, you could use an automator service for opening any app. With this you will get different (and more complete) results on GUI.

Or, if you’re on a Power PC, using Rosetta or anything before Snow Leopard, you can mix any of the before mentioned apps with Pseudo. It’s a little app to open things as admin. Picture it like a GUI for sudo.

Finally, there’s a complete newbie guide on “The X Lab” that I just won’t quote here for it’s too long.

python – What’s the best way to build a Flask API to control and show the status of a program tool I have built?

I’ve developed a backend project using Python. It collects data from different sources, process the data, and then perform actions with it (for example, store relevant info in a database). To execute it, I just do python main.py and it starts the daemon process.

Now I want to add a Flask API in order to interact with this collector: start/stop the collection, see the state of each component, add/remove components… What is the best approach to do it? I can’t just add Flask app object and routes to the same project, because when I deploy the Api using Gunicorn with several workers, it runs several instances of the collector.

For example: I have in the collector a object called GlobalManager that is in charge of creating, deleting, starting and stoping the collector’s components. Obviously, there is only one instance of this GlobalManager, so I can’t include it in a project with Flask, because if I run it with Gunicorn, it starts several instances of the GlobalManager.

Should I code the API in a separate project and the communicate both the API and the collector through some tool?

What’s your favorite dice?

I just find a great dice brand. This is ancient mythology collection of infiniDice. All dice are made from metal with different series.

It’s super amazing. They are a crowdfunding program on Kickstarter, I think they are really amazing so give a recommendation to you guys. This is their fb group https://bit.ly/2JpH6n5

They will launch on Kickstarter this Thur, 21st, 9 am, Est. Let’s get it together https://bit.ly/3iuLZbl!

dnd 5e – What’s the cheapest way for an Eldritch Knight to be able to wield two weapons while still being able to cast spells with somatic/material components?

For the purpose of this question, assume “two weapons” to include “a one-handed weapon and a shield”.

Compared to other spellcasters, Eldritch Knights are sort of at a disadvantage when it comes to achieving dual-wielding and the like, as they generally cannot use spellcasting foci (except when using magic items such as a Ruby of the War Mage). Thus, they normally seem to require a free hand for casting spells with components other than verbal ones. For comparison, a wizard could wield a Staff of Power, which – due to being a staff – counts as an arcane focus and thus solves the issue of noncostly material components, but it can also be used as a +2 quarterstaff.

For an EK trying to trivialize somatic components, Warcaster is the obvious choice (no difference to other spellcasters in this regard), and the requirement of a free hand for material components (without a GP cost) can be avoided with a Ruby of the War Mage. However, the former requires spending a feat (even though Warcaster is a pretty good feat for EKs anyway, especially considering that fighters get more ASIs than the average class), and the latter blocks an attunement slot and doesn’t work for costly material components. Plus, if you happen to die in a battle, your attunements end, even if you get Revivified right away (although that’s probably a very rare or even legendary problem ^^).

Is there a cheaper way to get around the issue? For the purpose of defining “expensive”, please consider this order (the higher up on the list, the more expensive):

  1. Multiclassing (and requiring three multiclass levels is obviously worse than requiring one)
  2. Requiring additional actions
  3. Feats
  4. Attunement Slots
  5. Requiring additional bonus actions
  6. Choosing specific (sub-)class options, such as a Fighting Style.
  7. Magic Items without attunement
  8. Ingame time (e.g. downtime training)
  9. Requiring your object interaction
  10. Money

I’m aware of other questions on almost the same topic, namely this one (warlock-focused or at best generic), this one (technically answers the issue, but some GMs might consider dropping and picking your weapon up cheesy, plus there are downsides and it only works with Sage Advice rulings), as well as this one (answers claim it’s not an issue, which is not true IMHO – for example, Booming Blade or Green Flame Blade, both great melee cantrips for an EK, have material components).

server – do 20.04 bridges work? what’s amis with mine? do i need a special kernel?

Trying to setup a bridge for libvirt using 20.04 netplan. Network is fine before trying to define a bridge, but doesn’t come up with my bridge definition. What am i missing?

Do i need a special kernel? See why i pose this question right near the bottom.

Before trying to define a bridge the network works fine with this:

  #  cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
  version: 2

Trying to setup a bridge i change the contents to:

      dhcp4: false
      dhcp6: false
      interfaces: ( eno1 )
      addresses: (
        addresses: (
  version: 2

Below i show ‘ip a’ before and after applying the netplan, networkctl status, et al. Can anyone clue me what’s amis?

  $  ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 40:a8:f0:67:12:46 brd ff:ff:ff:ff:ff:ff
    inet brd scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::42a8:f0ff:fe67:1246/64 scope link
       valid_lft forever preferred_lft forever

  #  netplan --debug generate
DEBUG:command generate: running ('/lib/netplan/generate')
** (generate:1386): DEBUG: 09:50:10.524: Processing input file /etc/netplan/00-installer-config.yaml..
** (generate:1386): DEBUG: 09:50:10.524: starting new processing pass
** (generate:1386): DEBUG: 09:50:10.524: We have some netdefs, pass them through a final round of validation
** (generate:1386): DEBUG: 09:50:10.524: eno1: setting default backend to 1
** (generate:1386): DEBUG: 09:50:10.524: Configuration is valid
** (generate:1386): DEBUG: 09:50:10.524: br96: setting default backend to 1
** (generate:1386): DEBUG: 09:50:10.524: Configuration is valid
** (generate:1386): DEBUG: 09:50:10.524: Generating output files..
** (generate:1386): DEBUG: 09:50:10.524: openvswitch: definition eno1 is not for us (backend 1)
** (generate:1386): DEBUG: 09:50:10.524: NetworkManager: definition eno1 is not for us (backend 1)
** (generate:1386): DEBUG: 09:50:10.524: openvswitch: definition br96 is not for us (backend 1)
** (generate:1386): DEBUG: 09:50:10.524: NetworkManager: definition br96 is not for us (backend 1)
(generate:1386): GLib-DEBUG: 09:50:10.524: posix_spawn avoided (fd close requested)
(generate:1386): GLib-DEBUG: 09:50:10.525: posix_spawn avoided (fd close requested)
  0# netplan apply
(ssh connection drops)
  # reboot
(comes up with no network)

  $  ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 40:a8:f0:67:12:46 brd ff:ff:ff:ff:ff:ff

  #  head -99 /r*/s*/n*k/*
==> /run/systemd/network/10-netplan-br96.netdev <==

==> /run/systemd/network/10-netplan-br96.network <==


==> /run/systemd/network/10-netplan-eno1.network <==


  #  networkctl
  1 lo loopback carrier unmanaged
  2 eno1 ether no-carrier pending

2 links listed.

  0#  networkctl status -a
Failed to query link bit rates: Unit dbus-org.freedesktop.network1.service not found.
Failed to query link bit rates: Unit dbus-org.freedesktop.network1.service not found.
● 1: lo
             Link File: /usr/lib/systemd/network/99-default.link
          Network File: n/a
                  Type: loopback
                 State: carrier (unmanaged)
                   MTU: 65536
  Queue Length (Tx/Rx): 1/1

● 2: eno1
             Link File: /usr/lib/systemd/network/99-default.link
          Network File: n/a
                  Type: ether
                 State: no-carrier (pending)
                  Path: pci-0000:00:19.0
                Driver: e1000e
                Vendor: Intel Corporation
                 Model: Ethernet Connection I217-LM
            HW Address: 40:a8:f0:67:12:46 (Hewlett Packard)
                   MTU: 1500 (min: 68, max: 9000)
  Queue Length (Tx/Rx): 1/1
      Auto negotiation: yes
                 Speed: 1Gbps
                Duplex: full
                  Port: tp

Jan 15 11:07:30 filbert systemd-networkd(752): eno1: Could not join netdev: No such device
Jan 15 11:07:30 filbert systemd-networkd(752): eno1: Failed
Jan 15 11:07:30 filbert systemd-networkd(756): eno1: Could not join netdev: No such device
Jan 15 11:07:30 filbert systemd-networkd(756): eno1: Failed
Jan 15 11:07:30 filbert systemd-networkd(758): eno1: Could not join netdev: No such device
Jan 15 11:07:30 filbert systemd-networkd(758): eno1: Failed
Jan 15 11:07:30 filbert systemd-networkd(760): eno1: Could not join netdev: No such device
Jan 15 11:07:30 filbert systemd-networkd(760): eno1: Failed
Jan 15 11:07:30 filbert systemd-networkd(763): eno1: Could not join netdev: No such device
Jan 15 11:07:30 filbert systemd-networkd(763): eno1: Failed

  0#  journalctl -xe|grep networkd
(redacted, askubuntu says it "looks like spam")

  0#  dpkg -l *netplan*
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
ii libnetplan0:amd64 0.100-0ubuntu4~20.04.3 amd64 YAML network configuration abstraction runtime library
un netplan <none> <none> (no description available)
ii netplan.io 0.100-0ubuntu4~20.04.3 amd64 YAML network configuration abstraction for various backends
lines 1-8/8 (END)

  0#  apt-get install netplan
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package netplan is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'netplan' has no installation candidate
  100#  cat /etc/apt/sources.list
(edited to redact "links")
deb ... focal main restricted
deb ... focal-updates main restricted
deb ... focal universe
deb ... focal-updates universe
deb ... focal multiverse
deb ... focal-updates multiverse
deb ... focal-backports main restricted universe multiverse
deb ... focal-security main restricted
deb ... focal-security universe
deb ... focal-security multiverse
  0#  ls -ld /etc/apt/sources.list*/*
ls: cannot access '/etc/apt/sources.list*/*': No such file or directory

So i tried ‘apt-get install ifupdown’ and tried this in /etc/network/interfaces:

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet static

That works, so next i tried with a bridge:

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
   bridge_ports eno1

And that doesn’t work. So i tried:

  #  ifup br0
add bridge failed: Package not installed
run-parts: /etc/network/if-pre-up.d/bridge exited with return code 1
ifup: failed to bring up br0

That means “You don’t have kernel support for bridging…Compile it in. It should be in ‘Networking’ → ‘Networking options’.” according to http://helpful.knobs-dials.com/index.php/Networking_notes_-_the_lower_three_levels#Add_bridge_failed:_Package_not_installed

So do i need a special kernel?

c++ – What’s the maths behind checking line of sight

I understand in unity there is Phsyics.LineCast(Vector A, VectorB). What’s the maths behind doing that, the only thing i can think of is going along the line at small intervals and seeing whether it collides with an object or setting the line as a cuboid with a small width and height but depth equal to vector1-vector2 but then that would be non-axis aligned cuboid collision which seems pretty expensive.

Could anyone help me on this?