HNHacker News
TopNewBestAskShowJobs

hackworks

199 karma · joined March 15, 2010

Less is more
submissionscomments
hackworks··on NetBSD Code Study
Did you install XP first or Linux?

The prescribed order was to install XP and then Linux on a different device/partition. Linux would install Grub or LILO in MBR with dual boot options.

Hence, the easy way to clean up Grub or LILO was to boot into DOS from a CD or floppy and run ‘fdisk /mbr’

hackworks··on Why do we need Flask, Celery, and Redis? (2019)
Most common use case for concurrency is for IO intensive workloads. When it comes down to IO, programming language hardly matters.

If you have CPU intensive workload, an optimizing compiler can help. Well, for that you have C or other languages with more mature and aggressive compilers.

hackworks··on Jordan does not block, it throttles internet access
The intermittent disruption of services is death by 1000 cuts. Read the Zynga story.

http://wrongtool.kostadis.com/firewalls-killed-zynga/

hackworks··on I Was Wrong about Nix
Well, there is a well defined pattern using configure and make. When very complex builds like GNU Emacs and operating systems have done quite well with this pattern, I wonder what problem we are trying to solve.
hackworks··on Mutexes are faster than Spinlocks
NetApp has a very interesting implementation RW spin lock inside the kernel. I tried optimizing to make it more fair for writers by introducing a single variable that would be check in each iteration.

The additional delay it added for checking the state resulted in deadlock timer triggering a dump! Hence, checking a variable is very expensive.

hackworks··on Mutexes are faster than Spinlocks
Not an expert here.

In a spin lock, the lock state is checked in a tight loop by all waiters. This will be using some sort of memory fence. FWIK, memory fence or barriers flush the CPU cache and would initiate reading the variable (spin lock state) for evaluation. I would expect spin locking overheads to increase with number of cores.

On NUMA, I think flushing is more expensive. Hence, spin locks have an additional overhead of having to load and evaluate on every spin as against being woken up for mutexes (like a callback)

hackworks··on End-to-end double-ratchet encryption with epoch key exchange
Most software companies I have worked for, encourages filing patents just to build their arsenal and increase their market value in times of acquisitions or patent wars. They are not focused on creativity, innovation or advancement.

I have seen a patent to use SSH to administer a storage system! It was just depressing and sad to see such patents granted and the inventors bragging about it.

hackworks··on The Light Phone
That was my resolution a couple of months back. Signed off from Facebook, Instagram, Twitter and Reddit (never was on any other platform making crazy things with your snaps). Retaining accounts on HN and GitHub.

I miss nothing, actually feel good staying away from all the toxic comments on Twitter.

I did not need Light Phone or burn a hole in my pocket to achieve this. Plain simple determination.

hackworks··on What happens when your career becomes your whole identity
Analogous to “putting all eggs in a single basket”, the risks are very high.

You end up becoming hyper sensitive at work, start taking everything personal -well, it is your identity or ego at stake. Leads be becoming very closed, guarded and aggressive. Everyday becomes a fight for survival.

I personally went through this phase for a long time. Looking back, some of my managers exploited this by reinforcing. They knew if they compare me with anyone, I would up the competition and perform even better. This did not cost them money since I had invested myself, my identity and ego 100%. Overall, resulted in a highly competitive team but extremely stressful and caustic!

After changing teams, I decided to take a step back and make a fresh start. I now work for the love of my work and do not let it represent who/what I am. It is my identity at work. Back home or with friends, I have a different identity. Having multiple things to fallback has made me more resilient and lot more positive.

hackworks··on Colleges are turning students’ phones into surveillance machines
Schools and colleges should ideally be a place for creativity, free thinkers and open by default.

Using surveillance and improving attendance through fear tactics is not going to help. You will get their physical presence but not their involvement.

I wonder how long it will take for students to start placing check Bluetooth devices in all places they are expected to be present and remotely switch them at desired times. I hope this happens and defeats this unethical forced surveillance by colleges.

Alternatively, I would encourage student counselors spend a little more time with students and assist them to monitor themselves. Motivate the youngsters to better regulate themselves and grow up to be independent and responsible adults.

Note: On Android, there is an app named Tasker. You can automate your phone with it. Schools could start maintaining shared Tasker profiles that can help students stick to some well defined and commonly followed routines. This is giving control back to the student and coaching them about the merits in planning and sticking to plans.

hackworks··on A Navy Seal's Semester at Yale, at Age 52
Thank you very much for the wonderful and very insightful article.

Developing the humility and truly believing that we are all snowflakes and willingness to learn from the diversity around us is a big step forward.

I loved the analogy between leaders and bridge builders. I always considered leaders as those who build a pedestal or platform or ladder for the rest to use and grow. Very similar.

It gives me confidence and courage to take up a few courses myself and enjoy learning and not just go after grades.

hackworks··on BPF: A New Type of Software
eBPF can be viewed as a mechanism to safely run user code in kernel since it uses a DSL and a compiler before the byte code is executed in kernel. This opens up doors for running performance critical functionality in kernel without having to bundle it with the kernel or very tightly coupled with the kernel version.

Optimizing FUSE is an example: https://extfuse.github.io/

I expect custom security auditing software, reverse proxies, firewalls with rule engines implemented in eBPF in the coming future. This will avoid having to copy dates across kernel and user boundary and the switching overheads.

hackworks··on A Good Year for “A Programmer’s Introduction to Mathematics”
Thank you for the link. I am at a juncture where I need to relearn some of the basics to help my higher school going daughter. The book on math and physics was exactly something I was looking for.

I would also like to get my hands on Resnick and Halliday books that I studied back in India during 11th and 12th.

https://en.wikipedia.org/wiki/Fundamentals_of_Physics

hackworks··on Unfork()
That is my understanding too. Solaris had a flag for dldump (https://docs.oracle.com/cd/E19455-01/806-0627/6j9vhfmop/inde...). Emacs moved to a portable dumper (maybe inspired from XEmacs)
hackworks··on Working with Errors in Go 1.13
Almost every language supporting inheritance suffers from lack of ability to check if an error is part of the derivation chain. I have implemented this using expensive dynamic cast in C++ and instanceof in Java.

Finally Go gets it ahead of the other languages!

hackworks··on Fab in India: India is trying to create an indigenous chip-making industry
GCC uses intrinsic functions when available during compilation. It does optimize for a specific architecture. Is there something beyond this you are referring to?
hackworks··on A list of computer languages with release year and category
BerkeleyDB: Computer language??
hackworks··on Explanation of the state of uBlock Origin and other blockers for Safari
I went through the process of tearing away from Chrome. I only aspect that was holding me back was my stored passwords in Chrome and shared seamlessly with Android password manager.

Exported the passwords and imported it into Enpass. That was the first step in liberation.

I then decided to keep my personal and work related browsing separate especially since both require a google account (Gsuite at work). I wanted an ability to open the browser of my choice based on the URL I click and work anywhere on MacOS.

I implemented a simple URL handler that I register as default browser and that opens the clicked URL in appropriate browser:

https://github.com/hackworks/chromer

It is not a very polished implementation but has been working reliably so far.

With that, I am now able to switch between any browser without any lock in.

hackworks··on Richard M. Stallman resigns
Twitter has become a breeding ground for mobs and unjustified moral policing. I started following people based on the technical work they have done and was hoping to learn or get inspired them.

Apart from a very few, every accomplished technologist have started using Twitter and their followers to attack others. This is nothing but the witch hunt from medieval times done differently.

I have interacted with RMS in Emacs developer list, he has a strong opinion and nothing more, nothing less. He is not trying to create a mob and nor is he starting an upraising. If you have an opinion, voice it and leave it. Yes, I agree RMS needed a PR to tread the land mine ridden modern life.

Overall, it is sad to see RMS and his work getting trivialized for totally unrelated reasons.

hackworks··on OpenBSD was right to disable hyperthreading [video]
I think it again falls into kernel versus whole system. Releasing an update to the whole system is more work than releasing the kernel.

Little orthogonal: It sort of rhymes with the mono repository versus collection of micro repositories mindset. Does BSD have more code reuse since it is whole system?

hackworks··on I Miss Microsoft Encarta
During my undergrad (Mechanical) years (mid 90s), we had 1 computer running MS Windows 3.1 (IIRC). We had a demo version of Encarta and it had a huge (by 90s standard) collection of midi files.

I would enter the lab and start playing all files before starting work on my project - Developing software for Finite Element Analysis. It was like an old gramaphone playing the same tunes everyday and others in the lab hated me.

Since I would get in first, I had the right to start the player :-)

hackworks··on Root: CERN's scientific data analysis framework for C++
Very nice to see this trend on HN. I have been using croot as a REPL for C/C++ for close to a decade.