Local beer of the night.
official daine visual archive

roma★

titsay
tumblr dot com
Noah Kahan
Keni
RMH
🪼
I'd rather be in outer space 🛸

Andulka
Sweet Seals For You, Always
Monterey Bay Aquarium
Today's Document
ojovivo
almost home
Misplaced Lens Cap
Claire Keane
Cosimo Galluzzi
todays bird
seen from Netherlands
seen from Mexico

seen from Malaysia
seen from Indonesia
seen from Malaysia

seen from United States
seen from Portugal

seen from Saudi Arabia

seen from United Kingdom
seen from Norway
seen from Saudi Arabia

seen from Saudi Arabia

seen from France
seen from Saudi Arabia
seen from Ireland

seen from United States
seen from Brazil

seen from Saudi Arabia
seen from United States
seen from Saudi Arabia
@nicktj
Local beer of the night.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
An excellent beer. Serious chocolate notes and malty. Definitely picking this up again
Yum!
Test Your Software, or Your Users Will.
The Pragmatic Programmer
Yum. Definitely can taste a little if the chili flavor. It's very full bodied and doesn't taste like an 11% ABV.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Optional Yubikey Challenge-Response Authentication on OSX
I bought a Yubikey with the intention it's another way to login and not necessarily required to login. The idea is that if I turn over dead one day, my family could recover the artifacts of my digital life and it's crazy password arrangements. Amidst searching and reading just about everything I could find on how to properly integrate a Yubikey into my OSX authentication left me unsatisfied; either it was required for authentication or it didn't work at all.
I was looking to enable Yubikey login as an optional way of logging in on OSX but also allowing so offline thus requiring the use of challenge-response mode. I configured the second slot of my key to offer this mode and left slot one for the online YubiCloud OTP authentication. The online OTP works like a champ on Ubuntu as desired. On OSX, I wanted to enable offline challenge-response mode authentication as an optional way to authenticate.
The trick is to change pam_opendirectory.so to a sufficient authentication scheme and list pam_yubico afterwards as a required authentication. Reversing the order with sufficient causes a crazy prompt problem where the Yubico module expects challenge-response but the user is entering a password. The reordering enables the password check to fail and redirect the input (the challenge-response in this case) to the the Yubico module. Now my laptop supports authentication via Yubikey slot two or my account password.
Two great brews if highly recommend. The imperial stout is especially good.
xorg.conf reset every boot in 14.04 LTS
This morning I took the plunge and upgraded from 13.10 to 14.04 on Xubuntu x64. Everything went fairly well in package swaps but a curious new feature in 14.04 caused some headaches: gpu-manager and ubuntu-drivers-common. Turns out that there's a nifty bit of code part of ubuntu-drivers-common that re-initializes xorg.conf each boot; great if you have a super simple config... If you would like to keep your custom xorg.conf each boot, add nogpumanager to /etc/default/grub in GRUB_CMDLINE_LINUX_DEFAULT:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nogpumanager"
I hope I saved you some time searching for a fix.
Beer of the night - 12/23/2013
Pours with heavy foam that filled the glass. Give it a little time in the bottle and pour a glass again. Has a strong Porter flavor but I’m not tasting the German chocolate cake in it (at least at first). After a few sips, the flavor really does build to something close to the actual thing (without the sugar).

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
UVM Registers, Scoreboards and Backdoor Accesses
Today I encountered some an interesting behavior related to updating a UVM scoreboard to use backdoor register accesses. The original implementation timed behavior changes in the RTL with cycles on the bus as seen by updates to the register database model. For instance, the write function would sample the current register state of the enable bit. If there was a change, the scoreboard could predict the change in output accordingly; register changes always created a two clock delay in behavior change. This prediction model worked well until a recent change that made the delay variable. No problem, switch to backdoor accesses that require zero time and instantly reflect the value used by the DUT.
Wrong. Well, at least based on having implemented all of the scoreboard checking using functions. The get_mirrored_value method is a function but both methods (peek and read) for reading the backdoor are tasks! Ok, so just make everything a task in the scoreboard outside the write function.
Done. But wait a minute... why does the clock change in the middle of my scoreboard routine if a register read cycle hits the bus? I have no idea...
Turns out the UVM library makes all accesses atomic through their API and thus can serialize the scoreboard peek behind a frontdoor read. Luckily, the design I'm verifying updates the backend register logic in a single atomic access, so I ripped up the UVM library's DPI access mechanism and implemented a non-semaphore version within the scoreboard class. No more random timing issues and up-to-date samples for the scoreboard.
UVM Backdoor DPI Read Code
function uvm_status_e uvm_reg::backdoor_read_func(uvm_reg_item rw); uvm_hdl_path_concat paths[$]; uvm_reg_data_t val; bit ok=1; get_full_hdl_path(paths,rw.bd_kind); foreach (paths[i]) begin uvm_hdl_path_concat hdl_concat = paths[i]; val = 0; foreach (hdl_concat.slices[j]) begin `uvm_info("RegMem", {"backdoor_read from %s ", hdl_concat.slices[j].path},UVM_DEBUG) if (hdl_concat.slices[j].offset < 0) begin ok &= uvm_hdl_read(hdl_concat.slices[j].path,val); continue; end begin uvm_reg_data_t slice; int k = hdl_concat.slices[j].offset; ok &= uvm_hdl_read(hdl_concat.slices[j].path, slice); repeat (hdl_concat.slices[j].size) begin val[k++] = slice[0]; slice >>= 1; end end end val &= (1 << m_n_bits)-1; if (i == 0) rw.value[0] = val; if (val != rw.value[0]) begin `uvm_error("RegModel", $sformatf("Backdoor read of register %s with multiple HDL copies: values are not the same: %0h at path '%s', and %0h at path '%s'. Returning first value.", get_full_name(), rw.value[0], uvm_hdl_concat2string(paths[0]), val, uvm_hdl_concat2string(paths[i]))); return UVM_NOT_OK; end `uvm_info("RegMem", $sformatf("returned backdoor value 0x%0x",rw.value[0]),UVM_DEBUG); end rw.status = (ok) ? UVM_IS_OK : UVM_NOT_OK; return rw.status; endfunction
Git Branch Stats
I was doing some work on a branch this week that involved some fairly heavy changes to a tree structure and the contents to it (think starting from scratch sorta). Â I wanted to make sure I had only committed changes to files as intended on the branch. Â The following alias will give a summary diff of the branch as a delta to master:
bstats-master = "!f() { git rev-parse —abbrev-ref HEAD; }; git diff —stat —color master..$f"
The prior alias works well if master is only as up to date (locally) as when the branch was created I had come to find out. Â This version is based on branch parent (regardless of where master is currently):
bstats = "!f() { BRANCH=$(git rev-parse —abbrev-ref HEAD); ROOT=$(git merge-base master $BRANCH); git diff —stat —color $ROOT..$BRANCH; }; f"
I especially found the list of aliases useful.
Great little Vim script to copy buffer contents to the clipboard as HTML (i.e. keep all of the formatting as shown in GVim) for Windows.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Better Vim Buffer to HTML Conversion
Awhile back, I posted an article about quickly translating the current buffer in Vim to HTML using the following:
:runtime! syntax/2html.vim
However, there's an even better way (at least for me to memorize):
:TOhtml
Enjoy and happy viming.
Beer of last night.  I won't recommend it but it was good to try another gluten free beer at least.  I'm not sure it's really the fault of the Sorgham that makes the beer less enjoyable as it is the recipe of hops.  The grassy and citrus flavors are not unwelcome; however, the final bitter aftertaste is definitely unpleasant.
It reminds me the most of Heineken except for the finish but maybe give it a try if you're feeling very adventurous...