Subscribe: La Salle DebainSearch La Salle Debain
Added By: Feedage Forager Feedage Grade B rated
Language: English
bytes blocks  bytes  day  good  itcis weasel  itcis wlazel  itcis  methinks itcis  methinks  much  new  weasel methinks  weasel 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: La Salle DebainSearch La Salle Debain

La Salle DebainSearch La Salle Debain

Jaldhar Vyas's Debian GNU/Linux WeblogSearch the La Salle Debain database

Copyright: Copyright 2005, Jaldhar Vyas

For Downtown Hoboken

Wed, 24 May 2017 23:34:14 -0500

Q: What should you do if you see a spaceman?

A: Park there before someone takes it, man.

7DRL 2017

Mon, 06 Mar 2017 23:52:09 -0600

It's time once again for the 7-day Roguelike challenge. This years attempt is entitled "Casket of Deplorables".

Further updates will be posted here.

Don't Believe Everything You Read on Debian Planet

Sun, 05 Feb 2017 23:41:12 -0600

Martin Pitt won the popular vote.

You Know Who Else Won Elections?

Wed, 09 Nov 2016 01:33:14 -0600


You didn't possibly think my streak of serious posts could last did you?

New Laptop / Problems with Windows part 896,324

Mon, 07 Nov 2016 13:01:07 -0600

I had mentioned previously that I had been forced to purchase a new laptop. I decided that I didn't want another Thinkpad. The Lenovo ones no longer have the high quality they had in the IBM days and while support is still pretty good by todays dismal standards it's not worth the premium price. (If I'm buying it with my own money that is.) I had heard good thing about Dells' Linux support so I looked into their offerings and ended up buying a Precision 7510. Mind you this model came with Windows 7 installed but I didn't mind. As I wanted to install Debian according to my own specs anyway, I was ok with just knowing that the hardware would be compatible. So I prepared a Jessie USB installation stick (This model doesn't have a CD/DVD drive.) and shrunk down the Windows installation (but not deleted it altogether for reasons to be explained below.) At this point it is traditional to give a long, tortured account of how Heaven and Earth had to be moved to get Linux installed. But that is a thing of the past. The combination of good hardware and the excellent work of the debian-installer team, made the setup a breeze with only a couple of minor bumps in the road. One is that the kernel on the Jessie cd was not quite up to snuff. Downloading 4.6.0 from backports did the trick. Post-install, to get the most out of my nifty new 4K display, I needed the latest, alas non-free, nvidia-drivers. And for stable wifi (I always install over ethernet for this reason) I had to install the firmware-iwlwifi package. Everything else—even my printer—either "just worked" or needed only minor fiddling around. Having used this machine for a while, the biggest problem I have is with the keyboard. It is nowhere near as tactile and comfortable to use as the old IBM Thinkpads. Even Lenovo Thinkpad keyboards are better. I'm a hunt-and-peck type myself but it is annoying. I think a real touch typist would hate it. The cursor and home, end, page up, page down etc. keys are in the wrong place and home and end are actually function keys. There is a pointer and a trackpad and two sets of mouse buttons which seems like a waste of space. In fact much space is wasted everywhere, space which could be used to improve the keyboard. Other than that I like it. The battery life is not the best but fairly good. It's a bit heavier than I was used to but I've gotten used to it. Although I didn't go with the SSD option, it is not that noisy; again you can get used to it. All in all, I think it is worth it for the price. I installed Debian but I only really use it as a base to run VMWare Workstation. I occasionally have to support software across multiple platforms but I don't want the hassle or expense of multiple computers so I have Windows (the original installation upgraded to Windows 10) and Mac OS X running in VMs. Plus I have another VM running Kubuntu LTS for my day to day computing, another Debian install running sid for packaging, and Minix. Backups are as simple as making a snapshot of the VM. If something accidently gets screwed up, I can easily revert it back to a known good state. Ideally, I would like to replace VMWare with a free solution such as qemu or virtualbox etc. but as far as I know VMWare is far ahead in emulation capabilities (OpenGL support for example.) which is vital for efficiently using the proprietary OS's. Things were going swimmingly until a few days ago which brings me to part two of this post. I booted into the Windows 10 VM only to be greeted by a message from the Windows boot manager that "A component of the operating system has expired." I tried going back to a snapshot from September (when this definitely was working) but I still got the same thing. A bit of googling revealed this has happened to others and the advice seemed to be to reset the computers date and reinstall Windows 10. It took seve[...]

Sal Mubarak 2073!

Tue, 01 Nov 2016 00:43:15 -0500

Wishing every one a happy Gujarati New Year, Vikram Samvat 2073 named Kilaka and hoping the upcoming year will be yuuge for you.

These next couple of paragraphs are totally not an excuse for why it will take a few more days for me to reach seven blog posts.

Reading reports about Diwali in the American press, I see a bit of confusion whether Diwali is one day or five. Well, technically it is just one (Sunday 30th this year.) but there are a number of other observances around it which could be classed as subsidiaries if you want to look at it that way.

The season commenced last Wednesday with Rama Ekadashi. (where the Gujarati name is different I'll use that and put the Sanskrit name in parentheses.) That's a fast day and therefore not much fun.

Thursday was Vagh Barash (vyaghra dvadashi) which as the name suggests is something to do with tigers but we don't in my experience particularly do anything special that day.

Friday, things began in earnest with Dhan Terash (dhana trayodashi) when Lakshmi the Goddess of prosperity is worshipped. It is also a good day to buy gold.

Saturday was Kali Chaudash (Kali Chaturdashi or Naraka Chaturdashi) On this day many Gujarati families including mine worship their Kuladevi (patron Goddess of the family) even if She is not an aspect of Kali. (Others observe this on the Ashtami of Navaratri.) The day is also associated with the God Hanuman. Some people say it is His Jayanti (birthday) though we observe it in Chaitra (March-April.) It is also the best day for learning mantras and I initiated a couple of people including my son into a mantra I know.

Sunday was Diwali (Deepavali) proper. As a Brahmana I spent much of the day signing blessings in the account books of shopkeepers. Well, nowadays only a few old people have actual account books so usually the print out a spreadsheet and I sign that. But home is where the main action is. Lights are lit, fireworks are set off, and prayers are offered to Lakshmi. But most important of all, this is the day good boys and girls get presents. Unfortunately I have nothing interesting to report; just the usual utilitarian items of clothing. Fireworks by the way are technically illegal in New Jersey not that that ever stopped anyone from getting them. The past few years, Jersey City has attempted to compromise by allowing a big public fireworks display. Although it was nice and sunny all day, by nighttime we had torrential rain and the firework display got washed out. So I'm glad I rebelled against the system with my small cache of sparklers.

Today (or yesterday by the time this gets posted.) was the Gujarati New Years Day. There is also the commemoration of the time the God Krishna lifted up Mt Govardhan with one finger which every mandir emulates by making an annakuta or mountain of food.

Tuesday is Bhai Beeja (Yama Dvitiya in Sanskrit or Bhai Duj in Hindi) when sisters cook a meal for their brothers. My son is also going to make something (read: microwave something) for his sister.

So those are the five days of Diwali. Though many will not consider it to be truly over until this Saturday, the lucky day of Labh Pancham (Labha panchami.) And if I still haven't managed to write seven blog posts by then, there is always Deva Diwali...

Dawkins Weasel

Fri, 28 Oct 2016 21:59:28 -0500

It's already Dhan Terash so I better pick up the pace if I want to beat my blogging challenge before Diwali so in this post I'll discuss a program I wrote earlier this year. I dread to look up anything on Wikipedia because I always end up going down a rabbit hole and surfacing hours later on a totally unrelated topic. Case in point, some months ago, I ended up on the page of the title. This is an interesting little experiment illustrating how random selection can result in the evolution of a specific form. The algorithm is: Start with a random string of 28 characters. Make 100 copies of this string, with a 5% chance per character of that character being replaced with a random character. Compare each new string with "METHINKS IT IS LIKE A WEASEL", and give each a score (the number of letters in the string that are correct and in the correct position). If any of the new strings has a perfect score (== 28), halt. Otherwise, take the highest scoring string, and go to step 2. I had to try this myself so I wrote a little implementation in C++. A sample run looks like this: $ ./weasel 0000 DNCFICBLUZVC JF KKNVJJASCJRW (0) 0001 DNIFICOLUZVC JFLIKNVAJASCJEW (6) 0002 DNNWICKSUZVCRSFLIKNVA ASCJEL (11) 0003 DNNWICKSUZVCRSFLIKNVA ASCJEL (11) 0004 MNNVICKSQZVCRSFLIKNVA WSCJEL (13) 0005 MENVICKSQZVCRSFLIKNVA WSCJEL (14) 0006 MENVISKS ZTCRSFLIKNVA WLCJEL (16) 0007 MENVISKS ZTCRSFLIKNVA WLCJEL (16) 0008 MEDHISKS ZTCISFLIKNVA WLCJEL (18) 0009 MEDHISKS ZTCISFLIKNVA WLCJEL (18) 0010 MEDHISKS ZTCISFLIKNVA WLCJEL (18) 0011 MEDHISKS ZTCIS LIKTKA WLCZEL (19) 0012 MEDHISKS ZTCIS LIKTKA WLCZEL (19) 0013 MEDHISKS ZTCIS LIKT A WLCZEL (20) 0014 MEDHISKS ZTCIS LIKT A WLCZEL (20) 0015 MEDHISKS ZTCIS LIKE A WLAZEL (22) 0016 MEDHIGKS ITCIS LIKE A WLAZEL (23) 0017 MEDHIGKS ITCIS LIKE A WLAZEL (23) 0018 MEDHIGKS ITCIS LIKE A WLAZEL (23) 0019 MEDHIGKS ITCIS LIKE A WLAZEL (23) 0020 MEDHIGKS ITCIS LIKE A WLAZEL (23) 0021 MEDHIGKS ITCIS LIKE A WLAZEL (23) 0022 METHINKS ITCIS LIKE A WLASEL (26) 0023 METHINKS ITCIS LIKE A WLASEL (26) 0024 METHINKS ITCIS LIKE A WLASEL (26) 0025 METHINKS ITCIS LIKE A WEASEL (27) 0026 METHINKS ITCIS LIKE A WEASEL (27) 0027 METHINKS ITCIS LIKE A WEASEL (27) 0028 METHINKS ITCIS LIKE A WEASEL (27) 0029 METHINKS ITCIS LIKE A WEASEL (27) 0030 METHINKS ITCIS LIKE A WEASEL (27) 0031 METHINKS ITCIS LIKE A WEASEL (27) 0032 METHINKS ITCIS LIKE A WEASEL (27) 0033 METHINKS ITCIS LIKE A WEASEL (27) 0034 METHINKS ITCIS LIKE A WEASEL (27) 0035 METHINKS ITCIS LIKE A WEASEL (27) 0036 METHINKS ITCIS LIKE A WEASEL (27) 0037 METHINKS ITCIS LIKE A WEASEL (27) 0038 METHINKS ITCIS LIKE A WEASEL (27) 0039 METHINKS ITCIS LIKE A WEASEL (27) 0040 METHINKS ITCIS LIKE A WEASEL (27) 0041 METHINKS ITCIS LIKE A WEASEL (27) 0042 METHINKS ITCIS LIKE A WEASEL (27) 0043 METHINKS ITCIS LIKE A WEASEL (27) 0044 METHINKS ITCIS LIKE A WEASEL (27) 0045 METHINKS ITCIS LIKE A WEASEL (27) 0046 METHINKS ITCIS LIKE A WEASEL (27) 0047 METHINKS ITCIS LIKE A WEASEL (27) 0048 METHINKS ITCIS LIKE A WEASEL (27) 0049 METHINKS ITCIS LIKE A WEASEL (27) 0050 METHINKS ITCIS LIKE A WEASEL (27) 0051 METHINKS ITCIS LIKE A WEASEL (27) 0052 METHINKS ITCIS LIKE A WEASEL (27) 0053 METHINKS ITCIS LIKE A WEASEL (27) 0054 METHINKS IT IS LIKE A WEASEL (28) My program lets you adjust the input string, the number of copies, and the mutation threshold. I also thought it might be interesting to implement the Generator design pattern. In C++ this is done by making a class which implements begin() and end() methods and atleast a forward iterator. You can find the source code on Github. [...]

Get Ready For Bikini Season With These n Weird Tricks

Fri, 28 Oct 2016 03:04:08 -0500

It all started last June when my son had his Janoi (Yagnopavita) ceremony -- the ritual by which a Brahmana boy becomes "twice-born" and eligible to study the Vedas. As well as a profound religious experience, it is also an important social occasion with a reception for as many friends and family as can attend. (I think our final guest total was ~250.) This meant new outfits for everyone which might be exciting for some people but not me. I still don't know why I couldn't just keep wearing the khes and pitambar from the puja but no, apparently that's a faux pas. So I relented and agreed to wear my "darbari" suit from my wedding. And it didn't fit. I knew I had gained some weight in the intermediate 17 years but the thing was sitcom levels of too small. I ended up having to purchase a new one, a snazzy (and shiny!) maroon number with gold stripes (or were they black stripes?) Problem having been solved, much was eaten, more weight was gained and then I forgot about the whole thing. Tip 1: Actually Do Something. I have over the years tried to improve my physical condition but it has never gotten very far. For instance I have a treadmill/coatrack and a couple of years ago I began using it in earnest. I got to the point where I actually ran a 10K race without dying. But I did not train systematically and I ended up in some pain which caused me to stop working out for a while and then I never got around to restarting. Diets have also failed because I don't have a clear idea of what and how much I am eating. All I know is that women go into the kitchen and when they come out they have food. By what eldritch process this occurs is a mystery, I just eat whats given to me thankful that the magic happens. Once I was moved to try and help but quickly fell afoul of the lack of well-defined algorithms in Gujarati home cooking. "How much saffron should I add?" "this much." "How much is this much in SI units?" "You're annoying me. Get out." Fast forward to March of this year. For my birthday, my wife got me a Fitbit fitness tracker. This is what I had needed all this time. It measure heart rate, distance travelled, time slept and several other pieces of info you can use to really plan a fitness regimen rationally. For example, I was chagrined to learn that sometimes when I'm at the computer, I am so immobile that the fitbit thought I was asleep. So I started planning to taken more frequent breaks. (A recent firmware upgrade has added the ability to nudge to walk atleast 250 paces each daytime hour which is handy for this.) Also by checking my heart rate I discovered that I went on the treadmill I ran too fast thereby stressing my body for little gain and ending up going too slow to get much aerobic effect. Now I can pace myself appropriately for maximum cardiac efficiency without ending up injuring myself and giving up. I also get a little more activity each day by simple changes such as taking the stairs instead of the lift and instead of getting off at the 14th street PATH I go all the way to 34th street and walk down. Tip 2: You must have data in order to see what you did right or wrong and to plan what you need to do moving forward. One caveat about these fitness trackers. They are not anywhere as accurate as a proper checkup from a doctor who specializes in such things. If you want to do any kind of pro or amateur athletics you probably should not rely on them but for the average shlub who just wants to avoid appearing on the news being winched off his sofa by the fire brigade they are good enough. Another practice I began was keeping a food diary. It can be a real eye-opener to see how much you are actually eating. It is probably much more than you thought. I am fortunate that my diet is pretty good to begin with. Vegetarian, (not vegan, Hindus eat da[...]

Aaargh gcc 5.x You Suck

Tue, 25 Oct 2016 01:45:53 -0500

Aaargh gcc 5.x You Suck

I had to write a quick program today which is going to be run many thousands of times a day so it has to run fast. I decided to do it in c++ instead of the usual perl or javascript because it seemed appropriate and I've been playing around a lot with c++ lately trying to update my knowledge of its' modern features. So 200 LOC later I was almost done so I ran the program through valgrind a good habit I've been trying to instill. That's when I got a reminder of why I avoid c++.

==37698== HEAP SUMMARY:
==37698==     in use at exit: 72,704 bytes in 1 blocks
==37698==   total heap usage: 5 allocs, 4 frees, 84,655 bytes allocated
==37698== LEAK SUMMARY:
==37698==    definitely lost: 0 bytes in 0 blocks
==37698==    indirectly lost: 0 bytes in 0 blocks
==37698==      possibly lost: 0 bytes in 0 blocks
==37698==    still reachable: 72,704 bytes in 1 blocks
==37698==         suppressed: 0 bytes in 0 blocks

One of things I've learnt which I've been trying to apply more rigorously is to avoid manual memory management (news/deletes.) as much as possible in favor of modern c++ features such as std::unique_ptr etc. By my estimation there should only be three places in my code where memory is allocated and none of them should leak. Where do the others come from? And why is there a missing free (or delete.) Now the good news is that valgrind is saying that the memory is not technically leaking. It is still reachable at exit but that's ok because the OS will reclaim it. But this program will run a lot and I think it could still lead to problems over time such as memory fragmentation so I wanted to understand what was going on. Not to mention the bad aesthetics of it.

My first assumption (one which has served me well over the years) was to assume that I had screwed up somewhere. Or perhaps it could some behind the scenes compiler magic. It turned out to be the latter -- sort of as I found out only after two hours of jiggling code in different ways and googling for clues. That's when I found this Stack Overflow question which suggests that it is either a valgrind or compiler bug. The answer specifically mentions gcc 5.1. I was using Ubuntu LTS which has gcc 5.4 so I have just gone ahead and assumed all 5.x versions of gcc have this problem. Sure enough, compiling the same program on Debian stable which has gcc 4.9 gave this...

==6045== HEAP SUMMARY:
==6045==     in use at exit: 0 bytes in 0 blocks
==6045==   total heap usage: 3 allocs, 3 frees, 10,967 bytes allocated
==6045== All heap blocks were freed -- no leaks are possible

...Much better. The executable was substantially smaller too. The time was not a total loss however. I learned that valgrind is pronounced val-grinned (it's from Norse mythology.) not val-grind as I had thought. So I have that going for me which is nice.