tag:blogger.com,1999:blog-108429392024-03-07T17:39:10.990-06:00Plunderer ExtraordinaireJosiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.comBlogger132125tag:blogger.com,1999:blog-10842939.post-7573964541122113802022-09-03T06:05:00.005-05:002022-09-03T08:34:18.235-05:00Enjoy Life<p> I recently noticed that I've been hating life. Like more so than normal for the past two years or so. I've never had more than a few acquaintances, but geography, covid and politics mostly ended the relationships that I had. </p><p>(I'm not very political or radical, I'm always willing to listen and I don't consider a difference of opinion to be relationship ending. Unfortunately one of the people I used to be friends with is very radicalized and will absolutely fly off the handle every time anyone says anything 'wrong'. - It's strange, like, I love GNU/Linux, but if someone refers to 'Linux' with out saying GNU/Linux I don't get angry, I don't mention it. We are all just trying to communicate, getting every single part of language exactly correct is never going to happen.... ) </p><p> [sigh].. I miss having friends.</p><p>Anyway... Work is frustrating, I find myself with only my wife as company (which isn't fair to her), and my computers really haven't run the way I like them to for _Years_ ... </p><p>{Sorry for being a curmudgeon I don't like systemd, I just don't understand. Everything ran so well before systemd, and it was so easy to fix anything that broke. Now so many problems can not be solved in user space, I've lost tremendous control over my computers; and when they do run they aren't flexible. Gah!}</p><p>Ok, where was I.. Oh yeah, hating life. Work is frustrating, Minimal companionship, My favorite hobby is in disarray... And I think, maybe, ADHD is setting in, it happened to my dad anyway. He started getting medicated for it around 58 years old (??) . So I've got maybe 2 decades left before I either have to take meth, or I should retire. - The intensity of focus that I used to have isn't guaranteed any more, certainly not like it used to be. However I still think just as clearly, and I can focus and plan; it's just harder.</p><p>Compounding that is that I live in the PNW, we basically don't get sun for ~6-8 months a year, which completely messes most people up, for most of the year. Compounding that is the problem that I work 3rd shift. I barely get any sun in the summer! Finally my relationship with sleep has always been troubled, working through the night every night doesn't make that any easier. Day shift at my current job is maybe one retiree, or a few new hires away; fingers crossed.</p><p>So, yeah, I've been hating life. That can't continue, it just can't. So I've been trying to focus on things I enjoy. Well, specifically, I've been focusing on <i>enjoying living</i>. I started bringing my bike into the city and going riding once and a while, there are some really amazing bicycle groups in Portland. I powered up my server and I'm rearranging my network so hopefully I can use the server, and keep it off the internet so hopefully it doesn't get hacked. I may setup another internet accessible server with some VM's. </p><p>I'd love to find a reasonable motherboard that is compatible with an <a href="https://www.ebay.com/itm/284920301551?">E7-8891v4</a>. I fell in love with Broadwell when it came out but could never afford one; now they are super affordable! Besides loving them, I can re-use my significant amount of ECC DDR3 Ram; this it the last server processor to support that. Skylake and up are all DDR4. As I understand it, these super-cheap ones were made for a specific client, they are "off menu". The used market was flooded with them a while back. However they might need special motherboards... And finding a motherboard for any of the E7-88xx chips is... iffy? I don't want a <a href="https://www.ebay.com/itm/175327010838">Supermicro X10QBI</a>, it's an absurd motherboard! (Although impressive when it's <a href="https://www.ebay.com/itm/154477919929">put together well</a>.)- PLEASE correct me if I'm wrong. I'm considering throwing money at a bunch of LGA 2011-1 motherboards until I find one that works. Someone told me that an X99 motherboard from Aliexpress _might_ work. But they aren't what I'm looking for anyway. My old AbuDhabi AMD Opteron 6328 powered HP servers seriously need to go away! Building a server with lots of ECC memory and lots of PCI-express gets really expensive really fast, so I have to shop for old, old tech. Comparing the CPU Value score and CPU Mark scores really makes this CPU shine! Maybe 1/5 to 1/10 the speed of an EPYC system, but 1/500 to 1/1000 the cost.</p><p>{EDIT: Ok, I finally got clear information regarding the motherboard CPU sockets, still looking for more information on chipset support. <br /> LGA 2011 - Socket R - Supports Ivy Bridge-E/EP and Sandy Bridge-E/EP processors with the corresponding X79 (E – enthusiast-class) and C600-series (EP – Xeon class) chipsets.<br /> LGA 2011-1 - Socket R2 - Supports Ivy Bridge-EX (Xeon E7 v2), Haswell-EX (Xeon E7 v3) and Broadwell- EX (Xeon E7 v4) CPUs.<br /> LGA 2011-3 or Socket R3 - Supports Haswell-E and Haswell-EP CPU, maybe other newer chips too?}</p><p> I bought two new cell phones. One of which I successfully got LineageOS installed on, the other I bricked. I'm sending the bricked phone off for repair, and then I'll try to root it again. If you don't have root on a computer you own, you don't control it, or own it; not really anyway. Also I'm tired of my identity being a product for companies to fight over. </p><p>YouTube censors all ideas that are not conducive to commerce, and then attempts to ransom my sanity by offering to remove ad's for, uh what 12$ / month. - It's an extra special dystopia! I want out! So I'm trying to de-google my phones. Thank god for the people that made<a href="https://en.wikipedia.org/wiki/CyanogenMod"> CyanogenMod</a> and the people who are making it's progeny, <a href="https://lineageos.org/">LineageOS</a>.</p><p>So enjoying living... Part of enjoying living is not being scared to be flawed. I'm not perfect, I have some odd interests, privacy, opensource, cyberpunk, science fiction, walking my dog's, an obsession with really good electrical work. :-)</p><p>So yeah, I'm trying to enjoy living. </p><p>One thing I'm getting excited about again is that the large ball screws that I need, for the CNC machine I'm going to build, are purchasable again! I tried to buy them during the pandemic, and the order got canceled. I got a nice note from the supplier about how shipping was just nearly impossible (stupid, lazy, bribe-taking, canal drivers [captains?].... I don't blame the EverGiven, or the <a href="https://interestingengineering.com/transportation/another-ship-got-stuck-in-the-suez-canal-blocking-traffic-for-a-few-hours">Affinity V</a>, only the special canal crews, not sure if that's fair, but that's where I'm at.) . So... the CNC project can continue. Unfortunately I missed an opportunity to get some really cheap I-beams locally, oh well, I'll just have to keep looking... I still need to save up for a 3-phase converter. I tend to focus on the biggest challenge for any project. If I can't solve that, then the project needs to be modified, or I should shelve it for a while. So I guess I'm going to futz around with my servers, brick some phones, and save up for a <a href="https://www.phaseperfect.com/enterprise/voltage-doubling/pte215rqt/">Phase Perfect PTE215RQT</a>.</p><p>I'm having trouble finding information about supporting a long ball screw. I suppose you could have multiple ball nuts and drive them simultaneously, but I swear there was a product you could get that would follow the screw passively to help support the ball screw itself... I'm still working out the design. I bought some small ball screws that were labeled 1200mm on-line, but when they arrived they were labeled 900mm. The screw is _overall_ 1200mm, but the available travel is only 900mm. So that was a fairly cheap lesson! I think I can still use them for a 3D printing project, it's just going to be a bit smaller, but that's fine.... I wonder if you can get a ball screw with ball nuts that move at different speeds. Like if the machine was driven by a normal ball nut, but there could be other ball nuts that travel at fraction of the speed. You could use the fractional nuts to help support the ball screw. Fun to think about, but I think it's probably a terrible idea. See fun! Enjoying Life. Ha! Victory!</p><p>I think I will buy a E7-8891v4 and my best guess at a compatible motherboard.. If it doesn't work I'll just get a CPU that does work in that motherboard and I'll only be out a few bucks...</p>Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-14266798158388987402021-12-16T16:55:00.002-06:002022-10-09T09:12:59.672-05:00SD Card File Transfers Done Carefully<p>SEE WARNING BELOW, DON'T DO WHAT I SUGGEST IN THIS POST!</p><p> With USB2 SD card readers there really isn't any need to slow them down, they are already not fast. But if you are like me and you like fast file transfers you probably looked for and found a USB3 SD card reader. </p><p>Unfortunately some combos of SD cards and SD card readers bog down real bad when large transfers are done at high speed. On Linux, this is the solution I use:<br /></p><pre><code>tar -cf - {source_files} | pv -q -L {transfer_rate_limit} | tar -C {destination_files} -xvf -</code></pre><p style="text-align: left;">The<code></code><code> {transfer_rate_limit}</code> <span style="font-size: small;">is specified in bytes/sec; a suffix (k, m, g, or t) can be added to the end for specifying KiB, MiB, GiB, or TiB's per second. </span></p><p style="text-align: left;"><span style="font-size: small;">I got this from <a href="https://unix.stackexchange.com/questions/117680/make-disk-disk-copy-slower/117698">Matt on stack exchange</a>. </span></p><p style="text-align: left;"><span style="font-size: small;">Another use for this: If the transfer is being done between two modern computers, you can speed up the transfer by adding encryption at the source and decryption at the destination, the 'z' is for gzip which is fairly fast:</span></p><pre><code>tar -czf - {source_files} | pv -q -L {transfer_rate_limit} | tar -C {destination_files} -xzvf -</code></pre><p style="text-align: left;"><span style="font-size: small;"><code><span style="font-family: trebuchet;">lz4 compresses smaller and much faster, as <a href="https://catchchallenger.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO#Graphics">show by CatchChallenger</a>, but make sure it's installed and supported by your version of tar:</span> </code></span></p><pre><code>tar -I lz4 -cf -</code><code><code> </code>{source_files} | pv -q -L {transfer_rate_limit} | tar -C {destination_directory} -I lz4 -xvf</code><code> -</code></pre><p style="text-align: left;">It's a long command with lots of fiddly bits; this is exactly how UNIX was initially designed. It was supposed to be a system where you can string fairly simple programs together to accomplish complex tasks. Check out <a href="https://www.youtube.com/watch?v=bKzonnwoR2I">Brian Kernighan talking about it on YouTube</a>.<br /></p><p style="text-align: left;">I haven't figured out what the best speed to transfer at is, I assume it depends on your card and card reader. The program "time" will measure how long the command takes to run:</p><blockquote><p style="text-align: left;"><span style="font-family: courier;"><br />anon@grayghost:~$ time tar -I lz4 -cf - ToDo.txt | pv -q -L 4096 | tar -C /home/anon/Sy/ -I lz4 -xvf -<br />ToDo.txt<br /><br />real 0m0.015s<br />user 0m0.009s<br />sys 0m0.016s<br />anon@grayghost:~$ time tar -I lz4 -cf - ToDo.txt | pv -q -L 1024 | tar -C /home/anon/Sy/ -I lz4 -xvf -<br />ToDo.txt<br /><br />real 0m0.287s<br />user 0m0.016s<br />sys 0m0.019s<br />anon@grayghost:~$ </span></p></blockquote><p> Neat!</p><p style="text-align: left;">Update; works great with making ISO images with dd:</p><p style="text-align: left;">dd bs=1M if=[image_name] | pv -q -L 10M | dd of=/[your_director_here]<br />(I haven't tested that dd command YMMV)</p><p style="text-align: left;">I just ran into a problem. The contents of my SD card was corrupted. Transferring data slowly off of the card actually heated it up to 164°F, while just letting it run was only 99°F. I don't yet know if the heat and transfer speed was source of the problem. Until I can figure it out avoid, or at least be a bit cautious, <span></span>using this technique!</p><p style="text-align: left;"><br /></p><p style="text-align: left;"><br /></p>Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-59426448238965176162021-12-15T22:58:00.000-06:002021-12-15T22:58:24.306-06:00GRUB2<p>I've always loved GRUB. It's not easy to use, but man it works well, usually the setup is automatic, but maybe a little scary if you have to do something manually. But then it's setup and it works for years. </p><p>If/when GRUB fails it doesn't wreck your data, and can usually be recovered with a boot disk and a few commands.</p><p>Seriously love GRUB, and GRUB2 is dramatically better!</p><p>Yesterday I got tired of putting 2-4GiB ISO images on to 32GiB SD cards. My friends were starting to wonder if I needed an intervention:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhIAwzdCN3W_cJZY5wXpfgrUm2O__Iwxfxruf5mxVxmMjEeipUPzr_bQIHMXYcIIe_eMIE_9dSUNooSlMH1AhnODkh08UZt0SOfIndS7pZmflBiksm-vnpOnCWJhvaTYmQtVam-HOrbwQwEhe9XeudXi2yNvFV_3MFyby0EgxuKJJrL69ol0g=s1024" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="469" data-original-width="1024" height="183" src="https://blogger.googleusercontent.com/img/a/AVvXsEhIAwzdCN3W_cJZY5wXpfgrUm2O__Iwxfxruf5mxVxmMjEeipUPzr_bQIHMXYcIIe_eMIE_9dSUNooSlMH1AhnODkh08UZt0SOfIndS7pZmflBiksm-vnpOnCWJhvaTYmQtVam-HOrbwQwEhe9XeudXi2yNvFV_3MFyby0EgxuKJJrL69ol0g=w400-h183" width="400" /></a></div><p> So I started looking at tools to put multiple ISO's on to one large bootable SD card, and simply choose which one you wanted to boot at boot time. I found the excellent website of LinuxBabe.com who suggested MultiBootUSB and MultiSystem - but both of those appear to be abandoned projects from some time ago.</p><p>Someone on Discord suggested <a href="https://www.plop.at/en/bootmanagers.html">PLOP</a>. Truly hilarious name. But that also looked really sketch. Then I found another <a href="https://www.linuxbabe.com/desktop-linux/boot-from-iso-files-using-grub2-boot-loader">LinuxBabe article</a>; apparently GRUB2 can boot directly to ISO's!!</p><p>So I made these partitions on a USB stick: </p><p><span style="font-family: courier;">Number Start End Size File system Name Flags<br /> 1 1049kB 2097kB 1049kB bios<br /> 2 2097kB 68.2MB 66.1MB fat32 efi_boot boot, esp<br /> 3 68.2MB 128GB 128GB ext2 iso_cube</span></p><p><span style="font-family: inherit;">The first partition is a BIOS protective partition and has no file system, some old computers or misbehaving software will overwright the beginning little bit of a disk. 1 MiB is excessive, but it also helps ensure partitions are 4k block aligned, and I don't care about 1 Mib.</span></p><p><span style="font-family: inherit;">Mounted new filesystems:</span></p><p><span style="font-family: courier;">mkdir /mnt/efi_boot<br />mkdir /mnt/iso_cube<br />mount /dev/{usbstick}2 /mnt/efi_boot<br />mount /dev/{usbstick}3 /mnt/iso_cube<br />mkdir /dev/efi_boot/boot<br /> </span><br />Installed GRUB2 onto the USB stick (this was on an Ubuntu system, YMMV):</p><p><span style="font-family: courier;">grub-install --efi-directory=/mnt/efi_boot --boot-directory=/mnt/efi_boot/boot --removable</span></p><p>Booted to the USB stick, and then proceeded to boot directly to an ISO file. The 'ls' commands are me looking for files, GRUB names disks in a way that is easiest for GRUB - we just have to deal with it:<br /></p><p><span style="font-family: courier;">ls<br />ls (hd0,gpt2)/<br />ls (hd1,gpt3)/<br />set isofile="/ubuntu-20.04.3-desktop-amd64.iso"<br />loopback loop (hd1,gpt3)$isofile<br />ls (loop)<br />ls (loop)/<br />linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet noeject noprompt splash<br />lnitrd (loop)/casper/initrd<br />boot</span><br /></p><p>Victory!</p><p>So LinuxBabe showed how to add ISO entries to the GRUB menu so you don't have to memorize and type a bunch of commands every time. After I add a bunch more ISO's and test them out I expect I'll probably do that. For now I just made a file on the usb stick with the commands I typed. The grub command line has 'cat' so I can read my instructions, I don't boot from USB very often, so I might just leave it. Having to use the GRUB command line every once and a while will go a long way to helping me learn it. <br /></p>Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-25610079693593589762021-12-13T02:45:00.003-06:002021-12-13T13:02:59.933-06:00tar<p>I regret what I wrote below. It turns out that tar has gotten easier over the years, it now supports the origional unix style arguments and some easier to understand "GNU" style arguments. All I had to do to extract my tar file was:</p><p>tar --extract --file=$filename</p><p>I need to be less grumpy. Tarball creation is easier now too:</p><p>tar --create --file=$newtarball --$options $files</p><p>compression options; pick one: --[bzip2,xz,lzip,lzma,lzop,gzip,compress,zstd]<br /> </p><p>other options: <br /> <b>--label=</b>$TEXT<br /> <b>Handling of file attributes</b> - (there are a lot of confusing options here, I'm only listing a few that I can see might be useful to me:)<br /> --sort=[none,name,inode] (inode is a performance tweak)<br /> --atime-preserve<br /> --preserve-permissions<br /> --preserve-order<br /> --format=$tldr <br /> (there are some archaic (?) formats supported, the important thing to know is that tar itself has two formats tar<=1.12.x and tar=>1.13.x - hopefully I never have to care about this; but it seems like something that could bite the llamas ass.)<br /> <b>Device blocking options</b> - (these are options that you don't need until you really need then, and then you find out that good-ol-tar is [hypothetically] the only archive format that can handle your input...)<br /> <b>Device selection and switching</b> - (these options seem to have everything to do with tape backups. I have three Tandberg tape libraries. I want to learn how to use amanda. I don't want to use tar to make multi-volume tape backups. But it's good to know I could; but I'd never be able to find anything without some sort of very complicated index.)<br /> <b>Extended File Attributes</b> - ACL's, SELinux, and xattrs options.<br /> </p><p>I still think we need a revolution in open source usability. But; we're not going to be there by spreading grumpiness. - Perhaps I should limit the number of blog posts I write at 2:45AM. :-)<br /></p><p><strike>I've come to dread every tar ball download. Because I know I'm going to sit there for at least 10 minutes desperately scrolling through the contents of 'man tar' trying to figure our how to extract the files.</strike></p><p><strike>I still remember how to use pkzip and pkunzip, version 2.04g - their help files were SOOOOO easy to read and understand.<br /></strike></p><p><strike>Why does tar have to be so horrible? I can't even imagine how much more difficult it would be if I wasn't a native english speaker. -- Although I suspect the man pages are probably smart enough to display help text in your language of choice; if such help exists.</strike></p><p><strike>Manual page tar(1) is 965 lines long. At ~60 lines per page that's 16 pages. There are about 4 million websites out there that have been written to answer the question "how to untar"</strike></p><p><b>Open source software is CONSTANTLY shooting itself in the foot. Because the philosophy is so attractive, so GOOD, uncountable human hours have been spent developing amazing open source tools, which any sane person would/should avoid like the plague, because they are just too complicated to use.</b></p><p><b>We need a revolution in open source, a usability revolution.</b></p><p><strike>[Snort] check this out...</strike></p><p><strike>"failed-read<br /> Suppresses warnings about unreadable files or directories. This keyword applies only if used together with the --ignore-failed-read option."</strike></p><p><strike>So to suppress an unreadable file warning you have to use the --ignore-failed-read option and the --failed-read option? I'm so confused and flabbergasted.... The madness just doesn't end! These 16 pages are the BRIEF version! Apparently I'm supposed to read the 'info' pages for the full version.<br /></strike></p><p><br /></p>Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-75978537245491119432021-12-13T00:53:00.002-06:002022-10-09T09:17:06.950-05:00Computer Name Resolution, DNS and Friends - My Musings and Ramblings<p> I intend this to be a blog post that I'm going to update, but it might make more sense to move this information to a personal knowledge web.... We'll see. <br /></p><p> DNS - You want to contact a computer to which you know the name of? No problem. The computer your using makes a request to a Domain Name Service, asking for an IP address for the server, then proceeds to connect to the server using it's IP address. - Simple!</p><p>Many internet fundamental technologies were created by very clever people in robust and simple ways and have either stood the test of time; or developed such a historical inertia that they had to be kept the same or else everything thing would break. Many of these technologies have been extended and expanded in very clever ways to function better and more completely today then they ever have.</p><p>At first blush Computer Name Resolution doesn't seem to be one of these golden children. Check out the <a href="https://en.wikipedia.org/wiki/Domain_Name_System#History">Wikipedia History on DNS</a> - In 1973 ARPANET used a hosts.txt file on each system, and apparently it was managed by <a href="https://en.wikipedia.org/wiki/Elizabeth_J._Feinler">Jake</a> over at Stanford. She managed all computer name resolution for ~17 years. -- Stick that on your resume and smoke it. -- Oh, and she invented Domains. -- Although I 100% believe Jake was clever; the systems that she and her team put into place have not been robust. The one constant for DNS seems to be that it constantly changes; and stays the same.</p>I imagine there is a ton of awesome history between 1989 and now. But I'm trying to get my server to work, so I'm going to focus on today. Today Jake has been replaced by a group known as the"Internet Assigned Numbers Authority" (IANA). <p>Or excuse me maybe it's the Public Technical Identifiers (PTI) that actually run things, they are an affiliate of <abbr title="Internet Corporation for Assigned Names and Numbers">ICANN, contracted to preforn the IANA functions on behalf of ICANN.</abbr></p><p><abbr title="Internet Corporation for Assigned Names and Numbers">Based on my messed up preconceived notions and the very few things I think I've learned about ICANN I believe them to be completely morally bankrupt. </abbr><abbr title="Internet Corporation for Assigned Names and Numbers"> --
Really, never in history has a bureaucracy been
worse than ICANN. As far as I know they are completely useless and a
massive detriment to society in general. The only way to get anything
done with ICANN is to provide nation state level bribes to it's ~388
employees. </abbr><abbr title="Internet Corporation for Assigned Names and Numbers"></abbr></p><p><abbr title="Internet Corporation for Assigned Names and Numbers"><a href="https://en.wikipedia.org/wiki/Jon_Postel">Jon Postel</a> did it better in his spare time and without charging anything for his services. </abbr></p><p><abbr title="Internet Corporation for Assigned Names and Numbers">None of this should have happened, it's a modern tragedy. </abbr></p><p><i>"Once you realize what a joke everything is, being the Comedian's is the only thing that makes sense."</i>
</p><p>
<cite style="font-style: normal;">—Eddie Blake</cite></p><p><cite style="font-style: normal;">So forget it, lets move on. Lets look at the technology, and see what's been done and where we can go from here.</cite></p><p><cite style="font-style: normal;">If you have something on the internet, you probably started with getting a name from Jon/ICANN/PTI/IANA, lets call them JIPI. JIPI authorizes registrars to charge you yearly for your name. </cite></p><p><cite style="font-style: normal;">Either those registrars, a hosting company, or you, must provide DNS servers to go along with your name. You maintain 'records' with those DNS servers so that when someone requests information on how to contact your site the DNS server responds with an IP address, or such, which the requestor can use to contact the computer that is hosting your site. "Site" in this case could be a web page, game, virtual world, or whatever...</cite></p><p><cite style="font-style: normal;">I just looked up "josiahluscher.com" and a name server </cite><span id="lblResult">ns3.dreamhost.com replied with an 'A' record and the IP address 64.90.48.157</span></p><p><span id="lblResult">Neat eh? DNS servers are hierarchical, and divided up into zones. So if whatever DNS server you contact doesn't have an authoritative answer, it asks the lowest server that it knows will be able to find the answer.... That might be the root DNS server. The root server won't give an answer though, it just refers the requester to a higher level server that should have the answer. this referral process may repeat several times. Finally the "authoritative" DNS server is found, and then you get an answer.</span></p><p>Obvious challenges to traditional DNS:</p><ol style="text-align: left;"><li>Internet DNS, doens't know about local networks, so a local DNS is needed.</li><li>Multiple computers serving many users who all expect to use the same service.</li><li>Prevent malicious actors from replying with fake destinations to perpetrate man-in-the-middle attacks.</li><li>Others? <br /></li></ol><p><span id="lblResult"></span></p><table class="table table-striped table-bordered table-condensed tool-result-table"><tbody><tr><td class="table-column-Domain_Name"><br /></td><td class="table-column-IP_Address"><br /></td></tr></tbody></table><p>Pieces of software that I want to learn about related to DNS:<br />nmcli - NetworkManager<br />systemd-resolvd<br />dnsutils<br />ifupdn<br />iproute2<br />resolvconf<br />dhclient<br />net-tools<br />mDNS</p><p></p><p style="text-align: center;"><b>nmcli</b></p><p style="text-align: left;">In terms of ease of use and the help information available nmcli is one of those programs that give Linux a bad name. </p><p style="text-align: left;"> [Good news though I did solve my immediate problem that inspired this post. My eno1 wired gigabit ethernet interface was setup with a static IP and static DNS records which were no longer correct. The way to change that interface to DHCP and remove the old records is this:</p><p style="text-align: left;">nmcli device show eno1<br />less /etc/sysconfig/network-scripts/ifcfg-eno1<br /></p><p style="text-align: left;"></p><p style="text-align: left;">nmcli con mod eno1 ipv4.ignore-auto-dns no<br />nmcli device modify eno1 ipv4.method auto<br />nmcli device modify eno1 ipv6.method auto<br />nmcli con mod eno1 -ipv4.dns [Old.Incorrect.DNS.IP]<br />nmcli con mod eno1 -ipv4.dns [Old.Incorrect.DNS.IP]<br />systemctl restart NetworkManager</p><p style="text-align: left;">nmcli device show eno1<br />less /etc/sysconfig/network-scripts/ifcfg-eno1</p><p style="text-align: left;"><br /></p><p>To be continued someday....<br /></p><p><cite style="font-style: normal;"></cite></p><p><abbr title="Internet Corporation for Assigned Names and Numbers"></abbr></p>Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-66808000907689943622021-11-28T11:32:00.019-06:002021-11-29T07:21:16.353-06:00Serial RS232 Lessons and Musings<p>Yesterday and today I made all the mistakes I could possibly make connecting to a serial device, EXCEPT for letting the smoke out. Win? ¯\_(ツ)_/¯ For posterity, and for future Josiah, here are the two big mistakes and I made and lessons learned.<br /></p><p></p><p><b><span style="font-size: medium;">First mistake: I used an Isolated 5v RS485 adapter to attempt to connect
to an RS232 device. </span></b><span style="font-size: medium;"><span style="font-size: small;">- It didn't work; but I do wonder if it would have
worked, if I had used a level shifter. I might try that later.</span></span></p><p>The differences between RS232, RS485:<br />(Table copied from <a href="https://www.seeedstudio.com/blog/2019/12/06/what-is-rs485-and-its-difference-between-rs232/">here</a>.)</p><p></p><table><tbody><tr><td><br /></td><td><b>RS232</b></td><td><b>RS485</b></td></tr><tr><td><b>Voltage System</b></td><td>Voltage level-based</td><td>Differential</td></tr><tr><td><b>Total Drivers and Receivers on One Line</b></td><td>1 Driver, 1 Receiver</td><td>32 Drivers, 32 Receivers(One Driver active at a time)</td></tr><tr><td><b>Line Configuration</b></td><td>Point-to-point</td><td>Multidrop</td></tr><tr><td><b>Maximum Operational Distance</b></td><td>15M / 50FT</td><td>1,200M / 3000FT</td></tr><tr><td><b>Maximum Data Transmission Rate</b></td><td>1MBit/s</td><td>10MBit/s</td></tr><tr><td><b>Duplex Mode</b></td><td>Full Duplex</td><td>Half Duplex or Full Duplex</td></tr><tr><td><b>Maximum Driver Output Voltage</b></td><td>+/-25V</td><td>-7V to +12V</td></tr><tr><td><b>Receiver Input Resistance</b></td><td>3 to 7 kΩ</td><td>12 kΩ</td></tr><tr><td><b>Receiver Input Voltage Range</b></td><td>+/-15V</td><td>-7V to +12V</td></tr><tr><td><b>Receiver Sensitivity</b></td><td>+/-3V</td><td>±200mV</td><td><br /></td><td> </td></tr></tbody></table><p></p><p></p><ul style="text-align: left;"><li>The RS485 standard does not define a communications protocol, these are the ones I'v been able to find so far.: </li><ul><li><a href="https://www.controlglobal.com/articles/2019/introduction-to-modbus/">Modbus</a> - Open Protocol, common in factory automation.<br /></li><li><a href="https://www.profibus.com/technology/profibus/overview">Profibus</a> - IEC 61158 standard, common in factory automation.<strong></strong></li><li>(?) - Commercial aircraft cabins' vehicle bus</li><li><a href="https://en.wikipedia.org/wiki/DMX512">DMX512</a> - Stage lighting and effects.</li><li><a href="https://en.wikipedia.org/wiki/AES3">AES3</a> - Digital audio transmission between some 'pro' audio gear.<br /></li><li>(?) -Building automation, surveillance and door control devices.</li><li><a href="https://en.wikipedia.org/wiki/Digital_Command_Control">DCC</a> - Digital Command Control for Model Railways<br /></li></ul><li>Regarding distance for RS485: A quick approximation is that the length of the line in
meters and the data rate in bits per second should not exceed 10<sup>8</sup>. For example, a 20-meter cable would probably allow a data rate of 5 Mbits/s.</li><li>RS-422 is a variation of RS-485 with similar specifications but is designed only for one driver and up to 10 receivers. </li><li>RS-423 is a single-ended rather than differential variation of RS-422. <br /></li></ul><p>Both RS485 and RS232 send data serially, but that's about where the similarities end. RS485 is great for long distance multi device connections. RS232 is great for cheap device to host connections.</p><p> Why use RS232 at all if RS485 is better? Many reasons. First like the width of railroad tracks, RS232 has been around forever. It has historical inertia.</p><p>(Historical information from <a href="http://www.linusakesson.net/programming/tty/">LinusAkesson</a>, and <a href="https://en.wikipedia.org/wiki/RS-232">Wikipedia</a>.)<br /><span> </span>RS232 became a standard in May of 1960; but it's roots go MUCH farther back than that. The stock ticker, invented in 1869, is really the start of serial data transmission standards.<br /><span> </span>But it gets so much more wild than that!! The stock ticker evolved into the ASCII teletype. Teletypes were once connected across the world in a network called Telex; used to send telegrams. Global text messaging(!); but you know, on paper at both ends.<br /><span> </span>As computers moved from batch processing static data, like punch cards, to becoming fast enough to interact with humans in real time; some sort of user interface was needed, and Telex machines were readily available. Underneath the hood the Unix/Linux Kernel still today relies heavily on manipulating streams of data; exactly like those from a serial teletype, or to a cast iron stock ticker from the mid 1800's. If you want to <u>understand</u> Linux, I strongly recommend digging into this. Amazingly technology from 1869 influenced how the terminal on modern
computers today operate. Seriously, check out the Linus Akesson site, link above; it's good!<br /></p><p>Second reason why you pretty much never see RS485: I feel like RS485 never really caught on. Today on Digi-Key a 500kbps RS485 chip costs $3.37, a 10mbps Ethernet chip is $3.06, and if you want them in bulk you can get 100mbps Ethernet chips for less than a dollar. I suspect that RS485 didn't catch on because for single devices RS232 was easier and cheaper, and for multiple devices networks like Ethernet were in most cases a better option. - Clocks in buildings are an interesting exception. I've seen some strange systems for synchronizing the clocks throughout a building, including RS485.</p><p><b><span style="font-size: medium;"> Second mistake: For my second attempt I used an isolated 5v RS232 to USB adapter to connect to a 3.3v serial device.</span></b> </p><p>I was able to get some <a href="https://openwrt.org/faq/serial_connection_garbled_characters">garbled data</a> from the device using this. At first I thought it was a problem with baud rate, or something more esoteric like a bit-wise inversion. However it was just the wrong voltage.<br /></p><p> A few notes on real world use of RS232:<br /><span> T</span>he early RS232 official standard "zero" was represented by a voltage of between +3 and +15 volts, and "one" was a voltage between -3 to -15 volts. In the EIA-232 standard it was increased to +/-25 volts! Today, "nobody" does this. RS232 voltage is either 0v/5v - or - 0v/3.3v. If you connect your expensive computer to a lot of serial devices it's a good idea to get an isolated USB to serial adapter. Then if you do happen to plug into a real/old RS232 port you don't fry your computer with 50v AC into your USB port.<br /><span> </span>RS232 officially has 11 different wires (DCD, DSR, RI, RTS, RTR, CTS, TxD, RxD, GND, PG) - Unless your using a modem over a POTS phone line you will only use three wires, TxD, RxD, and GND (maybe also a shield for PG). I remember connecting to BBS's as a kid and having a vague knowledge of RI and CTS and such. I'll be surprised if I ever have to do that again. Three wires and a shield are all you need.<br /><span> </span>I plan on making a <a href="http://josiahluscher.blogspot.com/2018/07/i-bought-bunch-of-logic-level.html">level shifter</a> with DB-9 plugs on either side that I can add to my little collection of <a href="https://www.aliexpress.com/wholesale?SearchText=serial+gender+adapters">gender adapters</a> and null-modem adapters.<br /></p><p><b><span style="font-size: medium;">Third lesson: Not all inexpensive USB to serial adapters are the same or even sane.</span></b><br /><span> </span>Some inexpensive USB to serial adapters that have a <a href="https://www.youtube.com/watch?v=RUmQCMezc6k">3.3v Vout pin: still output 5v on the Tx pin!</a> - Also strange, but more useful are adapters that are the reverse: <a href="https://www.adafruit.com/product/954">3.3v Rx and Tx, with a 5v Vout</a> to maybe power a device with.</p><p><span> </span>Be careful when buying a USB to serial adapter, know what your getting, and know that eventually you might need more than one type!<br /></p><p>If you use USB serial adapters professionally: don't use a cheap adapter. It's not worth your job. When I'm connecting to an expensive PLC processor, or the console port of a fancy network switch, I don't use a serial adapter I got from a stranger in another country for 5$. For professional work I really like the ones made by Advantech, I have an older version of <a href="https://iotmart.advantech.com/Serial-USB-Communications/USB-to-Serial-Converters-Isolated/model-BB-USO9ML2-A.htm">BB-USO9ML2-A</a>, 2,000+ volt isolation, quality design, and no corners cut provide a lot of piece of mind.</p><p><span> </span>But for hobby work, if you want to spend much, much, less you can get <a href="https://www.aliexpress.com/wholesale?SearchText=isolated+FT232RL">isolated</a> or <a href="https://www.aliexpress.com/wholesale?SearchText=TTL+Serial+Adapter">non-isolated</a> ones from Aliexpress. If you want to buy American, Adafruit sells a<a href="https://www.adafruit.com/?q=serial&sort=BestMatch"> nice selection</a>.</p><p>*** NOTE!! If you don't want headaches, consider paying a little bit more and get a USB to serial adapter with a <b>real </b>FTDI chip. The cheaper chips like the PL2303 and CP2102 usually work fine after you find, download, and install drivers for them. But there are some devices that you just can't connect to if you don't have a <b>real</b> FTDI chip; and yes there are fake FTDI chips out there. I've held one in my hand, it was labled FTDI, but it was not. Even with the correct drivers it could not connect to many Allen Bradley PLC's. ***<br /></p><p>(These are not affiliate links, I don't care what you buy. :-) )</p><p>Now that you know about the variety of USB to serial adapters, you are going to have much fewer problems transferring data over serial ports! Have fun!</p><p>PS: I've already expanded and updated this post, several times. This may end up less of a blog post and more of a 'living' document.<br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p>Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-15979506541117477032021-07-15T00:24:00.004-05:002022-10-09T09:23:02.513-05:00Linux Sucks!<p> So I tried to take a screenshot today, but I couldn't find it. I had previously set a setting that saved my screenshots in a specific place. It took about an hour for me to figure out where they were going. </p><p> (I was slightly thwarted because I was hitting Ctrl-PrintScreen - on my last laptop the print screen button required hitting Fn and I got confused. Ctrl-PrintScreen puts the screenshot into a paste buffer.)</p><p>So after finding out where the screenshots were going I tried to set the setting again to get the screenshots to once again save in the correct place.</p><p>Things like this shouldn't happen in a modern polished Linux Distribution like Debian; but the popular belief is that there are a lot of volunteer programmers who work on Linux, so mistakes happen, because they aren't professionals.</p><p>That's not the case here, check out the webpages linked below. These are small people who have the power to help, but are too focused on maintaining their power over their little corner of the operating system. They refuse to communicate effectively; or solve a problem that many users are having.</p><p>After doing a bit of research, there are a few ways to fix it and make it work again. Users shouldn't be expected to go to great lengths to change a setting... I may give this more consideration later and see if I can unravel this web of garbage; but I have to work in the morning, I need to sleep now.<br /></p><p>Relevant pages:</p><p>https://askubuntu.com/questions/114429/how-can-i-specify-the-default-save-directory-for-gnome-screenshot<br />https://bugzilla.gnome.org/show_bug.cgi?id=699642<br />https://cialu.net/how-to-change-default-gnome-screenshot-savings-folder/<br />https://help.gnome.org/users/gnome-help/stable/screen-shot-record.html.en<br />https://unix.stackexchange.com/questions/279985/how-do-i-change-the-location-where-screenshots-are-saved-in-linux-mint-17-cinnam<br />https://unix.stackexchange.com/questions/279985/how-do-i-change-the-location-where-screenshots-are-saved-in-linux-mint-17-cinnam<br />https://wiki.debian.org/ScreenShots<br />https://forum.manjaro.org/t/gnome-change-default-screenshot-location/67834<br />https://forums.debian.net/viewforum.php?f=6&sid=96b34c5e3e27354cd0582ff268e79c68 <br /></p><p></p><p>So you can install custom scripts in your home directory. You can disable the six included shortcuts and make new ones pointing to a different screenshot program, you can install a 3rd party "Gnome Shell' extension, or. apparently there is a way to do it with systemd user units??? But you get the idea...</p><p></p><p>Petty bickering has removed this feature for millions of people.<br />Linux Sucks!</p><p>But at least you can fix it, if Microsoft doesn't want you to take a screenshot you simply won't be able to.<br /><br /></p>Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-59819486374113437142021-07-12T13:31:00.003-05:002021-07-12T13:31:34.206-05:00Its Time: Linux is better than Windows.<p> I'm struggling to set the time on windows 10. I'm working on an industrial computer/touchscreen that is not connected to any network. For security we never connect these machines to the internet. I need to set the time to within a couple/three seconds.</p><p>It appears this can't be done from the GUI. Is Microsoft using so much code from Linux that a terminal window is becomming required?</p><p>Windows is so awful, I just don't understand why anyone would want to use it. - It's maybe a bit easier, but it's getting harder to use, and now Microsoft spys on you, and manufacturers can lock the BIOS..... It's NOT your computer if it has Windows on it. Why buy a computer that's not really yours? <br /></p>Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-8695980092175643722020-08-16T23:07:00.003-05:002020-11-22T14:46:55.937-06:00Working with computers is getting harder, because of obfuscation.<p>TLDR: Fuck you Dell!</p><p>I purchased an Inspiron 17 1700 and although I really like many features of it, it's obvious that all the effort went into making a computer that looks good from the outside, but is crap on the inside. </p><p>Right now I'm struggling with WiFi, the M.2 WiFi/Bluetooth card that it comes with is an ok B/G/N card. But the pace of technology is accelerating, and I need at least AC support if not the latest and greatest AX. </p><p>So, I'm hunting for a replacement WiFi card, and I want to know what cards the M.2 slot supports. Their <a href="https://topics-cdn.dell.com/pdf/inspiron-17-7773-2-in-1-laptop_users-guide_en-us.pdf">specification document</a> says "One M.2 slot for WiFi/Bluetooth" . Not helpful. </p><p>From their own documentation there are several <a href="https://www.dell.com/support/article/en-us/sln301626/how-to-distinguish-the-differences-between-m-2-cards?lang=en#5">different keyings and sizes of M.2</a> slots that can accept WiFi/Bluetooth cards. I think even among the differently keyed slots there are likely to be other support issues. The whole M.2 slot ecosystem is the opposite of straight forward.</p><p> Icing on the cake, is that their feedback system is currently down, so the only way I can shame them is on this blog. Which no one reads because mostly it's just me ranting about problems. (Sorry!)</p><p>I really want this to be a good day. I'm going to keep trying.</p><p> :-)</p><p>Update: As far as I've figured out an A-keyed or an A+E-keyed M.2 slot will accept A-keyed or A+E-keyed WiFi cards. E-keyed cards must go only into E-keyed slots.</p><p>Still haven't found any detailed technical documents on these slots; but I'm feeling better about this. I bought a pair of Intel AX200NGW cards, so hopefully they are backward compatible with me A-keyed M.2 slot. </p><p>When I removed the Intel 9260NGW from the motherboard the antenna studs broke off from the WiFi card and got lodged in the antenna wires. I'm so proud of me I didn't even get upset. I just carefully pried the debris out of the connectors and moved on.</p><p>I'll have to install the original card when I get home.<br /></p>Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-48444940023810277422019-06-24T08:17:00.003-05:002019-06-24T10:24:05.221-05:00Bridge to the ShopIt works!<br />
<br />
It has taken weeks and many many hours. I have (almost) completely ignored everything else in my life like dishes, pets, family and friends. The sacrifice has finally yielded success. - To my wife, I'm sorry, and thank you! - To the world I say: Pbbbtth! I did it, and I don't care if you think it's stupid or awesome.<br />
<br />
I have two Raspberry Pi Model 3 B+'s on my desk, each with an EDUP 600mbps WiFi adapter, power adapter, and sdcard plugged into them. They are a WiFi network cord.<br />
<br />
If I use an ethernet cable to connect one RPi to my internet router, and another ethernet cable to connect the other RPi to a network switch in the garage...<br />
<br />
Well it does exactly what you would expect of a long ethernet cable. The two switches are connected together. If multiple device are plugged into the switch in the garage, they get ip adresses from the internet router in the house, and connect to the internet. - Simple, functional, adds a few milliseconds to a ping, and a slight bandwidth hit. ;-)<br />
<br />
Victory!<br />
<br />
Ok, so I can ping. Actual throughput is not great.<br />
<br />
Normal 'N' WiFi ~19Mbps bandwidth<br />
My WiFi Wire ~ 65Kbps bandwidth <br />
<br />
That's so bad it makes me laugh.... <br />
<br />
My WiFi adapters are currently only using one 20Mhz channel, and the Raspberry Pi's don't have a hardware network switch in them. So bandwidth is, for now, terrible.<br />
<br />
More testing is necessary. Now that I know how to set this up maybe I need to move it to EspressoBin's, or an RPi4 (Just released today!) :-)<br />
<br />
I'll see if I can increase the speed and post a Edu-torial.<br />
<br />
UPDATE: <br />
<div class="PD IF">
<div class="JL" id=":gg.co">
<div class="Mu SP" data-tooltip="June 24, 2019 at 8:17:58 AM UTC-7" id=":gi.ma">
<span class="tL8wMe EMoHub" dir="ltr" id=":gi.co" style="text-align: left;">Ha!
I found the problem! MTU on the clients MUST be set to 1446 or less.
- I didn't realize that fragmenting packets would cause a 3000x slow
down. Once Packet size is enforced to be small enough to prevent
fragmentation I get very good speeds of 30Mpbs</span><br />
</div>
<div class="Mu SP" data-tooltip="June 24, 2019 at 8:17:58 AM UTC-7" id=":gi.ma">
<span class="tL8wMe EMoHub" dir="ltr" id=":gi.co" style="text-align: left;"></span><span class="tL8wMe EMoHub" dir="ltr" id=":gi.co" style="text-align: left;"> </span></div>
<div class="Mu SP" data-tooltip="June 24, 2019 at 8:17:58 AM UTC-7" id=":gi.ma">
<span class="tL8wMe EMoHub" dir="ltr" id=":gi.co" style="text-align: left;"></span><span class="tL8wMe EMoHub" dir="ltr" id=":gi.co" style="text-align: left;">Next up increasing radio bandwith from 20mhz to 80mhz. Dare I go to 160mhz?!?!? - Only time will tell. </span></div>
<div class="Mu SP" data-tooltip="June 24, 2019 at 8:17:58 AM UTC-7" id=":gi.ma">
</div>
<div class="Mu SP" data-tooltip="June 24, 2019 at 8:17:58 AM UTC-7" id=":gi.ma">
<span class="tL8wMe EMoHub" dir="ltr" id=":gi.co" style="text-align: left;">(There are legal issues here in the US with using 160mhz outside, it interferes with like weather prediction stuff...(?) - Apparently it's possible with some WiFi equipment to use two different 80mhz bands, getting effectively 160mhz; not sure if there are two full 80mhz bands that I can use outdoors legally. - I think if you enable special power regulation and stuff that you can do it.)</span></div>
</div>
</div>
Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-51736818488906439972019-05-22T03:30:00.000-05:002019-06-12T13:05:05.304-05:00xz man pageI either nominate xz for the worst man page ever or I gladly make a fool of my self for not understanding man pages.<br />
<br />
There is no help on the man page for how to specify an input file with a separate output file name.<br />
<br />
The man page goes on and on and on about different compression ratios and how to specify a custom compression profile.<br />
<br />
But no mention of "-k" or "-c" or how to use them.<br />
<br />
This is the sort of failure that our community needs to acknowledge. This sort of error creates huge frustration for millions of people who mostly know what they are doing, and can completly stop new people from entering the community.<br />
<br />
How do I fix this? Can I submit a patch somehow to update the man page to make it more usefull? - {sigh}<br />
<br />
EDIT: Ok, I was wrong. "-k" and "-c" are mentioned. I still find that reading this man page provides no understanding of how to use these options. <br />
<br />
This is how you compress a file and keep the origional:<br />
<pre> </pre>
<blockquote class="tr_bq">
<pre>xz -c original.file > compressed.file.xz</pre>
</blockquote>
Hindsight is great eh? Makes sense now. - But the point of a manual is to help the reader gain understanding. man pages almost always fail at this. They are good references to things which are already known, but terrible tools to learn from. Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-21963464272049918702019-05-20T21:11:00.000-05:002019-05-20T21:12:02.957-05:00Bridge to the ShopI tried out a 64bit Gentoo image for Raspberry Pi... This is very Gentoo. The Rapberry Pi 3B+ has a 64bit processor, but 32 interface to, like, everything. Basicially no one runs a 64bit OS on the Raspberry Pi, but you could, and if you use Gentoo and you can do something, well why not?!<br />
<br />
It ran very fast for a couple of minutes, then it crashed.<br />
<br />
I went back to Raspbian, and ran into a problem. One of my Raspbian images was running an updated kernel, that did not have anything in /lib/modules that matched. So I was unable to update the WiFi drivers. I found an article with the correct command to reinstall the Raspbian Kernel:<br />
<br />
sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernel<br />
<br />
So play time over and annoying problem accomplished I moved on to thinking about how to actually implement the bridge. I think I'm going to setup two RaspberryPi's to make this bridge. That will allow it to be more portable, and might make creating a educational guide for others to learn from easier. (The alternative being to use the RPi access point that I already have as an end point.)<br />
<br />
L2TPv3 (Layer 2 Tunneling Protocol Version 3) seems to be the key piece of technology that I need to make this work. :-) I found <a href="https://networklessons.com/cisco/ccie-routing-switching-written/l2tpv3-layer-2-tunnel-protocol-version-3">NetworkLesons.com</a> that has a very succieient explination of L2TPv3. While <a href="https://en.wikipedia.org/wiki/Layer_2_Tunneling_Protocol">Wikipedia's L2TPv3</a> entry has some interesting history.Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-47918241769738967322019-05-19T19:56:00.003-05:002019-05-19T20:06:29.384-05:00Mesh NetworkingI've started down a long road. I didn't know how long a road this was until I got on it and started walking. This road is difficult to travel because it's not clear where the road is actually going and all the signposts have fallen over and there are angry bushes with thorns growing atop them. :-)<br />
<br />
<h2>
Garage Network Connection - Goal #1 </h2>
<br />
Make a WiFi bridge between my home network and the network in the shop/garage that just works like two network switches plugged into each other.<br />
<br />
Status: Mostly failure. I've learned a lot but don't have anything functional yet. It's been a while since I worked in earnest on this goal. I feel like I have a real chance of getting there.<br />
<br />
Problems discovered and discussion of solutions:<br />
<br />
<h3>
Layer 3 vs Layer 2 </h3>
WiFi is a layer 3 technology, but networks need layer 2 connectivity if your going to have multiple devices on both sides of a connection. Solution: make a WiFi connection between two devices, and route traffic between the two networks through that connection. This should work, but I ran into a routing hardware problem<br />
<br />
<h3>
Routing Hardware Problem</h3>
My ~13+ year old WiFi router has a configuration page for routing subnets. But it's a sham, total baloney. It's not capable of routing subnets. Solution: Ubiquity Edge Router X - Fixed. Done! Victory! Except that might not be good enough because of "IOT" crap software and hardware that is out of my control.<br />
<br />
<h3>
</h3>
<h3>
The IOT problem.</h3>
We use a Chromecast to watch TV, play music, etc. If you want to cast some content from your cell phone or tablet the way to connect is to use the google home app. To add a chromecast you click the pretty little blue button. You have no way of telling the home app to look for a chromecast on a different subnet. Basicially dumb internet devices really cause headaches when your home network doesn't look "normal". Could the solution be B.A.T.M.A.N.? I don't know but that led me straight into my next goal before I had finished this one. Which is not great. Maybe I can get back to the original goal now, and then deal with the IOT problem later.<br />
<br />
<h2>
Seamless WiFi and/or Mesh Network - Goal #2 </h2>
This could fix the IOT problem. It was always a goal to install multiple WiFi AP's around the house, the shop, the future gazebo, the firepit, the front yard, etc. It's frustrating trying to listen to internet radio under my earmuffs while mowing the yard because I'm constantly loosing and regaining wifi as I travel back and forth with the mower. Also when friends come over I want to be able to help them connect to WiFi ONCE, and not frustrate them or me with having to connect over and over to different WiFi networks as we move about. So I need seamless WiFi. If I can also get a WiFi mesh going that would limit the number of buried ethernet cables that I have to trench. Also learning about Mesh networks and the technologies that are being developed for community use would be awesome! Maybe I can help create a local Mesh Network!<br />
<br />
<h3>
The network switch problem</h3>
Turns out that the SBC's I love so much (single board computers -
mostly raspberry Pi's) generally don't have network switch hardware, and
their WiFi devices are generally connected via USB. This is apparently
awful for creating mesh network nodes. This limits a nodes usefulness
to connecting to at most 5-7 other neighbors and clients. The WiFi
routers that we buy at the supermarket not only come with questionable
proprietary software, but also hardware network switches connected (more
or less) directly to WiFi chipsets. There are two solutions:<br />
<br />
Liberate commercial WiFi Router devices, or buy specialty network hardware - then install and configure them with libre/open source software.<br />
<br />
Using the proprietary hardware is unacceptable to me at this point. 13 years ago when I bought my DLink DIR-655 spying on customers/consumers was just on the horizon of becoming a thing. Today we have to fight for privacy against every company and with every chip that we bring into our houses. I do have my guilty pleasures, there are some privacy battles I choose to loose for convienience or for fun. I use Goolge almost everything, cause it's so useful; and I have a pair of Vinci Headphones my Dad gave me. They supposedly listen and learn what I like and use neural network algorithms to choose what music to play... or something... /rant<br />
<br />
So, for small number of users and not mesh use the RaspberryPi's should be fine. For community level mesh networking we will need better hardware, like the <a href="http://espressobin.net/" target="_blank">Espressobin</a>. I bought one for testing, I'm sure I'll blog about it eventually.<br />
<br />
<h3>
The seamless problem</h3>
<br />
I haven't even gotten into this problem yet. I know it can be done, but the whole mesh thing is a rabbit hole that has been pulling me down in. I think that a good mesh solution will also solve the multiple WiFi AP transparent hopping problem so I've been looking into it from that perspective. But because of how difficult that might be, I might back off and try to solve this first. We'll see.<br />
<br />
<h3>
The Mesh problem</h3>
<br />
Manufactures have been solving this, or half, solving this with proprietary solutions for a while now. Also it's been so slow in coming that there is actually a conference in Paris called <a href="https://battlemesh.org/HomePage" target="_blank">Batlemesh</a> where different mesh solutions compete. I've just started to learn about what the diferent problems there are and what each technology is meant to do and how they fit together. <br />
<br />
There might be hope on the horizon in <a href="https://github.com/o11s/open80211s/wiki/HOWTO">802.11s</a>. Unfortunately there are
VERY few WiFi chipsets with software drivers/kernel-modules combinations
that <a href="https://wireless.wiki.kernel.org/en/users/Drivers">support 802.11s</a>. There are a new 'N' class devices out there, but as I said in a previous post I'd really like to upgrade to faster 'AC' wifi.<br />
<br />
<a href="https://tomesh.net/" target="_blank">Tomesh</a> has a very easy to install solution for RapberryPi's - but they do all their user education face to face in Toronto. They have a great install script, but it asks questions about <a href="https://github.com/tomeshnet/prototype-cjdns-pi/blob/master/docs/MODULES.md" target="_blank">all this stuff</a>, and there are no links to documentation or ANY explanation as to what each of the modules is for or what it does. - So that's another long road...<br />
<br />
<a href="https://libremesh.org/index.html" target="_blank">LibreMesh</a> looks amazing, but it is lazer focused on liberated WiFi router hardware, which is great, but I'm stuck with Raspberry Pi's right now and the RaspberryPi image they have is broken.<br />
<br />
Then there is stuff like blogs and <a href="https://hackaday.com/2012/11/14/mesh-networking-with-multiple-raspberry-pi-boards/" target="_blank">almost how-to's</a> on how to setup WiFi mesh nodes. This might be useful to read, and maybe I can glean some context and specific tid-bits from these type of articles. But I'm done wasting my time following How-To's that don't educate more than they instruct.<br />
<br />
A lesser solution might be Ad-Hoc networks... I'm not really sure. The <a href="https://github.com/suiluj/pi-adhoc-mqtt-cluster/wiki">pi-adoc-mqtt-cluster wiki</a> looks promising.<br />
<br />
That's my whole day and a half gone. Writing this all down is definitely going to help me in the future, who knows maybe it helps someone else too. :-) Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-35399257096702137342019-02-12T11:39:00.001-06:002019-02-12T22:10:52.494-06:00Contempt CultureI recently found an essay (?) about "contempt culture" in the technological world:<br />
<br />
https://blog.aurynn.com/2015/12/16-contempt-culture<br />
<br />
I realize that I am 100% guilty of having a bad attitude towards those who use software that I consider inferior. - Like the author I hadn't thought about the social consequences. <br />
I'm still an advocate for software freedom. It's good to encourage others to choose libre software. I'll just have to check myself and make sure to not be contemptuous of others software choices. <br />
<br />
As a start on my path of technological inclusion I promise to never again make fun of Java programmers, KDE libraries, or Windows users... <br />
<br />
<br />Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-56021714596348472682019-02-04T15:54:00.001-06:002019-02-04T15:54:39.278-06:00Easy WiFi driver instalation on Raspberry PiI really don't know why I decided to buy a WiFi adapter that didn't have support already built into Rasbian (Stretch). But I did. I picked up a EDUP 600mbps with removable antenna. <br />
<br />
https://www.amazon.com/gp/product/B01CCMUN8C/<br />
https://www.newegg.com/Product/Product.aspx?Item=9SIAEJS6X41720<br />
<br />
It was cheap, and it was "Amazon's Choice" - So I suppose someone is making a little extra profit...<br />
<br />
I don't necessarily hate or love these RealTek chips. I haven't formed very strong opinions about WiFi chips. I've bought a ton of the Edimax EW-7811Un USB WiFI adapter things. They are small, cheap, and they just work every time. But they are only 'N' WiFi at 150mbps. New 'AC' WiFi adapters can hit gigabit speeds supposidly. So I suppose I really just wanted to start looking for a new favorite.<br />
<br />
Anyway, I tried to compile a kernel with a rtl8812au driver... but that was difficult. Then I found MrEngman!<br />
<br />
http://downloads.fars-robotics.net/ <br />
<br />
<blockquote class="tr_bq">
<pre><code>sudo wget http://fars-robotics.net/install-wifi -O /usr/bin/install-wifi
sudo chmod +x /usr/bin/install-wifi</code>
<code>sudo install-wifi -h</code></pre>
</blockquote>
<br />
What a life saver! Thank you MrEngman and everyone who worked to make my life easier. You are all heros in my book for writing such a usefull and well written script to install WiFi drivers on Raspberry Pi's.<br />
<br />
Seriously made my day, cheers to you!<br />
<br />
PS: Their script works with MANY different RealTek chips. <br />
<br />
Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-77548880903662487772018-07-28T14:17:00.000-05:002018-07-28T14:22:23.506-05:00I bought a bunch of logic level converters for 3.3v to 5v as part of a first robotics team project:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJssk-sFD3sCGoo80jOtTgwDPMWpNzbpkifEBsB9HP9BwvmRD3niwQgIsietpcu4kEMl9egjh1Jd_oygFOrN56eKuVc6XMuZpIgB4rqvzPipwuILF2T9KyM6LsFrvy-eT6nwan/s1600/Level+Converter+Bare.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="257" data-original-width="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJssk-sFD3sCGoo80jOtTgwDPMWpNzbpkifEBsB9HP9BwvmRD3niwQgIsietpcu4kEMl9egjh1Jd_oygFOrN56eKuVc6XMuZpIgB4rqvzPipwuILF2T9KyM6LsFrvy-eT6nwan/s1600/Level+Converter+Bare.jpg" /></a></div>
<br />
So with a serial connection you have to connect the Tx from the sending device to the Rx of the receiving device. This level converter is labled with a bunch of Rx and Tx, however there is only one correct way to wire this device. I got very confused... So for me next time I use one of these or possibly for you if you are also trying to figure out how to connect this up, I present you with the following:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpBtaQT9QEZHwo20QZids7bHD53W0oSdJEaYz6IkP4mm9CtSCacwUneYCD79pOzyNf6HELsDSnax3VzYxFc5AvU-2DvQ09zR7w8-8uap3n9Or471uCF9vmpd_UVzCG3Y5tokCl/s1600/Level+Converter+Diagram.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="" border="0" data-original-height="257" data-original-width="700" height="145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpBtaQT9QEZHwo20QZids7bHD53W0oSdJEaYz6IkP4mm9CtSCacwUneYCD79pOzyNf6HELsDSnax3VzYxFc5AvU-2DvQ09zR7w8-8uap3n9Or471uCF9vmpd_UVzCG3Y5tokCl/s400/Level+Converter+Diagram.jpg" title="" width="400" /></a></div>
<br />
You have to do the Rx-Tx switch on the low voltage side. Basicially hooking this module up any other way will not work.<br />
<br />
The neutrals are drawn as separate, but they should actually be common. They are also drawn with a ground symbol, cause that's how the board is labeled; but they are not ground wires, they are actually neutrals, but nobody cares. :-)<br />
<br />
Good luck!<br />
<a href="https://www.blogger.com/goog_636585023"><br /></a>
<a href="https://www.banggood.com/10-Pcs-3_3V-5V-TTL-Bi-directional-Logic-Level-Converter-For-Arduino-p-951181.html?rmmds=search&cur_warehouse=CN">These are so cheap, here is a pack of 10 for $5.</a> Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-62342692182232221142018-01-11T00:34:00.003-06:002018-07-28T12:10:18.012-05:00Arduino on GentooOh goodness, another very poorly maintained article on how to do something using Gentoo... I wish I had infinite time to improve the Gentoo Wiki..<br />
<br />
I'm trying to write the blinkin light program for this Arduino that I have here and software issues on the PC are causing me headaches....<br />
<br />
<a href="https://wiki.gentoo.org/wiki/Arduino#Prepare_the_kernel_for_USB_connection" target="_blank">Gentoo Wiki -Arduino</a><br />
<br />
I think I can improve this one, I'll give it a shot.<br />
<br />
UPDATE: I didn't improve that wiki article, and I think it's unlikely that I'll go back and work on it. But that just means you can! ... If you want to. :-)Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-13829708743629234102017-07-07T01:18:00.000-05:002017-07-07T01:18:51.112-05:00Gentoo on RaspberryPiThere are several guides on how to setup Gentoo on a Raspberry PI. For whatever reason they all seem to have mistakes or things in them that frustrate me.<br />
<br />
[Edit: This is a story of failure. I've struck out the useless &
frustrating bits. The only interesting or possibly useful bit is at the
bottom.]<br />
<br />
<strike>So here is my guide, for me, which you will probably find mistakes in and find frustrating. Sorry.</strike><br />
<br />
<strike>So if you really want the best speed from you Pi SD card the partitions need to be done in just the right way - or so I'm told: <a href="http://elinux.org/RPi_Advanced_Setup#Advanced_SD_card_setup">http://elinux.org/RPi_Advanced_Setup#Advanced_SD_card_setup</a></strike><br />
<strike>However it's worth noting that the SDCard reader on the Pi does have a theoretical limit on how fast it can move data. I think its somewhere close to 25Mbps (MBps?). So maybe don't expect that your extreme/pro/super card will run at top speed no matter what we do to it: </strike><br />
<strike><br /></strike>
<strike>fdisk -c=dos /dev/mmcblk0</strike><br />
<strike>x (expert mode)</strike><br />
<strike>h (set to 255)</strike><br />
<strike>s (set to 63)</strike><br />
<strike>p (check out the total bytes on the card)</strike><br />
<strike>c (set cylinders = integer part of { [total bytes] / 255 / 63 / 512 })</strike><br />
<strike> (Probably the same as the default because we started with "-c=dos")</strike><br />
<strike><br /></strike>
<strike>r (go back to regular mode)</strike><br />
<strike><br /></strike>
<strike>(I make my partitions like this:</strike><br />
<strike>Disk /dev/mmcblk0: 14.4 GiB, 15489564672 bytes, 30253056 sectors</strike><br />
<strike>Geometry: 255 heads, 63 sectors/track, 1883 cylinders</strike><br />
<strike>Units: sectors of 1 * 512 = 512 bytes</strike><br />
<strike>Sector size (logical/physical): 512 bytes / 512 bytes</strike><br />
<strike>I/O size (minimum/optimal): 512 bytes / 512 bytes</strike><br />
<strike>Disklabel type: dos</strike><br />
<strike>Disk identifier: 0x9649c08a</strike><br />
<strike><br /></strike>
<strike>Device Boot Start End Sectors Size Id Type</strike><br />
<strike>/dev/mmcblk0p1 * 63 262207 262145 128M c W95 FAT32 (LBA)</strike><br />
<strike>/dev/mmcblk0p2 262208 28155902 27893695 13.3G 83 Linux</strike><br />
<strike>/dev/mmcblk0p3 28155903 30253055 2097153 1G 82 Linux swap / Solaris</strike><br />
<strike><br /></strike>
<strike>I put the swap at the end, cause I figure it will get trashed and die from heavy use. Maybe I wil be able to shrink partition 2 and just move the swap in as write fatigue destroys it. YMMV)</strike><br />
<strike><br /></strike>
<strike>mkfs.vfat -F 32 -n BOOT /dev/mmcblk0p1</strike><br />
<strike>mkfs.f2fs -L ROOT/dev/mmcblk0p2</strike><br />
<strike>mkswap -L SWAP /dev/mmcblk0p</strike><br />
<strike><br /></strike>
<strike>(Might need to choose something other than f2fs to start with, I think the modern raspberry pi kernels support ext4) </strike><br />
<strike><br /></strike>
<strike>Then mount them up at /mnt/gentoo and /mnt/gentoo/boot</strike><br />
<strike><br /></strike>
<strike>And start copying files, I followed these instructions:</strike><br />
<strike><a href="https://wiki.gentoo.org/wiki/Raspberry_Pi/Quick_Install_Guide">https://wiki.gentoo.org/wiki/Raspberry_Pi/Quick_Install_Guide</a></strike><br />
<strike>And that didn't work: kernel panic couldn't mount the partitions... I think the problem was with the /boot/cmdline.txt file. But seeing as I already took issue with that guy's sdcard formating and choice of filesystem, I decided to look elsewhere.</strike><br />
<strike><br /></strike>
<strike>I tried to follow these instructions: <a href="https://wiki.gentoo.org/wiki/Raspberry_Pi">https://wiki.gentoo.org/wiki/Raspberry_Pi</a></strike><br />
<strike><br /></strike>
<strike>mount /dev/mmcblk0p1 /boot</strike><br />
<strike>emerge --oneshot sys-boot/raspberrypi-firmware</strike><br />
<strike><br /></strike>
<strike>* Please configure your ram setup by editing /boot/config.txt</strike><br />
<strike><br /></strike>
<strike>vim /boot/cmdline.txt</strike><br />
<strike>"<span class="nv">root</span><span class="o">=</span>/dev/mmcblk0p2 <span class="nv">rootdelay</span><span class="o">=</span>2"</strike><br />
<strike><br /></strike>
<strike>mount /dev/mmcblk0p2 /mnt/gentoo</strike><br />
<strike>mkdir /mnt/gentoo/boot</strike><br />
<strike>mount /dev/mmcblk0p1 /mnt/gentoo/boot </strike><br />
<strike>tar xpjf /home/anon/Downloads/Gentoo\ RPi\ Images/stage3-armv6j_hardfp-20161205.tar.bz2 -C /mnt/gentoo</strike><br />
<br />
<h2>
STOP.</h2>
<br />
This isn't working.... All the guides I've been able to find are <u><i><b>terrible</b></i></u>. Many broken links, small incomplete sections, nothing covered thoroughly, while trying to cover a huge variety of software and scenarios:<br />
*Using portage to get firmware.<br />
*At least four different sections concerning installing the kernel<br />
*Modifying ebuild files<br />
*Stage 3 downloads<br />
*Stage 4 downloads<br />
*Cross compiling with cossdev<br />
**Creating an overlay <br />
*Compiling using chroot<br />
**Using QEMU virtualization<br />
* Binhost servers (http://bloodnoc.org/~roy/BINHOSTS/gcc-5.x/arm6j/) <br />
<br />
Really! >:-( <br />
<br />
That's too much stuff to just touch on and assume that the reader will figure it out. I wasted days trying to work though all that, and I've at least experienced many of those concepts/software before. If you were trying to scare someone off of using Gentoo on a raspberry pi; congratulations: you did a great job! (Jerk.)<br />
<br />
Then near the bottom I find this:<br />
https://github.com/sakaki-/gentoo-on-rpi3-64bit <br />
<br />
Is a working link to a Raspberry Pi 3 image that can be installed by Noobs, and has clear instructions.<br />
Euerka! <br />
I ordered a couple of raspberry pi 3's and I'll wait for them to arrive.<br />
<br />
(What a waste...)<br />
<br />
In the mean time I started working on my own Gentoo on Raspberry Pi wiki how-to. I don't know if I'm going to be successful; but <b>if</b> I can figure out how to get Gentoo onto a Pi - then I can definitely write a better wiki page about it.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-55492731163156509952017-07-02T00:03:00.000-05:002017-07-04T17:14:07.435-05:00Trying not to "fix" my phone.6/29/2017<br />
So I went into settings on my Nexus 6 and tapped repeatedly on the Build Number; and apparently now I'm an Android developer!!! I ordered this phone within hours of it being available and I've been absolutely overjoyed with how well it's worked for me. I think however it's time for me to start playing with it. Maybe I'll try out the <a href="https://lineageos.org/index.html">Lineage OS</a>. First thing's first; I need to do some backing up and updating; then more backing up and testing.... Fun times, fun times!<br />
<br />
Update 7/2/2017 <br />
Ok so I found some pages that gave information on how to backup parts of the phone, pictures, contacts etc... To my pleasure I'd already activated all the "built-in" Google backup options. So even if I screw this up tremendously it's likely that I can eventually get my phone back to a functional state. However what I'm really after is a complete image of the phone so that after messing around with it if I'm unhappy with the state of things I can just roll back to the way everything was before I started. I haven't been able to find a way to do this yet.<br />
Things I have figured out, there are several software packages which are very interesting:<br />
<div style="text-align: center;">
<a href="https://packages.gentoo.org/packages/search?q=android">Portage Packages: Android</a> </div>
<b>dev-util/android-tools</b><br />
appears to offer the adb program which allows sending commands to the android OS, among other things.<br />
<br />
<b>dev-util/android-sdk-update-manager</b><br />
The Open Handset Alliance's <a href="https://en.wikipedia.org/wiki/Software_development_kit">SDK</a> <br />
<br />
<b><a href="https://developer.android.com/ndk/index.html">dev-util/android-ndk</a></b><br />
The Open Handset Alliance's NDK, for writing native code instead of transportable Java code.<br />
<br />
<b>dev-util/android-studio</b><br />
The Open Handset Alliance's IDE for Android developers. <br />
<br />
<b>dev-java/android-util</b><br />
(Ha! The only one to have util in the name, and it's in the<br />
dev-java group instead of dev-util - It probably makes more sense than it seems, still funny :-) - I don't know what this is for yet. Says it's a library providing <a href="https://en.wikipedia.org/wiki/Application_programming_interface">API</a>'s<br />
<br />
What isn't clear at all is whether Android Studio comes with the Android-Tools, and the SDK, or whether all three need to be installed. More questions... <br />
<br />
Then this fell into my lap: According to <a href="https://forum.xda-developers.com/showthread.php?t=1839477">an XDA Developers forum post</a>: "<span class="JpMPcPlCMA" id="VHMjvads">All user data, content and media on the internal partition are erased when you unlock the bootloader."</span><br />
<br />
<span class="JpMPcPlCMA" id="VHMjvads">So I need to get a backup I'm happy with before doing that, good tip! </span><br />
<span class="JpMPcPlCMA" id="VHMjvads"><br />
</span> <span class="JpMPcPlCMA" id="VHMjvads">I installed Android Studio and then I really started to get upset:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY-sJbwRiS7usy4n1RzP5-6HOl143UwO114KglO94-pB87xDAtkUKo51CMNkHT1j3Re9FMPdZGjoApdjiUwYQlc3pbQ-NJ-7rHS5H_aHVm9_9qJxw89vDBY9XKcuVSvU82pRo3/s1600/First+Opening+of+Android+Studio.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="800" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY-sJbwRiS7usy4n1RzP5-6HOl143UwO114KglO94-pB87xDAtkUKo51CMNkHT1j3Re9FMPdZGjoApdjiUwYQlc3pbQ-NJ-7rHS5H_aHVm9_9qJxw89vDBY9XKcuVSvU82pRo3/s320/First+Opening+of+Android+Studio.png" width="320" /></a></div>
<br />
<span class="JpMPcPlCMA" id="VHMjvads">I hate mystery meat navigation. I'm desperate for some specific relevant information. Even with very excellent adblocker software I'm spent hours pouring through useless web pages full of pictures, beggin for money, with the same abysmally low quality of information. Hints, Allegations, and Things Left Unsaid. I need some concrete documentation that doesn't have hundreds of pages of beginner crap at the beginning which I simply can't force myself to wade through.</span><br />
<span class="JpMPcPlCMA" id="VHMjvads"><br />
</span> <span class="JpMPcPlCMA" id="VHMjvads">All this effort to make stuff easy to use for the average person makes things REALLY HARD to use for someone who want's to really use the hardware.</span><br />
<br />
<span class="JpMPcPlCMA" id="VHMjvads">This sucks.</span><br />
<span class="JpMPcPlCMA" id="VHMjvads"><br />
</span> <span class="JpMPcPlCMA" id="VHMjvads">After lunch I came back to this problem with fresh eyes and I found <a href="https://android.stackexchange.com/questions/28296/full-backup-of-non-rooted-devices">this</a>. Someone else, as frustrated as I, who diligently, and clearly, asked for help and got it! Hooray for you Izzy! (and thank you!).</span><br />
<span class="JpMPcPlCMA" id="VHMjvads"><br />
</span> <span class="JpMPcPlCMA" id="VHMjvads">So I went into the developer settings on the phone and enabled USB debugging.</span><br />
Then I swpied on the phone from the top down and selected Use USB for Charging, and changed it to Use USB for file transfers.<br />
I was hoping that the phone would automagicially show up in the File Manager but it didn't...<br />
<br />
I ran <i>adb usb</i> and immediately got the Allow USB debugging? pop-up on the phone. - Progress!!<br />
<br />
I'd like to access the files on the device and copy those over before tying out the adb backup command.... Hmm.<br />
<br />
I did a little digging and found that Android uses <a href="https://en.wikipedia.org/wiki/Media_Transfer_Protocol">MTP</a> for file transfers, the <a href="https://packages.gentoo.org/packages/sys-fs/mtpfs">sys-fs/mtpfs</a> fits the bill. However is appears that my Kernel isn't built with FUSE support. Doe! Off to go build a new kernel.<br />
<br />
Update 7/2/2017<br />
Working on the new kernel, I think I'd like to try turning on the "Randomize the address of the kernel image" option in the "Processor type and features" menu. I seem to recall that I had that turned on before, but for what ever reason I have it turned off now.<br />
<br />
Other changes:<br />
<b>General Setup - Timers subsystem - full dynticks</b> - I found <a href="https://www.linuxquestions.org/questions/linux-kernel-70/timer-tick-handling-4175468487/">this explanation</a> and chose to go from idle dynticks to full dynticks.<br />
<b>General setup - Initial RAM filesystem and RAM disk</b> - Turned off; not using it right now although I'm sure I will at some point.<br />
<b>General setup - Use a virtually mapped stack</b> - A new option that I enabled for better kernel security.<br />
<b>Processor Type and Features - Common API for compressed memory storage & both ZBUD and Z3FOLD</b> - This system doesn't have very much ram, this might help(?) Would be interesting to test a few things with and without this option.<br />
<b>Power Management and ACPI options - CPU Frequency scaling - Intel P state controll VS ACPI Processor P-states driver</b> - Apparently performance differences between these drivers are tiny, but it might be interesting to try Intel's driver, for now I left it at the ACPI driver. I did turn on the CPU idle PM support - Menu governor - and the CPU idle for Intel processors - seemed appropriate.<br />
<b>Device Drivers - Multiple devices driver suport (RAID & LVM) - Autodetect RAID arrays during kernel boot</b> - Turned off, according to the tool tip it might save several seconds at boot up.<br />
<b>Device Drivers - Network Device Support - Ethernet driver support & PHY Device support and infrastructure & Wireless LAN</b> - I changed everything to modules instead of built in - despite disabling quite a few drivers I'm sure I still have more than I need being built. - Will have to check to see what modules get loaded and thin the herd.<br />
<b>Device Drivers - Network Device Support - USB Network Adapters</b> - Set everything to 'M' and turned off Multi-purpose USB Networking framework.<br />
<b>Device Drivers - Input Device Support - Mice - Synaptics I2C Touchpad Support & Synaptics USB device support</b> - Turned both on as modules, maybe my touch pad will work now!!! I either forgot to turn these on originally, or I was so annoyed at the touch pad that I disabled them - I don't remember which.<br />
<b>Device Drivers -Character devices - Serial drivers - 8250/16550 and compatible serial support</b> - Changed from off to 'M' - Maybe this is the reason the touchpad wasn't working?<br />
<b>Device Drivers -Character devices - Hardware Random Number Generator Core Support</b> - Changed the Intel and VIA driver to modules - Surely we have zero or one and not both of these, I'm guessing zero.<br />
<b>Device Drivers - Character devices -/dev/nvram</b> - Turned this off.<br />
<b>Device Drivers - Graphics Support - Bootup Logo</b> - Instead of just the 244 color logo I chose all three. - Maybe should disable all of these, and see if there is a difference; I'm not sure I've ever noticed the bootup logo. Then again I like my computers to boot very quickly, maybe it just scrolls by too fast. I should probably turn this off; the only bootup logo I want to see is SLiM.<br />
<b>Device Drivers - HID Support - Special HID Drivers</b> - I enabled a few as modules here that referred to mice, maybe one of them is needed for the touchpad.<br />
<b>Device Drivers -HID Support - I2C HID Support</b> - Enabled as a module, again touchpad..<br />
<b>Device Drivers - USB Support - USB ULPI PHY interface support</b> - Set to 'M' - it's a new option and it says it provides functions such as ADP sensing/probing (OTG protocol) and USB charger detection. Seeing as I have USB OTG adapters for the Raspberry Pi zero, maybe I'll need it someday.<br />
<b>Device Drivers - DMA Engine Support - Synopsys Designware AHB DMA PCI Driver</b> - is marked as M and I can't change it - it used to be off.<br />
<b>Device Drivers - X86 Platform Specific Device Drivers - Asus Laptop Extras</b> - Changed from disabled to Module<br />
I kind of rushed through the crypto options because it's bedtime... :-) I'll have a go at compiling the kernel tomorrow, I did remember to enable FUSE. ;-)<br />
<br />
7/3/2017 <br />
The Kernel compiled smoothly, and my little laptop now boots in under 15 seconds. Still needs some work, but we're getting there. :-) I had to use Samba/CIFS to help fix another laptop, So I rebuilt the Kernel with<br />
<br />
7/4/2017<br />
Still trying to smooth out some of the wrinkles in my kernel:<br />
<b>Device Drivers - Misc devices - ME Enabled Intel Chipsets</b> - Turned on<br />
<b>Device Drivers - Multifunction device drivers - Intel ICH LPC</b> - Turned on<br />
<br />
Found a new problem; one which I feel like I've encountered before: The UI fonts in libreoffice have gone to greek? maybe italian? I managed to switch them to Japanese; but can't see to get them back to english.<br />
<br />
Doing an <i>emerge --oneshot libreoffice</i> to see if that helps, then I'll try out these latest kernel modifications; including FUSE.<br />
<br />
It did not help...<br />
<br />
Nor can I connect via serial console cable to my Raspbery Pi. I'm at least three problems deep now; I really wish I could solve one! <br />
<br />
<br />
<br />Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-75330027918598586532017-06-19T01:54:00.001-05:002018-01-11T02:55:16.359-06:002017 Gentoo MaintianceThis weekend I updated the Gentoo installation on my laptop. I've been away from Gentoo for so long that it proved to be quite an adventure. An old blog post from six(!) years ago proved helpful in getting everything cleaned up. But things have changed a bit since then: So here is an updated list of the commands/utilities that I use to keep my system running smoothly.<br />
<br />
<blockquote>
<span style="font-style: italic; font-weight: bold;">eix-sync<br />
emerge -uDNav --with-bdeps y --backtrack 200 @world<br />
</span></blockquote>
(Watch out for Python upgrades, do those first!)<br />
(Watch out for <a href="https://wiki.gentoo.org/wiki/Upgrading_GCC#GCC_upgrading_explained" target="_blank">GCC upgrades!</a>)<br />
(Watch out for <a href="https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel#Compiling_and_installing" target="_blank">Kernel upgrades</a>)<br />
<blockquote>
<span style="font-style: italic; font-weight: bold;">dispatch-conf</span> <span style="font-style: italic; font-weight: bold;"><br />revdep-rebuild</span></blockquote>
<blockquote>
(Repeat the last two commands until they both finish with nothing to do. Maybe also <span style="font-style: italic; font-weight: bold;">emerge @preserved-rebuild)<br />
<br />
eix-test-obsolete</span><br />
(if obsolete packages are found remove or, upgrade them and run <span style="font-style: italic; font-weight: bold;">revdep-rebuild</span> and <span style="font-style: italic; font-weight: bold;">dispatch-conf</span> again)</blockquote>
<blockquote>
If pearl was updated run: <span style="font-style: italic; font-weight: bold;">pearl-cleaner --all</span><br />
(Perl upgrades can be messy, apparently..)</blockquote>
<blockquote>
Check to see if GCC needs to be set to a new version before removing the old one: <span style="font-style: italic; font-weight: bold;"><br />
gcc-config -l<br />
gcc-config #<br />
env-update && source /etc/profile<br />
emerge --ask --oneshot sys-devel/libtool</span><span style="font-style: italic; font-weight: bold;"></span></blockquote>
<blockquote>
emerge -av --depclean --exclude gentoo-sources (*** be careful with this one ***<br />
It's suggestions on what to remove are sometimes dumb.)<br />
<span style="font-style: italic; font-weight: bold;"><br />
eclean distfiles<br />
emaint --check world</span> <span style="font-style: italic; font-weight: bold;"><br />
emaint --fix world</span><br />
<br />
Check to see if you need to upgrade your kernel; once that's done then you can <i><b>emerge -C</b></i> any old ones your not keeping.</blockquote>
<code>layman-updater -R</code><br />
<code><code> layman -S</code> </code><br />
<br />
I plan to edit this again someday (6/21/2017), but this is a nice update from the last one. :-) Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-33971523202658983902015-12-23T11:41:00.001-06:002015-12-23T11:41:23.739-06:00Tin foil hats and what they say about us.<p dir="ltr">The modern tin foil hat is on Kickstarter because: of course it is:</p>
<p dir="ltr">https://www.kickstarter.com/projects/shieldapparel/shield-the-world-s-first-signal-proof-headwear</p>
<p dir="ltr">Contrary to their marketing I suspect this hat sends stronger, and more harmful, signals then those which it blocks.   </p>
<p dir="ltr">According to the video you should wear it on a first date.  It's kind of a messed up metaphor for our times:  Be open and honest about your inner crazy; while pampering and protecting it.</p>
<p dir="ltr">That was sarcasm by the way. Please be uncomfortable with your inner crazy.</p>
Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-12511099208464464272015-12-20T03:18:00.003-06:002015-12-20T03:18:53.610-06:00Intel you've failed us.As a computer enthusiast I've got a rockin' desktop, and to keep it " rockin' " I have to upgrade it about every three to five years, depending on how much disposable income I've got at the time. Well my current desktop is from late 2011 and I'm itching for an upgrade.<br />
<br />
Intel makes the best desktop CPU's because they have the best/smallest process technology. However market forces dictate that they cater to the very low power segments of the CPU markets. With the Desktop and Laptop markets being eclipsed by cellphone's and tablets Intel has to dramatically shift focus from making the fastest chips, to making the best low power chips. So Intel is throwing all it's giant manufacturing muscle and CPU know-how into making tiny low power CPU's. A difficult transition to be sure.<br />
<br />
This is great news! I would love to replace my power hungry server CPU with something very low power so I can leave it running without having a huge electric bill! Also I'd love for my massive water cooled desktop to be even more overclock-able, and to be able to cram more cores into the same thermal load!!<br />
<br />
Intel's newest CPU architecture is called Skylake. The following Wikipedia article lays out all the different code names in case you are curious. (My current chip is a middle of the road Sandy Bridge):<br />
<br />
<a href="https://en.wikipedia.org/wiki/Intel_Tick-Tock">https://en.wikipedia.org/wiki/Intel_Tick-Tock</a><br />
<br />
I realize that the enthusiast CPU market is a much smaller part of the computing landscape today; I know that all their efforts are going towards finding that special sauce for a low power blockbuster chip. Surely though with Intel making SEVENTY, yes -7-, -0-, seventy different Skylake CPU's there should be a few to choose from for desktop lovers like myself.<br />
[<a href="http://ark.intel.com/products/codename/37572/Skylake">http://ark.intel.com/products/codename/37572/Skylake</a>]<br />
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Nope.</div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: left;">
Wait what?</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: center;">
Nope.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
What do you mean... nope?</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: center;">
You get nothing!</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
Seriously... </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: center;">
Look at that Wikipedia article up there, the column titled "enthusiast".</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
INTELLLL!!!!! No enthusiast class chips in (core) generations 5 or 6. The 4th generation enthusiast chips, Haswell-E were only like 10% better than the 3rd generation chips. No one is going to spend ~$2,000 to upgrade from a three year old enthusiast chip to a two year old enthusiast chip for only a 10% improvement.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Nothing in that list of seventy Skylake chips has a core count above 4. Some of them are quite fast, the i7-6700K is actually a sweet little chip. The integrated graphics are annoyingly eating up a large chunk of die space. Sure it has a mere 20 PCI-e lanes; at least they are flexible. While the high base clock, and high IPC, mean that this CPU is quite a mover. If you can find one.... Right now, if you can find one, your going to pay 150% list for it; there aren't enough to go around.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Alright, so no enthusiast chips worth paying for, and one upgrade candidate with the same 4 cores and limited PCI-E that I already have. YAWN! [ Seriously!!! My cell phone has 8 cores!!! - Hello!] </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Alright forget the desktop. Surely there is something for my server in that list. Hmm, again, nothing with a core count above 4... doesn't look good. Hey the m7-6Y75 only uses 4.5 watts! Amazing! Can I buy one, nope. It's a FCBGA1515 chip. Only way to get one is to become an amazing electrical engineer, design and fabricate your own motherboard, buy an expensive ultra book (or someday a compute stick??), and transplant the CPU. - Not going to happen.. Yet. :-{ </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Ok how about the E3-1280 V5 - Really excellent chip! I'd love to have one, in a workstation.... Not a server. Server CPU's usually aren't doing much. I don't need a barn burner with only 4 cores. Doesn't matter though, can't get that chip yet, not available. I could get it's slightly slower cousin the E3-1275 V5, at a premium. But I want something really low wattage for energy savings; and/or something with lots of cores for virtulization - which also gets me energy savings, and is fun! - In the previous generation of Intel chips called Broadwell: Intel make a 8 core hyper-threading monster called the Xeon D-1540. I'm willing to buy previous generation tech: I could get one of those. Just one problem. It's a soldered on chip ( FCBGA 1667 ), and there is only one motherboard you can buy it on, the Mini-ITX X10SDV-TLN4F from Supermicro. It only has one PCI-e express slot; and I have two hardware RAID cards that I need in my server. So as much as I want one: it doesn't work for me. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Ok, keep looking, how about the 'L' suffix chips like the Xeon E3-1260L V5 or the even lower power 1240L => Not available (Yet... Soon? [...please?...]).</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
What about the 'M' series those look... strange. I think they are purpose built for semi-powerful gaming laptops. The integrated graphics on those things are fairly intense; and completely unnecessary for a mostly headless server. Also another unique soldered socket ( FCBGA 1440 ). </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Why does one generation of chips need so many soldered sockets! Can't I get anything for my server or my desktop!!!</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
[Several Deep Breaths Later...]</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Pentium 4405U - FCBGA 1515 - Not available on desktop boards.</div>
<div style="text-align: left;">
Pentium 4405Y - Same as above but completely unavailable so far.</div>
<div style="text-align: left;">
Pentium G4400T - Amazing all-in-one chip with very low TDP. 35W! 2 cores at 2.9Ghz with fairly powerful HD510 graphics. Wonderful for an affordable SFF desktop, not great for a server; but OK; but not available and it has another(!!!) socket type: FCLGA1151 - So finding a good motherboard for it even when it becomes available will probably be impossible.</div>
<div style="text-align: left;">
Core i3-6167U - FCBGA1356 (How many more socket types are there! - I imagine motherboard company engineers toiling away 60+ hours a week, in incredible pain from carpel tunnel, desperately trying to make motherboards for all these different sockets..)</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
There are a ton of processors in the i3-6000 series. I believe these are all for mainstream laptops, so far I haven't seen anything remotely close to something I could re-build my server around.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Failure. Complete and utter failure. I guess I'm going to have to wait until ARM chips become good enough to rival Intel's desktop chips. It seems like AMD's abandonment of the desktop market (honestly a good idea on their part) has made Intel loose all interest. I wonder if I could pick up a cheap 16 core Abu Dhabi. Not sure I could stand to have a 32nm chip though; not when the current state of the art is down to 14nm. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Intel just refuses to make any decent chips for people looking to upgrade.</div>
<div style="text-align: left;">
What choice do I have?</div>
<div style="text-align: left;">
I guess I'll just save my money, and hope that "Kaby Lake" includes some love for users like me.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
PS: My I do tend to rant a lot on this blog, my apologies... All is well :-)</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-9916357502686131312015-02-09T19:36:00.001-06:002015-02-09T19:36:40.335-06:00My sister doing good deeds.http://fox6now.com/2015/02/08/scarred-by-the-sex-trade-a-closer-look-into-the-underworld-of-sex-trafficking/Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0tag:blogger.com,1999:blog-10842939.post-91026501775935815712015-01-12T15:29:00.002-06:002015-01-12T15:29:33.754-06:00Software written for whom?I going to start with a quotation. I'm not sure of the author, but it was a photo tweet by @SwiftOnSecurity:<br />
<blockquote class="twitter-tweet" lang="en">
A few weeks ago, <a href="https://twitter.com/TripwireInc">@TripwireInc</a> asked me if I could have an InfoSec superpower, what would it be?
This is my response. <a href="http://t.co/Cviq9f8A8H">pic.twitter.com/Cviq9f8A8H</a><br />
— InfoSec Taylor Swift (@SwiftOnSecurity) <a href="https://twitter.com/SwiftOnSecurity/status/554091677090983936">January 11, 2015</a></blockquote>
<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"></script>It's kind of poetical, I'm going to rehash:<br />
<blockquote class="tr_bq">
What problems are you solving? Is your neighbor any more secure, free, or empowered by the things you build and the things you preach? Or do you betray them from your ivory tower by abandoning them to the wolves you empower? What is a gift that is used only to build things the common cannot operate? </blockquote>
As my friends know I'm a GNU/Linux hobbyist. Lately though I've been super frustrated by the usability of the some of the cooler free software that is out there. But the more powerful the software tool the more impossible it is to find clear straightforward documentation for it. <br />
<br />
An example: I have a tape storage drive, I want to use it to keep a back up of hard drive. There are some excellent free software programs out there Amanda, and Baccula to name two. I'm intending to use Baccula, cause it's AGPL3. The first thing I was able to find is the "<a href="http://www.bacula.org/5.0.x-manuals/en/main/main/Brief_Tutorial.html">Brief Tutorial</a>" on Baccula. I won't waste your time ranting about it; it is neither brief nor a tutorial. I gave up on that and went back a step to the table of contents for the Baccula documentation; if printed the table of contents would be eleven pages long.<br />
<br />
So bottom line: If I want to understand and use a modern automated backup software package I need to spend several months studying and struggling with some absurdly complicated and obtuse documentation. <br />
<br />
Same thing happened to me when I recently attempted to try out virtuilization. <br />
<br />
Same thing happened to me when I first started using GNU/Linux. I'm very glad I persevered; but why did I have to?<br />
<br />
The amazing people behind the free software movement have created incredible software; and they have shown incredible selflessness by sharing their success with humanity. Unfortunately, selflessness isn't the same as generosity. This software wasn't written for our neighbors, friends or humanity. We, the neuro-typical, are excluded from this martyr-ware. <br />
<br />
I hypothesize that powerful software does not have to be difficult to install, understand, or use. I think the free software movement would be a loved, successful, and popular social movement if it stopped abandoning humanity to the wolves it empowers.Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com1tag:blogger.com,1999:blog-10842939.post-91069056333603852412014-01-13T19:06:00.001-06:002014-01-13T19:06:41.298-06:00Irresistible<p dir="ltr">That's my dog: Go get 'em Ein!</p>
<div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgls82wQ8IyjryDbgtgeagawfFsFAdQnTwH_3b0qlHV6mvK9gC3tw8Bj6Am7bbh9R7_PUUhY9I-2wKf5c9oFahFnGesBwqjsysnEs0CFwEQXKdfNSz-fybPZVma534MZGRq8RmN/s1600/download_20140113_170229.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"> <img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgls82wQ8IyjryDbgtgeagawfFsFAdQnTwH_3b0qlHV6mvK9gC3tw8Bj6Am7bbh9R7_PUUhY9I-2wKf5c9oFahFnGesBwqjsysnEs0CFwEQXKdfNSz-fybPZVma534MZGRq8RmN/s640/download_20140113_170229.jpg"> </a> </div>Josiah Luscherhttp://www.blogger.com/profile/13888836635832509325noreply@blogger.com0