Type casting is a way to convert a variable from one data type to another data type. For example, if you want to store a 'long' value into a simple integer then you can type cast 'long' to 'int'. You can convert the values from one type to another explicitly using the cast operator as follows −
(type_name) expression
Consider the following example where the cast operator causes the division of one integer variable by another to be performed as a floating-point operation −
#include <stdio.h> main() { int sum = 17, count = 5; double mean; mean = (double) sum / count; printf("Value of mean : %f\n", mean ); }
When the above code is compiled and executed, it produces the following result −
Value of mean : 3.400000
It should be noted here that the cast operator has precedence over division, so the value of sum is first converted to type double and finally it gets divided by count yielding a double value.
Type conversions can be implicit which is performed by the compiler automatically, or it can be specified explicitly through the use of the cast operator. It is considered good programming practice to use the cast operator whenever type conversions are necessary.
Integer promotion is the process by which values of integer type "smaller" than int or unsigned int are converted either to int or unsigned int. Consider an example of adding a character with an integer −
#include <stdio.h> main() { int i = 17; char c = 'c'; /* ascii value is 99 */ int sum; sum = i + c; printf("Value of sum : %d\n", sum ); }
When the above code is compiled and executed, it produces the following result −
Value of sum : 116
Here, the value of sum is 116 because the compiler is doing integer promotion and converting the value of 'c' to ASCII before performing the actual addition operation.
The usual arithmetic conversions are implicitly performed to cast their values to a common type. The compiler first performs integer promotion; if the operands still have different types, then they are converted to the type that appears highest in the following hierarchy −
The usual arithmetic conversions are not performed for the assignment operators, nor for the logical operators && and ||. Let us take the following example to understand the concept −
#include <stdio.h> main() { int i = 17; char c = 'c'; /* ascii value is 99 */ float sum; sum = i + c; printf("Value of sum : %f\n", sum ); }
When the above code is compiled and executed, it produces the following result −
Value of sum : 116.000000
Here, it is simple to understand that first c gets converted to integer, but as the final value is double, usual arithmetic conversion applies and the compiler converts i and c into 'float' and adds them yielding a 'float' result.


Each SB employee is encouraged to create a task under this project and describe their idea to further SB's journey to be the best. Ideas can be simple cost savings efforts and they can be complex trans-formative efforts that will take a team of programmers.
What's the big idea?
- For cost savings efforts that are implemented, the task sponsor will get 5% of the cost savings for the first six months of the effort.
- For ideas that generate revenue, the task sponsor will get 10% of the additional revenue for nine months.
- Ideas that will require IT programming or the like will need to go through the IT Prioritization Meeting.


Get these smart doorbells and make Alexa your butler
Source: Hayato Huseman / Android Central
Best Smart Doorbells That Support Alexa Android Central 2019
As an introvert by nature, one of the things I love most about smart doorbells is the ability for me not to have to get off of my keister and answer every knock or ring at the front door. All I have to do is ask Alexa to show me who is at the front door. We've compiled a list of great smart doorbells that work with Alexa, but my favorite is the Ring Video Doorbell 2. There are plenty of good devices on this list, so be sure to check them out and see what might be the best fit for your situation.
- Best Overall For Alexa: Ring Video Doorbell 2
- Best Budget Doorbell: Ring Video Doorbell (1st Gen)
- Best Style: August Doorbell Cam Pro
- Best Value: eufy Video Doorbell
- Best for Renters: Ring Peephole Cam
- Best without a Camera: Arlo Audio Doorbell
Best Overall For Alexa: Ring Video Doorbell 2
Source: Ring
It may seem a cop-out to pick a Ring product as my top choice, but the fact is that since Amazon purchased the smart home products company it has been churning out quality products that work well with Alexa. Once you install your Ring Video Doorbell 2 and ask Alexa to discover new devices, you can start checking on who is at the door on the Fire TV from the comfort of your couch. Interacting with people at the door while you are elsewhere is certainly a great convenience feature, but it's also a safety feature as well. Having that heads up that a camera and microphone provide can offer protection if you're by yourself and are unsure of your mysterious visitor.
This second-generation video doorbell now records in 1080p with infrared night vision, so you get a much better viewing experience. It is motion-activated, so even if someone doesn't "ring" the doorbell, you can still see if they were snooping around your front stoop. Another feature that I really like is cosmetic in nature. You can easily swap out the faceplate on the doorbell if you decide to change the color.
While it is true that Ring requires a subscription to view and access video recordings and your archive, the Ring plans start as low as $3 a month. It is a bit peculiar that the field of view is slightly less than on the first generation, but that shouldn't make too much of a difference when it comes to most front porch spaces. While this device works on the 2.4GHz spectrum that is good for devices further from your router, you won't be able to take advantage of the faster speeds of your 5GHz network. To do that, you'll need a Ring Pro or Elite device.
Pros:
- HD quality video
- Can power with a battery or wired connection
- Uses infrared night vision
- Interchangeable faceplates to customize the appearance
Cons:
- Doesn't work on 5 GHz spectrum
- Subscription required to access recordings
- Shorter field of view than first-generation
Best Overall For Alexa
Ring Video Doorbell 2
A premium Alexa doorbell for a mid-range price
The Ring Video Doorbell 2 comes in battery or wired versions, offers 1080p video resolution, motion detection, and a wide field of view.
Best Budget Doorbell: Ring Video Doorbell (1st Gen)
Source: Ring
If you can't quite swing the two Benjamins required for the Ring Video Doorbell 2, or if you don't really care that your video is in crystal-clear 1080p, then why not save a hundred dollars and pick up the excellent first-generation version?
Aside from full HD video, the first generation device basically offers everything that the second generation does, including a wider field of view. You still can connect it to a hardwired power source or use a battery, it operates on the same 2.4 GHz Wi-Fi spectrum, and it offers the same on-demand video, two-way talking, and motion alerts as the newer model.
If you elect to go the frugal route by choosing the first-generation Ring over the Video Doorbell 2, consider using some of your savings to pick up the device bundled with an Echo Dot. Like all Ring products, this first-generation device also comes with Ring's Lifetime Threat Protection. That means that even if the bad guys win and steal away with your doorbell, Ring will send you a new one for free.
This doorbell does not have removable faceplates, and once again, you'll need to subscribe to a Ring Connect plan to view your recordings, but with the money you save from the Ring Video 2, Pro, or Elite, you'll be covered!
Pros:
- Most affordable Ring doorbell
- Includes Lifetime Threat Protection
- Often bundled with Echo Dot for savings
Cons:
- Not full HD video
- Requires subscription to access recordings
- No interchangeable faceplates
Best Budget Doorbell
Ring Video Doorbell (1st Gen)
An inexpensive smart doorbell
Ring makes a whole line of newer doorbells with more premium features, but this one still does the job quite well.
Best Style: August Doorbell Cam Pro
Source: August
August is a smart home devices company that has built a solid reputation for itself, particularly when it comes to smart door products. The August smart locks are some of the most advanced and highest-rated around, so it should come as no surprise that it offers one of my favorite smart doorbell devices: the August Doorbell Cam Pro.
A major reason that you might elect to go with this doorbell over others is its integration with August's smart locks. You can easily let friends or family into your home remotely through the app or via Alexa. Installing this device might present some headaches for the non-technical, as it only comes in a wired version, and its unusual shape (square vs. rectangle) might present some mounting challenges. This thing just looks cool. While some of the doorbells from Ring, Nest, and others have a very utilitarian look and feel to them, this beauty from August looks like a doorbell from the future.
The 960x1280 camera has the convenience of a built-in, motion-activated floodlight so that it can record full-color HD footage, even at night. It has a narrower field of view than some of the competition, which might not make it ideal for wide porches or for viewing your full front yard. August generously offers up to 24 hours of free video storage with its basic subscription, which comes included with the purchase of your Doorbell cam. However, to get more storage you'll need to sign up for its Premium or Premium Plus options, which are still a good bargain.
Pros:
- Full HD camera with built-in floodlight
- Free video storage for 24 hours
- Pairs with August smart locks for remote entry
Cons:
- Only wired option available
- Additional storage requires premium plans
- Odd shape may present installation challenges
Best Style
August Doorbell Cam Pro
Gorgeous doorbell
This futuristic-looking doorbell camera works with your August smart lock to provide security and convenience to your entryway.
Best Value: eufy Video Doorbell
Source: Eufy
The eufy brand may not be familiar to you, but you probably know its parent company, Anker, which also makes products that work with Alexa. The eufy Video Doorbell is a great value for many reasons, including its quality hardware specs and its great storage solution.
This doorbell has a wide-angle field of view, a motion-activated camera that can record five seconds prior to the initial alert you receive, and it can record 2K HD video for clearer playback. Speaking of video playback, the eufy Video Doorbell comes with 4GB of local storage secured with 256-bit military-grade encryption, so your footage stays on-site and secure. Eufy does not charge any monthly or annual fees to access that storage. The device is also IP65 water-resistant and has a 180-day battery life.
As with most of these smart cameras, the eufy Video Doorbell allows you to interact with visitors through the app or via Alexa, but perhaps the coolest feature is that you can set up pre-recorded responses for when you're unavailable or "unavailable." You can program the doorbell to tell the delivery person to "just leave it on the porch, please."
Since this doorbell requires a wired connection and may not work with existing chimes, professional installation may be recommended for some folks who might not be handy. It's also worth noting that many have called into question the accuracy of eufy's person/motion detection features, saying that they get more false positives than expected. If you have shrubs or trees near the front door, this is something you may want to keep in mind.
Pros:
- Wireless chime included
- Free storage with no subscription fees
- HD resolution, HDR, and Distortion Correction
- Water resistant
Cons:
- Wired connection only
- Professional installation may be required
- Person identification and motion detection is buggy
Best Value
eufy Video Doorbell
No hidden strangers or fees
The eufy Video Doorbell makes our list as a great value because it offers quality smart features without hidden fees or subscriptions.
Best for Renters: Ring Peephole Cam
Source: Ring
I say this doorbell is best for renters, but really it's great for anyone who has a solid door with a peephole in it (or space for a peephole). With minimal installation, you get basically three products in one device — a doorbell, a peephole, and a camera. Now that's value!
Ring has done a great job in creating a product that even a layperson like me can install easily (and without wires!), and it included most of its best tech smarts in the process. That being said, if your door doesn't already have a peephole, you'll have to physically drill one. If that describes your situation, then this may not be the best option for you.
This doorbell features a 1080p HD video camera that allows you to interact with people at your doorstep through your Alexa device or in the Ring app. The camera doesn'y record HDR video, and while the field of view is still better than most, it's slightly lower than the Ring Video Doorbell 2. Recordings are triggered by a motion sensor that you can customize to set motion zones and only receive notifications if those areas are activated.
One really cool feature that the Peephole Cam offers that no other Ring Doorbell can claim is Knock Detection. Basically, because this device is located where the peephole is and not where a traditional doorbell would be, some visitors may not know that you, in fact, do have a doorbell. So if they simply knock on the door out of habit, you'll still get a notification that you have a guest just like you would if they press the doorbell button. Insert your knock-knock jokes here Alexa.
Pros:
- HD video recording
- Passthrough peephole
- Knock detection feature
- Same great smart features as found on other Ring doorbells
Cons:
- Requires subscription to access recordings
- Need a peephole to use
- Doesn't support HDR video
Best for Renters
Ring Peephole Cam
Eye spy people through the peephole
With a peephole viewer and knock detection, this doorbell combines the best of the old with the smarts of the new.
Best Without a Camera: Arlo Audio Doorbell
Source: Arlo
Perhaps you aren't looking to spend a lot of money, but you still want some smart functionality for your doorbell. Maybe you don't have an Echo Show or Fire TV and can't easily look at the video feeds without opening an app on your phone like an animal. Whatever the case, we have a solution for you in the Arlo Audio Doorbell.
With the Arlo Audio Doorbell, you can still utilize Alexa's services to interact with visitors through your Echo or Echo Dot by using your voice. Perhaps even more interseting is how visitors can record messages for you through the device, which you can listen to remotely or at your leisure.
As mentioned above, this doorbell does not feature a camera, but you can connect it to an existing Arlo smart camera to get the same benefits as some of the more premium video doorbells. Alternatively, you can start out with just the Audio Doorbell and pick up an Arlo smart camera at a later date to save money in the near term. Another potential drawback to this device is that it requires a smart hub, which you'll have to purchase separately if you want it to work with Alexa.
Pros:
- Inexpensive
- Can add-on video cameras later if you wish
- Visitor messaging feature
Cons:
- No camera or video recording
- Requires a hub to work with Alexa
Best without a Camera
Arlo Audio Doorbell
Just the basics
The Arlo Audio Doorbell gets you halfway toward a fully smart interactive doorbell for about half the price of its competitors.
Alexa, who's at the door?
I'm on record as saying that a smart doorbell is one of the most useful smart home devices that you can get for your home.
If you are even a casual Alexa user, then I recommend you get one of the great products from Ring like the Ring Video Doorbell 2. This device gives you full HD video, affordable storage plans, and excellent Alexa integration.
If Ring isn't for you, there are plenty of other great smart doorbell manufacturers with products that work well with Alexa, like August, eufy, and Arlo. Regardless of your style, budget, or preference, there is bound to be a great option for you on this list.
Credits — The team that worked on this guide
Jeramy Johnson is proud to help to Keep Austin Weird and loves hiking in the hill country of central Texas with a breakfast taco in each hand. When he's not writing about Amazon products and services, he's defending his relationship with his side-chick Alexa to his family. You can follow him on Twitter at @jeramyutgw.
We may earn a commission for purchases using our links. Learn more.


{{- .Title -}}
{{ if not .Site.Params.ui.taxonomy_breadcrumb_disable }} {{- template "taxonomybreadcrumb" . -}} {{ end }}{{ .Description | markdownify }}
{{/* This is a modified version of Docsy's file and will not be needed when this PR is merged */}} {{/* https://github.com/google/docsy/pull/1011 */}} {{/* It adds bradcrumbs to the taxonomy results list and makes the leaf item not clickable*/}} {{ define "main" }}
{{ .Description | markdownify }}


Provides services to operate tasks as create, read, find, update and save Task objects
Default directory where the tasks are saved to if no directory is specified
Creates a new task in the specified directory, with the specified options and the specified title. If the directory doesn’t exist it is created. When the task is created it is assigned a unique ID within the directory. Options are
description - additional information about the task
follow_up - follow-up date of the task
due - due date of the task
prio - priority of the task
note - information about the progress or state of the task
tags - can be used to searching tasks that belong to a certain category
# File lib/syctask/task_service.rb, line 25 def create(dir, options, title) create_dir(dir) task = Task.new(options, title, next_id(dir)) save(dir, task) Syctask::log_task("create", task) task.id end
Deletes tasks in the specified directory that match the provided filter. If no filter is provide no task is deleted. The count of deleted tasks is returned
# File lib/syctask/task_service.rb, line 114 def delete(dir, filter) deleted = 0 Dir.glob("#{dir}/*.task").each do |file| begin File.file?(file) ? task = YAML.load_file(file) : next rescue Exception => e next # If the file is no task but read by YAML ignore it end next unless not task.nil? and task.class == Syctask::Task if task.matches?(filter) deleted += File.delete(file) ids = File.read(Syctask::IDS) File.write(Syctask::IDS, ids.gsub("#{task.id},#{file}","")) Syctask::log_task("delete", task) end end deleted end
Finds all tasks that match the given filter. The filter can be provided for :id, :title, :description, :follow_up, :due, :tags and :prio. id can be eather a selection of IDs ID1,ID2,ID3 or a comparison <|=|>ID. title and :description can be a REGEX as /look for d+ examples/ follow-up and :due can be <|=|>DATE tags can be eather a selection TAG1,TAG2,TAG3 or a REGEX /[Ll]ecture/ prio can be <|=|>PRIO dir is the directory where find looks for tasks all specifies whether to consider also completed tasks (default) or only open tasks
# File lib/syctask/task_service.rb, line 68 def find(dir, filter={}, all=true) tasks = [] Dir.glob("#{dir}/*.task").sort.each do |file| begin File.file?(file) ? task = YAML.load_file(file) : next rescue Exception => e next # If the file is no task but read by YAML ignore it end next unless not task.nil? and task.class == Syctask::Task next if not all and task.done? tasks << task if task.matches?(filter) end tasks.sort end
Reads the task with given ID id located in given directory dir. If task does not exist nil is returned otherwise the task is returned
# File lib/syctask/task_service.rb, line 35 def read(dir, id) task = read_by_id(id) return task unless task.nil? #task = nil Dir.glob("#{dir}/*.task").each do |file| task = YAML.load_file(file) if File.file? file if not task.nil? and task.class == Syctask::Task and task.id == id.to_i return task end end nil end
Reads the task identified by ID. If no task with ID is found nil is returned otherwise the task
# File lib/syctask/task_service.rb, line 50 def read_by_id(id) return nil unless File.exists? Syctask::IDS ids = File.read(Syctask::IDS) entry = ids.scan(%r(^#{id}),(.*\n)/)[0] return YAML.load_file(entry[1].chomp) if entry return nil end
Saves the task to the task directory. If dir is nil the default dir ~/.tasks will be set.
# File lib/syctask/task_service.rb, line 135 def save(dir, task) task.dir = dir.nil? ? DEFAULT_DIR : File.expand_path(dir) task_file = "#{task.dir}/#{task.id}.task" unless File.exists? task_file File.open(Syctask::IDS, 'a') {|f| f.puts "#{task.id},#{task_file}"} end File.open(task_file, 'w') {|f| YAML.dump(task, f)} end
Updates the task with the given id in the given directory dir with the provided options. Options are
description - additional information about the task
follow_up - follow-up date of the task
due - due date of the task
prio - priority of the task
note - information about the progress or state of the task
tags - can be used to searching tasks that belong to a certain category
Except for note and tags the values of the task are overridden with the new value. If note and tags are provided these are added to the existing values.
# File lib/syctask/task_service.rb, line 95 def update(dir, id, options) task = read_by_id(id) unless task task_file = Dir.glob("#{dir}/#{id}.task")[0] task = YAML.load_file(task_file) if task_file end updated = false if task task.update(options) save(task.dir, task) Syctask::log_task("update", task) updated = true end updated end


Full Name:
Smith Rhodes
<EMAIL_ADDRESS>Purpose of Travel:
Business Travel
Reservation Id:ZX4556WS24613
Address:
15 Hodges Mews,
High Wycombe, HP12 3JL
United Kingdom
High Wycombe, HP12 3JL
United Kingdom
New Delhi (DEL)
➝
Sydney (SYD)
15 Jun 21, Sat
IndiGo 6E-2726
01:50 Departure
26h 18m Duration
19:38 Arrival
Class of Service:
Economy
Confirmation Code:
#MG245C
Confirmation Status:
Confirmed
Airport Info:
to
Indira Gandhi Intl,
New Delhi
Terminal 2
to
Kingsford Smith Airport,
Sydney
Terminal 1
Flight Info:
Boeing 777-200
Breakfast, Meal
Sydney (SYD)
➝
New Delhi (DEL)
20 Jun 21, Thu
JetAirways 6E-2726
02:30 Departure
26h 18m Duration
20:18 Arrival
Class of Service:
Economy
Confirmation Code:
#EM319W
Confirmation Status:
Confirmed
Airport Info:
to
Kingsford Smith Airport,
Sydney
Terminal 1
to
Indira Gandhi Intl,
New Delhi
Terminal 2
Flight Info:
Boeing 767-300
Breakfast, Meal


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/cfarm.2Etetaneutral.2Enet.20-.20Compile.20Farm.html ---
@Tobias Grosser I have an account now. How do I use it?
@Tobias Grosser I have an account now. How do I use it?
We need a Would-you-please-move-this-to-another-thread-Thank-you-emoji
Looks like the instructions are at https://cfarm.tetaneutral.net/machines/list/, just ssh into one of the machines
it requires a password and I don't know where to get the password from
Oh, uh... hmm. I would assume you're supposed to use ssh certificates but I also don't see how to set that up
I just requested an account a minute or two ago, so I don't know.
I see there is a Login link in the top right of the web page though
@Johan Commelin, indeed. Sorry for this distraction.
I use my ssh key to login. Not sure how this is handled today, but either you should have had a way to specify a password when registering or an ssh key, I assume.
The website states: Once your account is created, you will be able to upload SSH keys and gain SSH access to all machines of the platform.
So seems you need to wait until your account is confirmed.
I have an account now and I uploaded an SSH public key using the web interface but it takes some time for the key to be propagated to the machines. Kenny are you in the same situation?
I have no idea what SSH is
what do you mean by upload an SSH public key
You'll want to do something like this https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#platform-windows
Yes, then you can use the cfarm web interface to add the ssh key to your account
@Johan Commelin, indeed. Sorry for this distraction.
No worries (-;
So what do I do when they ask me for the password?
Upload an ssh key, so it doesn't ask you for a password?
it's still asking me for a password
and 1.5 hour has already passed
I had to wait at least several hours (haven't tried to log in today)
I can now log in. Time to see if I can build lean on a POWER8 system
ok, got this working now... 2406 is the CPU% column
31366 rwbarton 20 0 10.851g 3.304g 15872 S 2406 1.3 50:19.98 lean
The big sparc machine had unsatisfactory results--the release version of lean crashed, and the debug version mostly doesn't crash, but building mathlib did trigger some assertion and is super slow.
LEAN ASSERTION VIOLATION File: /home/rwbarton/lean/lean/src/library/type_context.cpp Line: 1230 Task: /home/rwbarton/lean/mathlib2/computability/primrec.lean: primcodable.prod idx < m_tmp_data->m_uassignment.size()
mathlib on the POWER8 machine:
> lean --make . 28590.38user 105.69system 18:55.94elapsed 2526%CPU (0avgtext+0avgdata 10297280maxresident)k
Pretty parallel but not so good single-threaded performance
Maybe tomorrow I'll try the xeons
Aha, this machine is actually 20 cores with 8-way SMT (IBM equivalent of hyperthreading)
I wonder if that means a well-chosen cpu set would be faster
@Reid Barton could you teach me how to use it?
I just connect ssh and then do lean --make
?
how do I make sure I'm using the server's CPU?
ok I can see that it automatically redirects me to the server
but now how do I communicate between the server and my computer?
@Kenny Lau What kind of communication do you want?
You can copy files
how?
scp
It uses ssh
But what do you want to copy?
Can't you just git clone
on that server?
then how do I send the olean files back?
Aah, from the server to your box?
both ways
Both times scp
on your box
how to use scp
?
scp my_file.olean server:~/destination.olean
scp -r server:~/a_directory/ my_directory/
## recursive
what is -R
?
Sorry, should be -r
.
scp
can also be used as scp server1:path1 server2:path2
. It's pretty general (-;
I guess there are ways to recurse and only copy olean files.
Maybe rsync
can help. It will also use your ssh keys.
@Kenny Lau What OS are you on?
windows
/me shuts his eyes while Tux :penguin: slaps Kenny in the face.
@Kenny Lau I'm not sure if rsync
is available. Can you try if it is?
it is
You're lucky (-;
I'm using something that has the unix commands
Do you know man
?
oh no scp
is copying the files one by one
it will take years
Ctrl-C
Also try man man
.
so how do I even use this if I can't copy the files
Did you try man man
?
yes
What happened?
i get a long manual?
Great. Try man rsync
how do I refer to my computer from the server?
That's harder.
:(
You can setup a reverse tunnel using ssh
See man ssh
But why would you want that?
I don't have rsync, but the server has rsync
Aah, to use rsync
the other side needs some form of an ssh server I think. So that won't help you.
A better solution would be to install rsync locally.
how do I do that?
I dunno. Haven't touched windows in 15 years.
just treat me as using bash
You know that the latest Total War series also runs on Linux?
ok so I rsync
ed lean and mathlib, but now I can't run lean.exe
You won't be able to do what you want with a Windows host machine
Oleans aren't compatible between operating systems
exes are certainly not compatible between operating systems
this is so sad
Right. Please blame Bill Gates.
so then how do you install lean on linux?
@Kenny Lau Would you mind explaining the bigger goal that you have in mind with this service?
Also is X installed on that server, can you do ssh with X forwarding? If so, just install VScode, and run it on the server. The rest is history.
But I guess that you can't have X forwarding.
well with this service I can test the compile times quicklier
Have you looked at the travis config?
For mathlib on github
It will tell Travis how to compile mathlib. I guess it could also tell you how to use this server
https://github.com/leanprover/mathlib/blob/master/.travis.yml
[kc_kennylau@gcc2-power8 ~]$ curl https://raw.githubusercontent.com/Kha/elan/master/elan-init.sh -sSf | sh -s -- --default-toolchain none -y info: downloading installer curl: (22) The requested URL returned error: 404 Not Found elan: command failed: curl -sSfL https://github.com/Kha/elan/releases/download/v0.7.1/elan-powerpc64le-unknown-linux-gnu.tar.gz -o /tmp/tmp.Yt4psW5eYO/elan-init.tar.gz
which wget
Oh nvm
I didn't read the error
That elan
command is asking curl
to write something to /tmp/
. Maybe you don't have permissions there?
But curl
is also getting a 404
Before that
then how did Tobias Grosser manage to do it
This explains why: https://github.com/Kha/elan/releases/
You are on a powerpc
That architecture is not supported by elan
.
@Tobias Grosser Can you tell how you did this?
I did not get anything running on powerpc
$ssh gcc20.fsffrance.org
In fact, I did not use the compilefarm to compile lean.
I would start with gcc20.fsffrance.org
The easiest is probably to create a linux docker image with a current lean environment.
And then use udocker to run it.
Also, I am not sure kenny why you want to copy files.
ignore the part about copying files
OK.
In theory you should be able to just run:
grosser@gcc20:~$ curl https://raw.githubusercontent.com/Kha/elan/master/elan-init.sh -sSf | sh -s -- --default-toolchain none -y
info: downloading installer
/tmp/tmp.OXhfu8gCPt/elan-init: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.15' not found (required by /tmp/tmp.OXhfu8gCPt/elan-init)
/tmp/tmp.OXhfu8gCPt/elan-init: /lib/x86_64-linux-gnu/libc.so.6: version
GLIBC_2.14' not found (required by /tmp/tmp.OXhfu8gCPt/elan-init)
grosser@gcc20:~$
Unfortunately this gives an error
As the glibc version is not correct.
What you can do instead on gcc20:
curl https://raw.githubusercontent.com/indigo-dc/udocker/master/udocker.py > udocker chmod u+rx ./udocker ./udocker install ./udocker pull ubuntu ./udocker create --name=lean ubuntu ./udocker run lean apt-get update apt-get install curl git curl https://raw.githubusercontent.com/Kha/elan/master/elan-init.sh -sSf | sh -s -- --default-toolchain none -y git clone https://github.com/leanprover/mathlib.git leanpkg --make
to get back into your lean folder just run
./udocker run lean cd mathlib ls
I feel obliged to point out that copying build results from the farm machines isn't good practice in terms of security, even if the risks are low for olean files. Better to only copy things to the farm machines.
I would suggest using the machines gcc120-gcc123, I got 10 minutes mathlib build time on gcc120 and elan worked without any issues. Note they are on nonstandard ports (45000 through 45003 respectively)
Though Scott's machine is still the leader at 8 minutes.
@Reid Barton, this seems to be a great idea.
Did not see gcc120ff
I did curl https://raw.githubusercontent.com/Kha/elan/master/elan-init.sh -sSf | sh
and it said elan has been installed when in fact it hasn't been.
and I thus can't install elan.
I tried on both gcc120 port 45000 and gcc121 port 45001
Did you do the step printed out at the end of the elan output, i.e., source <something>
?
Or log out and log back in
[kc_kennylau@gcc120 ~]$ curl https://raw.githubusercontent.com/Kha/elan/master/elan-init.sh -sSf | sh info: downloading installer Welcome to Lean! This will download and install Elan, a tool for managing different Lean versions used in packages you create or download. It will also install a default version of Lean and its package manager, leanpkg, for editing files not belonging to any package. It will add the leanpkg, lean, and elan commands to Elan's bin directory, located at: /home/kc_kennylau/.elan/bin This path will then be added to your PATH environment variable by modifying the profile files located at: /home/kc_kennylau/.profile /home/kc_kennylau/.bash_profile You can uninstall at any time with elan self uninstall and these changes will be reverted. Current installation options: default toolchain: stable modify PATH variable: yes 1) Proceed with installation (default) 2) Customize installation 3) Cancel installation 1 info: updating existing elan installation Elan is installed now. Great! To get started you need Elan's bin directory ($HOME/.elan/bin) in your PATH environment variable. Next time you log in this will be done automatically. To configure your current shell run source $HOME/.elan/env [kc_kennylau@gcc120 ~]$ source $HOME/.lean/env -bash: /home/kc_kennylau/.lean/env: No such file or directory
Hmm, that is odd. It worked for me
i'm on windows using msys2 mingw 64, if that makes any difference
Wait no! you typed it wrong
.elan
not .lean
I'm stupid.
it worked now
I wonder who thought naming the downloader for lean
an anagram of lean
was a good idea :P
Maybe they should have chosen a less easily confused name, like rustup
you want the downloader for lean to be called rustup
? That's indeed less easily confused with lean
Last updated: Apr 24 2020 at 19:02 UTC


"Disease of the body itself is nothing but the result of the disharmony between soul and mind. Remove the disharmony, and we regain harmony between soul and mind, and the body is once more perfect in all its parts."
― Dr. Edward Bach
"Disease of the body itself is nothing but the result of the disharmony between soul and mind. Remove the disharmony, and we regain harmony between soul and mind, and the body is once more perfect in all its parts."
― Dr. Edward Bach
If you feel constantly tired, drained, dissatisfied with how thing is or just feeling down, it’s a first sign that you need to do something. It won’t just go away.
If you are feeling uncreative, creatively blocked or stuck in the vicious circle of bad habits…
All those „why-is-it-happening-to-me“, „why-am-I-attracting-the-wrong-person“, „I-don’t-deserve-this“… means that you could use some push from outside.
Support. Clarity. Guidance. Inspiration. Creativity. Wellbeing. Encouragement.
Our work together is your special time to explore your feelings, thoughts, dreams and intentions. You will be supported during this process as you release some old stories, limiting beliefs and fears and transition from where you are to where you really want to be. I use Bach Flower Remedies as a gentle, natural and holistic way of restoring emotional, mental or energetical balance.
- gain clarity in everyday life
- have a better flow in your creativity
- learn to deal with intensive/unpleasant emotions
- learn how to energize yourself in a natural way
- discern priorities, what’s important and what is not
- implement creativity, lightness and joy in everyday life
- fire up your confidence and sense of self-worth in your creative work
- connect to your inner guidance and let go of the need for reassurance from others
- silence your inner critic and perfectionist
This course is a one-day workshop for you. You will learn about these wonderful Bach Flower Remedies. These remedies can help you to manage the emotional demands of everyday life.
They work by:
- Stimulating the body’s own capacity to heal itself
- Balancing negative feelings
- Helping you to take control
- Helping you feel good about yourself and get more out of life


Test that it's possible to redefine the bounding box of a sprite. In grey the colliding rectangle. In black the redefined bounding box.


DF
Section: User Commands (1)Updated: June 2012
Index Return to Main Contents
NAME
df - report file system disk space usageSYNOPSIS
df [OPTION]... [FILE]...DESCRIPTION
This manual page documents the GNU version of df. df displays the amount of disk space available on the file system containing each file name argument. If no file name is given, the space available on all currently mounted file systems is shown. Disk space is shown in 1K blocks by default, unless the environment variable POSIXLY_CORRECT is set, in which case 512-byte blocks are used.If an argument is the absolute file name of a disk device node containing a mounted file system, df shows the space available on that file system rather than on the file system containing the device node (which is always the root file system). This version of df cannot show the space available on unmounted file systems, because on most kinds of systems doing so requires very nonportable intimate knowledge of file system structures.
OPTIONS
Show information about the file system on which each FILE resides, or all file systems by default.
Mandatory arguments to long options are mandatory for short options too.
- -a, --all
- include dummy file systems
- -B, --block-size=SIZE
- use SIZE-byte blocks
- --direct
- show statistics for a file instead of mount point
- --total
- produce a grand total
- -h, --human-readable
- print sizes in human readable format (e.g., 1K 234M 2G)
- -H, --si
- likewise, but use powers of 1000 not 1024
- -i, --inodes
- list inode information instead of block usage
- -k
- like --block-size=1K
- -l, --local
- limit listing to local file systems
- --no-sync
- do not invoke sync before getting usage info (default)
- -P, --portability
- use the POSIX output format
- --sync
- invoke sync before getting usage info
- -t, --type=TYPE
- limit listing to file systems of type TYPE
- -T, --print-type
- print file system type
- -x, --exclude-type=TYPE
- limit listing to file systems not of type TYPE
- -v
- (ignored)
- --help
- display this help and exit
- --version
- output version information and exit
Display values are in units of the first available SIZE from --block-size, and the DF_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).
SIZE may be (or may be an integer optionally followed by) one of following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.
AUTHOR
Written by Torbjorn Granlund, David MacKenzie, and Paul Eggert.REPORTING BUGS
Report df bugs to<EMAIL_ADDRESS>coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report df translation bugs to <http://translationproject.org/team/>
COPYRIGHT
Copyright © 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
The full documentation for df is maintained as a Texinfo manual. If the info and df programs are properly installed at your site, the command- info coreutils aqdf invocationaq
should give you access to the complete manual.
Index
This document was created by man2html, using the manual pages.
Time: 05:29:03 GMT, December 24, 2015


A web application that works alongside Ring’s products to allow law enforcement to play a crucial part in neighborhood safety and investigations. I worked on the end to end product design process during this project.
Overview
After leaving the Ring marketing team I dived into product design for this silo’d project for the Neighbors Team.
The main goal of this project was to allow law enforcement to work alongside users who want to help with investigations if their devices caught activity relating to the incident.
Before I came onto the team there wasn’t many efforts to build a scalable solution so there came numerous challenges to fix the product.
Before design.
Product when I first joined the team.
Old manage cases page.
Old admin user page.
So where did we start?
The first step we took we analyzing what were the main actions of the user within the product. Which narrowed down to reviewing videos, sending request, and browsing the neighbors feed. With that in mind the optimization of where the user lands at the start of the experience had to be changed.. since at first glance it’s confusing on what to do.
Upgrading the components.
Taking the components into pieces and finding the best approach.
had to make sure these components could translate to mobile.
What you see above are visuals of the updated neighbors feed, which is the homepage of the application. At this view the product now aligns with the neighbors application that is on mobile devices and many users are familar with (this later being the framework to that web app).
Creating out a mobile iteration was our first line of user testing, which for mobile was crucial to moving forward.
A bit on the components
One of the directions I wanted to head in was bringing in a level of modern UX patterns that we see within most web applications.
Ring hasn’t built too many web applications so much of the headspace was always around mobile and never taking advantage of the space desktop can bring.
Requesting Videos
Requesting videos was one of the value points for law enforcement with this product. What you see going on here is, the investigations officer is inputting a given area that they want a message to be sent to all of the ring users in the area. The device owner will then get that message and have the choice to share or not share. If the device owner shares then the officer gets the media.
Manage Cases
These are the visuals for an officer that has several cases and within those have various videos to review. Within the case view they can play and mark if the material is critical or non critical.
Design system chats?
Being the only designer on the team at the time, while building out components I would document and componentize them within Figma.
The design system was never finished but provided the framework for the next designer that joined to continue building out.
Design systems work
During my time I kick started the creation of a design system for neighbors web, the work I created for the public safety portal eventually spread to the neighbors web application.
In Retrospective
The neighbors public safety portal was my first ever product design job, and it came with several challenges. Such as being the only designer on the team, learning the ropes of cross team communication, and making a push for design values that the team didn't notice at the time.
I owe the team for providing an area for massive growth, that I took into various projects in the future.


“Values are like fingerprints. Nobody's are the same, but you leave 'em all over everything you do”
Fact Elvis Presley
- Presley was born in Tupelo, Mississippi,
and relocated to Memphis, Tennessee with his family when he was 13 years old.
- In November 1956, Presley made his film debut in Love Me Tender. Drafted into military service in 1958, Presley relaunched his recording career
two years later with some of his most commercially successful work.
- With his rise from poverty to significant fame, Presley's success seemed to epitomize the American Dream. He is one of the best-selling music artists of all time, and was commercially successful in many genres,
including pop, country, R&B, adult contemporary, and gospel.
- Presley holds several records; the most RIAA certified gold and platinum albums, the most albums charted on the Billboard 200, and the most number-one albums by a solo artist on the
UK Albums Chart and the most number-one singles by any act on the UK Singles Chart.
More info about Elvis Presley


The Knight Before Christmas is Netflix’s latest mushy, gushy, fluffy, wuffy holiday movie
Follow Polygon online:
by Petrana RadulovicNetflix holiday specials already gave us modern day prince and princess switcheroos. The next logical, totally reasonable step in this progression: roping in some knights. But not just some modern stately officials from an imaginary tiny European country— nay! Netflix has decided to bring-eth a real bonafide medieval knight to bless Vanessa Hudgens’ holiday season.
Enter The Knight Before Christmas! Because there’s that poem called “The Night Before Christmas” and the guy in this movie is an actual knight? And it happens before and around Christmas? Genius!
Regular ol’ science teacher Brooke (Vanessa Hudgens) finds a very confused man who talks like he’s a Medieval Times actor. Except, he’s actually from the medieval times. Brooke thinks Cole (Josh Whitehouse from Poldark) is just a regular amnesia patient, so against the judgement of literally everyone in her life, she decides to take him in for the holidays.
Because this is a Christmas movie, the two bond, find joy in the holidays, and will most likely fall head over heels for each other by the time Dec. 25 rolls around. Expect wonderful, gooey, marshmallow-y fluff, perfect as an accompaniment to a mug of hot cocoa.
The Knight Before Christmas rides onto Netflix on Nov. 21.


◆ ArmAnimatorSemaphoreCount
| float TheKiwiCoder.Blackboard.ArmAnimatorSemaphoreCount = 0 |
◆ armSpeed
| float TheKiwiCoder.Blackboard.armSpeed = 1f |
◆ BodyAnimatorSemaphoreCount
| float TheKiwiCoder.Blackboard.BodyAnimatorSemaphoreCount = 0 |
◆ bodySpeed
| float TheKiwiCoder.Blackboard.bodySpeed = 4f |
◆ emotion
◆ goalPosition
| Vector3 TheKiwiCoder.Blackboard.goalPosition |
◆ goalRotation
| Vector3 TheKiwiCoder.Blackboard.goalRotation |
◆ headSpeed
| float TheKiwiCoder.Blackboard.headSpeed = 2f |
◆ objToLookAt
| Transform TheKiwiCoder.Blackboard.objToLookAt |
◆ objToMoveTo
| Transform TheKiwiCoder.Blackboard.objToMoveTo |
◆ objToPointTo
| Transform TheKiwiCoder.Blackboard.objToPointTo |
◆ objToTurnTo
| Transform TheKiwiCoder.Blackboard.objToTurnTo |
◆ pointToPaperName
| string TheKiwiCoder.Blackboard.pointToPaperName |
◆ timeToPoint
| float TheKiwiCoder.Blackboard.timeToPoint = 5f |
The documentation for this class was generated from the following file:
- /Users/tgroeche/scripts/UnityProjects/MoveToCode/Assets/BT/BehaviourTree/Scripts/Runtime/Blackboard.cs


| I l@ve RuBoard |
This chapter discusses in detail function objects, or functors for short, which were introduced in Section 5.9. It covers the full set of predefined function objects and function adapters, and the concept of functional composition, and provides examples of self-written function objects.
| I l@ve RuBoard |


In this simple demo, you can see how Angular and Polymer can work together. This demonstrates the power of two way-data binding in both projects.
Name: Angular binding: {{name}}
Polymer Element


Name:
- Sriram Baloo (Everyone calls me Baloo)
Location:
Bio
- Born: Madras, India
- Raised: Queens, NY
- Military: Army, Joined 2006
- Military Occupation: 18F
- Deployments: 7
- Retired: 2020(medically retired)
- Current Occupation: Support Engineer
Education
- Boston University
- Defense Language Institute
- Code Fellows!
Experience:
- AWS - Support Engineer
- US Army 11B/RTO/18E/18F
- United Nations Computer/Network Security
- American Micro Computers Rapid Response Engineer
Goals
- Graduate Code Fellows and be proficient with all the material
- Pass the OSCP
- Get a job coding in security


Setting up AeroGear Mobile on Minishift
Before Installation
-
Check Minishift version is at least 1.16.1:
$ minishift version minishift v1.16.1+d9a86c9
Note: Make sure you have setup proper virtualization environment: https://docs.openshift.org/latest/minishift/getting-started/setting-up-virtualization-environment.html#setting-up-xhyve-driver
Installation
-
Clone the minishift-mobilecore-addon repo.
-
Add mobilecore to the minishift add-ons catalog:
minishift addons install -f minishift-mobilecore-addon/ minishift addons enable minishift-mobilecore-addon
On subsequent installs, make sure to update the minishift-mobilecore-addon
repo (git pull
) before running these commands to ensure the addon and mobile-core versions are compatibile.
You may want to install the admin user addon for minishift to give
you an admin user to login in with Enable the admin-user addons by default (or apply it later):
minishift addons enable admin-user
|
minishift addons enable admin-user
-
Set the following environment variables:
export MINISHIFT_ENABLE_EXPERIMENTAL=y export CONTAINER_REPO_USERNAME=<docker hub username> export CONTAINER_REPO_PASSWORD=<docker hub password>
If you use a Docker Hub organization, set a variable for it using export CONTAINER_REPO_ORG=<your docker hub org>
. If you don’t specify CONTAINER_REPO_ORG in the next step, theaerogearcatalog
organization is used. -
Configure Minishift for AeroGear:
minishift config set addon-env CONTAINER_REPO_USERNAME=${CONTAINER_REPO_USERNAME},CONTAINER_REPO_PASSWORD=${CONTAINER_REPO_PASSWORD}
Other options include:
-
CONTAINER_REPO_ORG: defaults to 'aerogearcatalog', specifies where to search for service catalog items.
-
CORE_REPO: defaults to 'aerogear', specifies the organziation or user in github to install the mobile-core component, that is, https://github.com/<CORE_REPO>/mobile-core.git.
-
CORE_BRANCH defaults to 'master', specifies the branch in the the CORE_REPO to install.
-
CONSOLE_IMAGE defaults to 'openshift/origin-web-console:v3.9.0', change this to specify a particular image to use for running the console.
-
-
Configure Minishift resources
AeroGear recommends configuring Minishift to start with extra CPUs and RAM:
minishift config set cpus 4 minishift config set memory 4096
-
Clear Minishift to enable mobile core:
minishift stop minishift delete
-
Create a new Minishift cluster with service catalog and mobile core:
minishift start --openshift-version v3.9.0 --extra-clusterup-flags "--service-catalog"
If you did not enable the addon, you need to apply it manually:
minishift addons apply minishift-mobilecore-addon
When the installation is complete you are prompted to login using either the
oc
CLI or the OpenShift web console:OpenShift server started. The server is accessible via web console at: https://<IP_ADDRESS>:8443 You are logged in as: User: developer Password: <any value> To login as administrator: oc login -u system:admin -- Applying addon 'mobilecore':..................... Installing and starting MCP extension, this can take a while .... Installing Ansible Service Broker.. mobile core successfully enabled
Troubleshooting
-
If you can see the the OpenShift service catalog, but not the mobile tab, note that the installation may not have completed. Wait some time before reviewing Mobile tab not appearing in the service catalog section.
-
Try deleting the Minishift VM and restarting:
minishift stop minishift delete minishift start --openshift-version v3.9.0 --service-catalog
-
Confirm the addon-env config values are correct:
minishift config get addon-env
If values are incorrect, follow the instructions in Setting up Minishift.
-
Review the following scenarios:
Service catalog flag is not recognized
This is an error output by Minishift when it is running without the MINISHIFT_ENABLE_EXPERIMENTAL
environment variable set to 'y'. To correct this run the following in your current shell:
export MINISHIFT_ENABLE_EXPERIMENTAL=y
Mobile tab not appearing in the service catalog
-
Make sure the Ansible Service Broker is running:
-
Log into your Minishift cluster as admin:
oc login -u system:admin
-
Check that the asb pod is running correctly in the
ansible-service-broker
namespace:oc get pods -n ansible-service-broker
If the asb pod is running correctly, you see something similar to the following:
NAME READY STATUS RESTARTS AGE asb-1-8n4b6 1/1 Running 0 46m asb-etcd-1-ptzmp 1/1 Running 0 46m
-
If the asb pods are not running, start them using either of the following commands:
oc rollout latest asb oc rollout latest asb-etcd
-
-
Make sure the Ansible Service Broker can find the Mobile APBs by following the procedure in APBs not displayed in service catalog
APBs not displayed in service catalog
This issue is typically caused by incorrect values for the CONTAINER_REPO_USER, CONTAINER_REPO_PASSWORD or CONTAINER_REPO_ORG.
-
Check the Docker hub values:
minishift config get addon-env
-
After correcting any values, you need to delete and restart the Minishift VM:
minishift stop minishift delete minishift start --openshift-version v3.9.0 --service-catalog
Errors displayed when stopping or deleting Minishift
-
Check any links to Minishift documentation displayed in the errors.
-
Check the Minishift configuration, typically
~/.minishift
for any possible permission issues. -
Try running
minishift stop
and retryingminishift delete
. -
If the issue is still occurring, delete the Minishift configuration directory and recreate it:
sudo rm -rf ~/.minishift minishift addons install -f /path/to/minishift-mobilecore-addon minishift addons enable mobilecore


For projects that use Unity3d as the build system. This causes Jenkins to invoke the Unity3d Editor with the given command line arguments. A non-zero exit code from Unity3d makes Jenkins mark the build as a failure.


Defines image related input / output utilities objects.
Bases: tuple
BitDepth_Specification(name, numpy, openimageio, domain, clip)
Return self as a plain tuple. Used by copy and pickle.
Exclude the OrderedDict from pickling
Return a nicely formatted representation string
Alias for field number 4
Alias for field number 3
Alias for field number 0
Alias for field number 1
Alias for field number 2
Reads given image using OpenImageIO.
| Parameters: |
|
|---|---|
| Returns: | Image as a ndarray. |
| Return type: | ndarray |
Examples
>>> import os
>>> path = os.path.join('tests', 'resources', 'CMSTestPattern.exr')
>>> image = read_image_as_array(path)
Writes given image using OpenImageIO.
| Parameters: |
|
|---|---|
| Returns: | Definition success. |
| Return type: | bool |
Examples
>>> import os
>>> path = os.path.join('tests', 'resources', 'CMSTestPattern.exr')
>>> image = read_image_as_array(path)
>>> path = os.path.join('tests', 'resources', 'CMSTestPattern.png')
>>> write_image(image, path, 'uint8')
True


WITNESS LIST Urban Affairs Committee May 17, 2005-8:00A HCR 7 On: Stone, Charles S. (Charlie) (Office of Rural Community Affairs) SB 1022 For: Collins, Sharlene N. (Hill Country Galleria Ground Master Lease LP) DeSpain, Joel (Opus West Corp. HCG Master Ground Lease, L.P. (HCG)) Fisher, James (Village of Bee Cave) Kelley, Scott (Hill Country Galleria Ground Master Lease) Against: Baker, Sarah (Save Our Springs Alliance, Inc.) SB 1341 For: Pitts, John R. (Texas Affiliation of Affordable Housing Providers) Against: Bridgewater, Phillip (Habitat for Humanity Affiliates of TX) Carlisle, Kristin (Texas Low Income Housing Information Service) Chappell, Ann S. (Self and Habitat for Humanity Council of North Central TX) Chatham, Donna (Association of Rural Communities in Texas) Doggett, Robert (Self and Texas Low Income Housing Information Service) Drennan, Carol (HFH Texas, INC.) Henneberger, John (Texas Low Income Housing Information Service) Hull, Matt (Texas Association of Community Development Corporations) Langendorf, Jean (Self and United Cerebral Palsy of Texas) Moreau, Walter (Foundation Communities) Ocanas, Reymundo (Self and Texas Association of CDCs) Schwartz, Jonas (Advocacy, Incorporated) Timmaraju, Mini (Self and Legislative Director, TX ACORN) Williams, Sandra J. (Alamo Area Mutual Hsg Assoc. /TX Association of Community Development Corps) Yager, Gage (Self and Fort Worth Area Habitat for Humanity, Inc.) On: Boston, Brooke (Texas Dept. of Housing and Community Affairs) Carrington, Edwina (Texas Dept. of Housing and Community Affairs) Jackson, Antoinette M. (TX NAHRO) Lyttle, Michael (Texas Dept. of Housing and Community Affairs) SB 1841 For: Richie, Carl S. (Texas Chapter National Association of Housing Redevelopment Officials) SB 1866 For: Kroll, John (City of Dickinson) SB 1867 For: Davis, Steven H. (Self) Griffith, Dave (Self) Haugen, John (The City of Nassau Bay) Kennedy, John (City of Nassau Bay) Lary, Trey (Nassau Bay EDC)


Create an index.html that uses inline styles, submit the link to your github url that contains that file for points
Using tr/td's and table tags, turn in an index.html that utilizes these to create a proper table
| FName | LName | Address |
|---|---|---|
| Rom | Geb | 123 address |
| Meh | Beg | 555 Address |
| Abe | Ber | 234 Address |
| Miss | Hope | 222 Address |
Please select your prefered city for your class.


fun run(command: Command): Unit
Overrides Scheduler.run
Starts a given Command, and adds it to a queue so that it's periodic function is called when periodic is called.
command - the command to run
command


Recipe 2.17. Swapping One File Extension for Another Throughout a Directory TreeCredit: Julius Welby ProblemYou need to rename files throughout a subtree of directories, specifically changing the names of all files with a given extension so that they have a different extension instead. SolutionOperating on all files of a whole subtree of directories is easy enough with the os.walk function from Python's standard library: import os def swapextensions(dir, before, after): if before[:1] != '.': before = '.'+before thelen = -len(before) if after[:1] != '.': after = '.'+after for path, subdirs, files in os.walk(dir): for oldfile in files: if oldfile[thelen:] == before: oldfile = os.path.join(path, oldfile) newfile = oldfile[:thelen] + after os.rename(oldfile, newfile) if _ _name_ _=='_ _main_ _': import sys if len(sys.argv) != 4: print "Usage: swapext rootdir before after" sys.exit(100) swapextensions(sys.argv[1], sys.argv[2], sys.argv[3]) DiscussionThis recipe shows how to change the file extensions of all files in a specified directory, all of its subdirectories, all of their subdirectories, and so on. This technique is useful for changing the extensions of a whole batch of files in a folder structure, such as a web site. You can also use it to correct errors made when saving a batch of files programmatically. The recipe is usable either as a module to be imported from any other, or as a script to run from the command line, and it is carefully coded to be platform-independent. You can pass in the extensions either with or without the leading dot (.), since the code in this recipe inserts that dot, if necessary. (As a consequence of this convenience, however, this recipe is unable to deal with files completely lacking any extension, including the dot; this limitation may be bothersome on Unix systems.) The implementation of this recipe uses techniques that purists might consider too low levelspecifically by dealing mostly with filenames and extensions by direct string manipulation, rather than by the functions in module os.path. It's not a big deal: using os.path is fine, but using Python's powerful string facilities to deal with filenames is fine, too. See AlsoThe author's web page at http://www.outwardlynormal.com/python/swapextensions.htm. |


Level: {{player.level}}
HP: {{player.hp}} / {{player.maxhp}}
Strength: {{player.strength}}
Agility: {{player.agility}}
Endurance: {{player.endurance}}


You check your phone and there is a message from your friend . The text reads "Thanks again for covering my shift today at , I owe you one.
Choose A Choice
Getting some food in your system will probably help you feel better.
You technically are... "Sick" right?. Being hungover is alot like being sick.


StackOverflow Lite
Home
Features
Gallery
Contact
Logout
All Activity
Questions
Unanswered
Ask a Question
Recent questions and answers in StackOverflow Lite
1
answer
How can i add input element and button in header in template toaster ?
answered
Apr 30
in
HTML Website
by
lisa-west
(
26,560
points)
1
answer
How to view/copy html
answered
Mar 8
in
HTML Website
by
lisa-west
(
26,560
points)
1
answer
TT v7 failed to preview in Chrome and IE?
answered
Feb 22
in
HTML Website
by
lisa-west
(
26,560
points)
General Discussion
Recent questions and answers
Get in touch with us
Facebook
Twitter
Email:
info@gnztrades.com


This is the CV of Noir Vortex, cyberpunk private detecive for hire in Nexus City 2k
Job History
Employer: CyberSoc Industries 2020 - 2025
I dealt with cybersecurity for this large shadowy organisaion based in the basement of a cybersecurity organsiation
Key Skills
- Ethical Hacking of computers
- Kicking butt
- cybersecurity and analysis
- Coding in many languages


connect |
CSS selector |
~.ui-switcher |
Related items container. By default succeeding elements with class 'ui-switcher'. |
toggle |
CSS selector |
> * > :first-child |
Toggle selector - triggers content switching on click. |
active |
Number |
0 |
Active index on init. (Providing a negative number indicates a position starting from the end of the set) |
animation |
String |
false |
The space separated names of animations to use. (Comma separate for animation out) |
duration |
Number |
200 |
The animation duration. |
swiping |
Boolean |
true |
Use swiping. |


HAIL to thee, blithe Spirit!
Bird thou never wert,
That from heaven, or near it,
Pourest thy full heart
In profuse strains of unpremeditated art
Higher still and higher
From the earth thou springest
Like a cloud of fire;
The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.
In the golden lightning
Of the sunken sun
O’er which clouds are brightening,
Thou dost float and run,
Like an unbodied joy whose race is just begun.
The pale purple even
Melts around thy flight;
Like a star of heaven
In the broad daylight
Thou art unseen, but yet I hear thy shrill delight:
Keen as are the arrows
Of that silver sphere,
Whose intense lamp narrows
In the white dawn clear
Until we hardly see, we feel that it is there.
All the earth and air
With thy voice is loud,
As, when night is bare,
From one lonely cloud
The moon rains out her beams, and heaven is overflow’d.
What thou art we know not;
What is most like thee?
From rainbow clouds there flow not
Drops so bright to see
As from thy presence showers a rain of melody.
Like a poet hidden
In the light of thought,
Singing hymns unbidden,
Till the world is wrought
To sympathy with hopes and fears it heeded not:
Like a high-born maiden
In a palace tower,
Soothing her love-laden
Soul in secret hour
With music sweet as love, which overflows her bower:
Like a glow-worm golden
In a dell of dew,
Scattering unbeholden
Its aerial hue
Among the flowers and grass, which screen it from the view:
Like a rose embower’d
In its own green leaves,
By warm winds deflower’d,
Till the scent it gives
Makes faint with too much sweet these heavy-winged thieves.
Sound of vernal showers
On the twinkling grass,
Rain-awaken’d flowers,
All that ever was
Joyous, and clear, and fresh, thy music doth surpass.
Teach us, sprite or bird,
What sweet thoughts are thine:
I have never heard
Praise of love or wine
That panted forth a flood of rapture so divine.
Chorus hymeneal
Or triumphal chaunt
Match’d with thine, would be all
But an empty vaunt—
A thing wherein we feel there is some hidden want.
What objects are the fountains
Of thy happy strain?
What fields, or waves, or mountains?
What shapes of sky or plain?
What love of thine own kind? what ignorance of pain?
With thy clear keen joyance
Languor cannot be:
Shadow of annoyance
Never came near thee:
Thou lovest; but ne’er knew love’s sad satiety.
Waking or asleep
Thou of death must deem
Things more true and deep
Than we mortals dream,
Or how could thy notes flow in such a crystal stream?
We look before and after,
And pine for what is not:
Our sincerest laughter
With some pain is fraught;
Our sweetest songs are those that tell of saddest thought.
Yet if we could scorn
Hate, and pride, and fear;
If we were things born
Not to shed a tear,
I know not how thy joy we ever should come near.
Better than all measures
Of delightful sound,
Better than all treasures
That in books are found,
Thy skill to poet were, thou scorner of the ground!
Teach me half the gladness
That thy brain must know,
Such harmonious madness
From my lips would flow
The world should listen then, as I am listening now!
THE FOUNTAINS mingle with the river
And the rivers with the ocean,
The winds of heaven mix for ever
With a sweet emotion;
Nothing in the world is single,
All things by a law divine
In one another’s being mingle—
Why not I with thine?
See the mountains kiss high heaven
And the waves clasp one another;
No sister-flower would be forgiven
If it disdain’d its brother:
And the sunlight clasps the earth,
And the moonbeams kiss the sea—
What are all these kissings worth,
If thou kiss not me?
SWIFTLY walk over the western wave,
Spirit of Night!
Out of the misty eastern cave
Where, all the long and lone daylight,
Thou wovest dreams of joy and fear
Which make thee terrible and dear,—
Swift be thy flight!
Wrap thy form in a mantle gray
Star-inwrought!
Blind with thine hair the eyes of day,
Kiss her until she be wearied out:
Then wander o’er city and sea and land,
Touching all with thine opiate wand—
Come, long-sought!
When I arose and saw the dawn,
I sigh’d for thee;
When light rode high, and the dew was gone,
And noon lay heavy on flower and tree,
And the weary Day turn’d to his rest
Lingering like an unloved guest,
I sigh’d for thee.
Thy brother Death came, and cried
Wouldst thou me?
Thy sweet child Sleep, the filmy-eyed,
Murmur’d like a noon-tide bee
Shall I nestle near thy side?
Wouldst thou me?—And I replied
No, not thee!
Death will come when thou art dead,
Soon, too soon—
Sleep will come when thou art fled;
Of neither would I ask the boon
I ask of thee, belove´d Night—
Swift be thine approaching flight,
Come soon, soon!
O WILD West Wind, thou breath of Autumn’s being,
Thou, from whose unseen presence the leaves dead
Are driven, like ghosts from an enchanter fleeing,
Yellow, and black, and pale, and hectic red,
Pestilence-stricken multitudes: O thou
Who chariotest to their dark wintry bed
The winge´d seeds, where they lie cold and low,
Each like a corpse within its grave, until
Thine azure sister of the spring shall blow
Her clarion o’er the dreaming earth, and fill
(Driving sweet buds like flocks to feed in air)
With living hues and odours plain and hill:
Wild Spirit, which art moving everywhere;
Destroyer and Preserver; Hear, O hear!
Thou on whose stream, ’mid the steep sky’s commotion,
Loose clouds like earth’s decaying leaves are shed,
Shook from the tangled boughs of Heaven and Ocean,
Angels of rain and lightning; there are spread
On the blue surface of thine airy surge,
Like the bright hair uplifted from the head
Of some fierce Maenad, ev’n from the dim verge
Of the horizon to the zenith’s height—
The locks of the approaching storm. Thou dirge
Of the dying year, to which this closing night
Will be the dome of a vast sepulchre,
Vaulted with all thy congregated might,
Of vapours, from whose solid atmosphere
Black rain, and fire, and hail, will burst: O hear!
Thou who didst waken from his summer-dreams
The blue Mediterranean, where he lay
Lull’d by the coil of his crystalline streams,
Beside a pumice isle in Baiae’s bay,
And saw in sleep old palaces and towers
Quivering within the wave’s intenser day,
All overgrown with azure moss and flowers
So sweet, the sense faints picturing them! Thou
For whose path the Atlantic’s level powers
Cleave themselves into chasms, while far below
The sea-blooms and the oozy woods which wear
The sapless foliage of the ocean, know
Thy voice, and suddenly grow gray with fear
And tremble and despoil themselves: O hear!
If I were a dead leaf thou mightest bear;
If I were a swift cloud to fly with thee;
A wave to pant beneath thy power, and share
The impulse of thy strength, only less free
Than Thou, O uncontrollable! If even
I were as in my boyhood, and could be
The comrade of thy wanderings over heaven,
As then, when to outstrip thy skyey speed
Scarce seem’d a vision, I would ne’er have striven
As thus with thee in prayer in my sore need.
O lift me as a wave, a leaf, a cloud!
I fall upon the thorns of life! I bleed!
A heavy weight of hours has chain’d and bow’d
One too like thee: tameless, and swift, and proud.
Make me thy lyre, ev’n as the forest is:
What if my leaves are falling like its own!
The tumult of thy mighty harmonies
Will take from both a deep autumnal tone,
Sweet though in sadness. Be thou, Spirit fierce,
My spirit! be thou me, impetuous one!
Drive my dead thoughts over the universe
Like wither’d leaves, to quicken a new birth;
And, by the incantation of this verse,
Scatter, as from an unextinguish’d hearth
Ashes and sparks, my words among mankind!
Be through my lips to unawaken’d earth
The trumpet of a prophecy! O Wind,
If Winter comes, can Spring be far behind?


---
layout: default
title: "Customer Addresses"
permalink: "/account/addresses/index.html"
---
{% comment %}
Add address form, hidden by default
{% endcomment %}
{% include add-customer-address.html %}
Your Addresses
{% include list-customer-addresses.html %}


Deborah Anne Harris
Home
About Me
Blog
Resources
My Blog
Latest Blog
Feedback
Ruby Classes
Why are so many hot tech companies not going public?
Round and Around We Go!
I Have a Thinking Style?
Arrays vs. Hashes
I'm Marginal, Know No Borders and Have Lots of Padding
In the Kitchen again?
First Time for Everything


This graph is found in a article on fivethirtyeight.com titled "35 Years Of American Death". I find this graph interesting because it displays bunch of information in a single chart, it shows not only the top cause of death in the last decades but numbers in each end of the study plust a trend where we can appreciated how drastic was the rise. I acknowledge the most tough work was on collecting the data but this visualization also attemps foster the awareness within the population about this matter, even to the less educated people.
However, these estimates come with some uncertainty.For counties with very small populations or causes with few deaths, such as “forces of nature, war and legal intervention,” the uncertainty is greater


Outline
When we’re doing research, we often find ourselves working on more than one research project at time. Managing multiple folders of data and code can be confusing enough, but when we throw R into the mix, things can get messy very quickly. A large part of the confusion comes from how most folks manage research projects on their own system — which was been aptly summarised by the wonderful Jenny Bryan:
If the first line of your R script is
setwd("C:\Users\jenny\path\that\only\I\have")
I will come into your office and SET YOUR COMPUTER ON FIRE 🔥.
If the first line of your R script is
rm(list = ls())
I will come into your office and SET YOUR COMPUTER ON FIRE 🔥.
While I won’t come and set your computer on fire (especially because I have committed both of these coding crimes in the past), I do want to teach you about two really useful tools for making your life easier for managing research projects, and much nicer for sharing code with collaborators.These two tools are R Studio projects and the here
package.
Prerequisites
- Have R and R Studio installed
- Have the
tidyverse
andhere
packages installed - Have a small research project that you’re ready to projectify, or some test code/data to make into a practice research project
Learning objectives
This introduction should allow you to:
- Create new R Studio projects
- Use the
here
package to create reproducible filepaths - Use both tools together to create research projects that are stable, shareable and easy to work with!
Managing research projects in R Studio
What’s wrong with rm(list = ls())
anyway?
rm(list = ls())
is built to do one thing: wipe the slate clean by nuking your entire R environment. While this might seem like good practice each time you start coding, it actually makes life tricky if you are in the middle of analysing one dataset and want to quickly jump into another research project to do something else; clearing your environment every time means you have to start from scratch, and if you forget to run it before diving into new code, any common variables will be overwritten and madness is likely to follow.
The Magic of RStudio and Projects
R Studio is great, and if you don’t already use it I’d highly recommend starting now! R Studio is what we’d call a IDE (Integrated Development Environment) that allows us to integrate with R to do much more than execute code. Despite its wide use in the science community, there’s one bit of functionality that seems to regularly overlooked by many folks: “Projects”. These files — which you can start to explore from the drop-down menu in the top-right of R Studio — are designed for compartmentalising your work into separate contexts, which are great if you have multiple research projects on the go at once.
RStudio projects resolve the issue of rm(list = ls())
by creating a separate R Studio instance for each new project, each with its own R session, environment, temporary files and working directory (see next section on the ‘here’ package for more on filepaths).
If we navigate to New Project...
(either from File
or the drop-down Projects toolbar in the top-right), we are given the option of creating a new R Studio project in one of three ways:
- New directory (i.e. start from an empty folder)
- Existing directory (when you already have a folder of code and data that you want to turn into a project)
- Version control (when you want to start version control of a project — see Next steps section for more info on this)
Most of the time you’ll be starting a new project in an empty folder, so we’ll use the New Directory
option:
Next you’re provided with a bunch of alternate project types, but we’ll go for the New Project
option:
Lastly, we get to choose the directory name (this is the name the project folder will have, so make sure it identifies your project clearly) and where this directory will be saved (i.e where on your computer you want to keep your research project folders):
Note: If you tick the box to open in a new session (circled red), whatever you’re currently working on in R Studio won’t have to be saved and closed.
And that’s it! You now have a nice folder ready to fill with data and code, and never need to use rm(list = ls())
ever again. R Studio also did a couple of things for us in the background when we hit the Create Project
button:
- Created an
.Rproj
file in the top level of the folder (can be used to directly open each project in a new session, and also contains various options for project-specific settings) - Created a hidden directory
.Rproj.user
where project-specific temporary files are stored (useful if you have a session terminate unexpectedly) - Loaded the project into R Studio, with the project name displayed in the Projects toolbar (top-right) and also in front of the RStudio icon in the task bar (appearance differs between macOS and Windows)
- While your root filepath would normally have started at the top of your disk drive, it should now start wherever the Project’s
.Rproj
file is (you’ll see this pathn when you first loadhere
). So no more writing —C:\extremely\long\filepath\that\only\I\have
every time (BUT see next section on thehere
package for making this even better).
Best practices for structuring project folders
Once a project is created, it’s worth adding folders to contain each of the relevant types of data for your research. For most of us this usually means something like the following: raw_data
, code
, outputs
(folders should only contain data relevant to the research project).
Building robust filepaths with the here
package
R Studio projects go a long way to making simpler filepaths for our code by removing the need for absolute filepaths (which are specific to your system), and introducing relative filepaths (i.e. ones that start at the location of .Rproj file). That said, we can make things even better and more reproducible by making use of the here
package. here
helps make filepaths consistent between different operating systems. For example, while macOS users have filepaths separated by forward slashes (/
), windows users have filepaths with backward slashes (\
). This means that even with the shorter relative filepaths we get when using Projects, paths like raw_data/2023.csv
will only work for macOS users, and if you share this fragile code with someone using Windows it will just throw errors.
In comes the here
package to the rescue — we can use it to make reproducible filepaths that work for everyone! here
works in a similar way to file.path
, where we build a path to a folder or file by listing elements of the path as arguments. For example, if we had some data in a project sub folder of raw_data
called 2023.csv
, we’d make a reproducible filepath to it by writing here("raw_data, "2023.csv")
. here
does some helpful stuff in the background by a) adding our project’s root directory (which you can look at by just running here()
), b) starts evaluating path from the project up (which file.path
doesn’t), and c) all while using the right /
or \
delimiter depending on your system!
When you want to actually use a filepath for say, reading some data with read_csv
, you just have to provide the here
function and folder arguments wherever you’d normally be putting a Users/stephen's/long/winded/filepath/to/a/file
:
install.packages("here") #install
library(here) #load
here() #this will magically show the project root directory on your machine
here("raw_data", "2019.csv") #this builds a filepath for where you want to go
read_csv(file = here("raw_data", "2019.csv")) #build this same filepath in read_csv
Next steps
Using these two sets of tools together, you’re now primed to do some reproducible science on as many different projects as you want! But how can we go about sharing this with other researchers if we wanted to? While you can technically share the entire project folder with collaborators directly, we can also use version control software and online repositories to manage changes to our code and make it accessible. The main way folks do this is using git and GitHub, and we will do a later post on how to get set up with both in due course.
Summary
We’ve had a full intRoduction to getting started with R Studio Projects and here
. The next step is to try it out for yourself on a new research project! (Hopefully this knowledge will mean no more time spent crafting obnoxiously long filepaths for setwd()
to reply with: “Error: cannot change working directory” 🤦)
Additional Resources
- Posit (previously known as RStudio) have a wealth of information on using the RStudio IDE, including this great how-to guide
- Kirill Müller, creator of the
here
package, has a great primer for getting started
Acknowledgements
We did not create this content alone! Inspiration, tips, and resources have been borrowed from multiple sources.
- Martin Chan’s beginner’s guide to using R Studio projects
- Jenny Bryan’s ‘Ode to the
here
package’ - Malcom Barret’s blog post on using the
here
package alongside Projects


This is the account you will use to export your tracks.
This is the account you will update.
You can export tracks one by one or simply all in one.
This is the account you will use to export your tracks.
All your YouTube's tracks will be exported to this Spotify's account
You can export tracks one by one or simply all in one.


Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Comments
Lorem Ipsum Just now
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem Ipsum Just now
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem Ipsum Just now
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem ipsumJust now
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem ipsumJust now
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem ipsumJust now
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem ipsumJust now
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.


Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
Hint 1:
A really brute force way would be to search for all possible pairs of numbers but that would be too slow. Again, it's best to try out brute force solutions for just for completeness. It is from these brute force solutions that you can come up with optimizations.
Hint 2:
So, if we fix one of the numbers, say x, we have to scan the entire array to find the next number y which is value - x where value is the input parameter. Can we change our array somehow so that this search becomes faster?
Hint 3:
The second train of thought is, without changing the array, can we use additional space somehow? Like maybe a hash map to speed up the search?
Answer (Brute Force):
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(len(nums)):
for j in range(i+1,len(nums)):
pair_sum = num[i] + num[j]
# check condition
if pair_sum == target:
return [i,j]
Comments
Post Comment


SASS and the ampersand selector
SASS and the ampersand selector #
Recently I was tasked to add a new feature on a website's code base that was developed by another developer. This wasn't my first rodeo especially with working with multiple developers. What was needed was pretty simple. So I first started viewing things in the Chrome's inspector just to get a sense of what and where I needed to make the changes. Thanks to source maps, it was pretty straight forward.
I pulled up the SASS file where I need to make the change. I did a little jump to a line feature in Sublime Text but the class I was looking for wasn't on that line. It was about a 30 or so lines down further.
Everyone is aware of the ampersand selector with sass. If the &
is before a declaration it's part of the declarations parent. If it's after the declaration then that class has to become before all the other classes in it's declaration.
.block {
&.block--modifier {
display: block;
}
.block__parent & {
display: inline-block;
}
}
Got it — Good!
Now I've been using SASS this way since I started but on this project I seen that the previous developer started using the &
for declaring it's children classes. For instance:
.block {
display: inline-block;
&--modifier {
display: block;
}
}
Now when that outputs it'll be 2 separate classes.
.block {
display: inline-block;
}
.block--modifier {
display: block;
}
When I looked at this I totally get it. I see the benefits of how this will speed up coding, leaner modular code; but there was an issue I jumped at me right away.
When using source maps and inspecting an element it doesn't show exactly where this declaration is in the sass file. It ends up showing where it's parent was first declared. Now if your code is lean and which I try to strive to have mine but honestly this isn't always the case and in my case there was a lot of modifiers and elements being declared this way.
So I looked past this and tried to do a project search for .block--modifier
but the search came up empty as it should. This class was never fully written out since it was nested inside the parent and declared as &--modifier
.


This site is built with Hugo
Hugo is a static site generator that converts markdown into webpages using templates. Tutorials ofte push a theme providing pre-configured css and directory layouts, but I have found that building templates from scratch provide much more control over the site.
If you’re interested in learning more, or you’re me and forgot how to do this, see the posts below on how to configure a hugo site from scratch.


Lab
-
JavaScript
This one uses JavaScript to make the whole thing clickable, but really only the title is a link.
The description does not show a link preview, and you cannot open in a new tab from the description (ctrl+click, middle click or right click).
-
CSS Only
This one has the whole thing as a link.
Screen readers will read this entire text before announcing the link. The text can only be selected by holding alt. There is no way to drag the image. It's impossible to nest links.
-
CSS + ARIA
This one is very similar to "CSS Only," except it defines some ARIA attributes which help identify the label and the description.
Whether or not it works is complicated.
-
Pseudo-element Trick
This one expands its link over the full parent.
In Chrome, it at first appears possible to select text by holding alt, but only the cursor changes. Nothing can be selected.
It's possible to have nested links using
position: relative
. -
Compromise
This one links around the image and the title only, which preserves the majority of the clickable area.
On Chrome the title is not draggable.
-
This one has its link inside the title only, which is more semantically correct. It has a pseudo-element covering the (container of) the image and the title, but not this paragraph (which is selectable as normal).
Users could easily click here thinking it would work, though.
-
Final Option
This last one is a little special, because it only includes an image and a title. In this case, the tree can go h2 > a > img
without much trouble since img
is naturally an inline element and won't show up on screen readers.
The margins would have to be considered for this one. Flexbox could also be used to switch the order of the text and the image, and it's all part of an h2 so it should all look correct.
The description could go here if necessary without much loss. It would have to have some way to avoid breaking onto the next column, like a wrapper.


Shrewsbury Town to welcome Manchester City youngsters in EFL Trophy second round
by Lewis CoxShrewsbury Town will welcome a host of young stars after being paired with Manchester City's under-21s in the EFL Trophy second round.
Sam Ricketts' side finished as runners-up in their group stage and should have faced an away tie but City and Manchester United's academy sides received dispensation from the league to instead play away.
So the Etihad youngsters will head to Montgomery Waters Meadow for the first knockout round, which will take place the week commencing December 2.
Town were paired with City's under-21s in last season's group stage where John Askey's side drew 1-1 thanks to a last-gasp Citizens equaliser, Shrewsbury did win the resulting penalty shootout.
Town boss Ricketts made his intentions clear from the start of this season's competition and has named a strong side in each tie so far. Shrews beat the other 'invited' club they have faced in the competition this season, downing Newcastle United's under-21s 3-0.