HN user

0xdky

47 karma

Tinkerer and a lifelong learner

Posts0
Comments28
View on HN
No posts found.
Tom Lord has died 4 years ago

I worked on a POC porting it to Windows and had to port GNU tar to support large file names. TLA was truly revolutionary!

Bad Emacs Advice 5 years ago

Another lesson I learned from almost 2+ decades of using Emacs:

Track your customizations in a version control. Using customize package and reading the diff in dot Emacs file has taught me quite a bit about certain aspects of the package.

Side note: It would be awesome if Emacs could do the versioning as part of saving the customizations - build Emacs with libgit2 and make it a native git client.

I froze for a moment seeing this article after having worked at a major anti-virus company long time back and used some low level Win32 APIs.

Fortunately, I followed some of the techniques from “Programming Applications for Microsoft Windows” book and Detours project to intercept and execute custom code mostly based on loading custom DLL in target remote process and using DllMain() to execute.

I had a colleague that wrote a tight loop creating objects in Java and in C++ on heap to show Java outperformed C++.

Once I implemented a simple pool allocator in C++, it ran circles around Java.

I did something similar (~2015) but using the kernel NFS client and having multiple mounts to the same volume using different IP addresses.

Using vectored IO and spreading across multiple connections greatly improved throughout. However, metadata operations cannot be parallelized easily without application side changes.

In more modern kernels, NFS supports ‘nconnect’ mount option to open multiple network connections for a single mount. I wonder if the approach of using libnfs for multiple connections is even required.

https://github.com/0xdky/iotrap

Wonder if the current hiring and rewarding contributes to over engineering?

How would you look if you just invoked APIs to get your work done versus designed and implemented an end to end solution.

Many times, I have seen over engineered solutions come from promotion attached initiatives.

I used BDB as a Win32 profiler backend. The profiler was lightweight and would write a flat file with profiling data and function addresses to keep the captured data small.

A post processing tool would read the profiler data and create a BDB file with support for extracting call graphs and topN sort of analysis.

The final GUI was implemented in Visual Basic since other developers would not use the TUI/CLI based tools in console.

The next project used BDB to store file system metadata on embedded NAS storage. We implemented a fast ‘find’ like service based on file metadata (stat fields) stored in BDB with support for user defined file metadata.

Very well written article, thank you.

Especially when my daughter is taking a course on Unix and the instructor is superficially touching in these fundamental topics (due to their own limited understanding), I am going to use this to teach the underlying concepts.

On iOS, I have a repeating reminder. However, reminder notification in iOS is very non-intrusive and very easy to miss or dismiss.

I have a shortcut that runs everyday at bedtime and looks for any due reminders in a specific list. If it finds any, it will enable a dedicated alarm (alarm with a specific name, time and sound I have setup but disabled by default).

Alarms need more attention and action to dismiss than reminder notification and this has been working well for me so far.

I am trying to use any/all building blocks that come bundled on my phone and try not to install too many apps. Hence, this is just an alternative and not an attempt to downplay or trivialize the app in topic.

I lead a team to implement CIFS server in VMS on Itanium after deciding not to port ASV (Advanced Server - CIFS server for Alpha since it had a lot of hand tuned assembly for a specific architecture).

We ported Samba and implemented a lot of C runtime functions to make porting less intrusive. As part of porting Samba to VMS, I made the early port of CVS client and streamline merging upstream changes with our VMS specific changes.

Some of the most infamous 4 letter words we cussed all time was the missing 'fork' and 'fcntl' and all the work arounds we had to put in to get Samba working...

I did meet quite a few very competent engineers from DEC times as part of my work and also interacted with David Butenhof of POSIX threads fame when debugging a thread library he and their team had developed and was used by ASV.

FWIK, compression works by de-duplication. Finding duplicate patterns is limited to a window.

If similar patterns are close to each other, there is a higher probability of finding such duplicates in the window leading to better compression.

When the files are not sorted, this randomly distributed files with similar patterns beyond the compression window leading to poor compression.

If there is an option to increase the size of window, that would be a good experiment.

This is very similar to `git repack` window and depth parameters. Larger the window and depth, you get better compressed packs.

Wonder if a sort based on diffs (group similar files together) would help get best compression. The cost of such sorting might outweigh the benefits.

This looks very similar to the Android eco system suffering from fragmentation. It has become impossible to ensure updates across OEMs and this could be affecting some of the feature work - in the name of compatibility.

With Apple owning the spec and implementation and with no fragmentation, they can move very fast.

As long as there is no authority to mandate certain communication protocols (messaging, email, video) during certification, unified messaging unfortunately will remain a dream.

I am very interested to know what is the engineering overheads and increase in code complexity incurred in maintaining 2 different views.

At NetApp, backward compatibility and ability to rollback across multiple releases was a hard requirement. This made the codebase real hard to understand and maintain.

It is my store too as a parent of a single child losing creativity to instant pleasures and doom scrolling on an iPhone.

To add salt to injury, the dance team at school she is part of encourages them to post on Facebook and Instagram. They have study groups on Facebook, Discord, Slack and even Instagram.

When I demand they use simple old style text messaging, she has friends with fancy phones but no SIM card and depend on Instagram messaging for everything.

I have given up after going through frustrating, helpless and endless hours of convincing.

Lack of ability to focus will be the serious limiting factor for innovation and creativity. I see it at work where you get engineers cannot persevere to solve hard problems. Agile has become them excuse to do some quick hack and throw it across the wall.

Does fixing a bug introduced by a different author and pointing out the mistake as part of commit message considered a CoC violation?

I find this absurd and just a way to get at someone. Anything you say can be bent and twisted by a group of lawyers and the CoC committee here seems to be filled with such folks.

We have the technical know-how to administer data center versions of their products, but we can’t do shit...

This is a very typical argument CIOs faced when transitioning storage to cloud. The job threat to storage admins created a lot of FUD and slowed many migrations. Unfortunately, this happened with DB, storage, compute and software.

I wonder if there is a middle ground here where you can have a proxy service that can be run locally to augment and/or customize the product for a specific customer.

I wouldn’t mind buying a bundle subscription for VPN, curated news, email and chat from Mozilla.

Those are are most important for me and I do not want any tracking and false biased news.

Keep it clean and play fair, I will be happy to pay.