HN user

herge

2,155 karma
Posts2
Comments640
View on HN

I hit annoyances when using sqlite when dealing with some corner-cases. I wanted to implement a lock and share some small amount of data (who did what when) between two different linux users on the same machine.

I figured "sqlite is better than fopen, let's use that!", but between directory permissions, all the WAL files, probably the sqlite3 python lib and Diskcache (https://pypi.org/project/diskcache/) not helping things, it was a real pain, where regularly under different race conditions, we would get permission denied errors. I managed to paper it over with retries on each side, but I still wonder if there was a missing option or setting I should have used.

company luxury cars for the executives, a company home that they let the CEO live in, and executive compensation

All those should be taxed like the equivalent of income for those executives, which is a higher rate than the corporate tax rate. If these benefits in kind are not taxed as income, then it is fraud.

Provinces aren't states, but, for example, I live in a distinct nation to you (I assume, if you are under the "aegis of Britain" ;)

There is no written constitution, but there are specific acts, charters and traditions that form constitutional law, and define the clear divisions of responsibility between the provincial and federal government. That includes my government's right to set laws about signage of commercial establishments, specific consumer rights I get, and also the commercial law around the sale of both alcohol and cannabis.

Yes, and slowly upgrade from bcrypt(sha1(password)) to just bcrypt(password) as uses reenter their password. Do the same when you finally upgrade from bcrypt to whatever is next. No harm in specifying the encryption 'state' in your database for each user.

One complaint about buildbot is that if you get too creative, your buildmaster.cfg gets very hard to maintain, but if you stay very diligent, just having python (and being able to print or log whatevery is happening) makes debugging and having complex setups be very easy.

Also, if you ever need to schedule jobs/tasks (not just ci builds) across multiple machines, buildbot is great because all you need is a master, and slave python processes which just need a network connection to the master.

Maybe the spry takeaway is that you should write tests for things you want to make sure they will not break.

Your UI being off by a pixel won't break your application, so if a test hangs on that, then it is not a good test.

However, your business logic, or network protocol routine, those should not break even if you heavily refactor or add new features (especially business logic where a broken behaviour might seem correct), so those need to be heavily tested.

If it is hard to test the juicy parts like business logic without also dragging in the UI, different OS/platform/db parts, etc, then you should look at how your application is structured and if it is really optimized for writing good tests.

I am sure everyone has stories about how awful their HR department it, but if you do not trust HR, then who do you trust in your company? Your boss? Nobody?

And, assuming you are a white collar worker (like a programmer) with a full-time permanent job, if you do not trust anybody where you work, why have a permanent position? Why not either become a contractor, or join a job with a union to collectively bargain for you? Are you not the ultimate chump in participating in a system where you are bargaining implicitly from the weakest position?

I'd just write protobuf "blobs" or other serialization format n in an sqlite text column. If you need to query across the typed data, you could build an index in another column from the data in your protobuf blob.

I guess CDs were not a revenue source after all:

"> If no OpenBSD CDs are going to be released, then probably it is better > to just send a donation to the OpenBSD foundation and/or to Theo de > Raadt.

Vijay, that is the correct way to sustain the software.

The CDs haven't pulled in sustaining revenue for many years.

Based upon income from contributors the Foundation performs a fantastic function -- making worries and problems disappear."

Well, the master password is complex enough to have to really guess at it, even if they had the raw keepass file. And I can change it regularly without affecting any other login.

If someone does crack it, at least I have a handy database of websites and logins I have to change the password for.

I keep a keepass file in dropbox, and Minikeepass/dropbox client on my phone. I memorize the keepass password, can access any password from my phone, but I can also access my dropbox/keepass file from any computer if I lose my phone/it's unpowered/etc.

I do not know which feature I will miss the most whenever I have to use older versions of python, either the f-string interpolation or the underscores in numeric literals.

Pro tip: Use non-ascii characters in your test data. Instead of John Smith, try Helmut MΓΌller. This will make sure your code is unicode safe, and also make sure that external dependencies (hey, our spreadsheet library silently fails when a ΓΌ is in the file name!) also work correctly with unicode.