HNHacker News
TopNewBestAskShowJobs

tbirdz

1,965 karma · joined September 29, 2012

submissionscomments
tbirdz··on Motion Estimation with Optical Flow
We're doing this with H.264 at work. Pretty useful since we need to generate the encoded stream anyway, so now we get motion estimation for free.
tbirdz··on Cloudflare Registrar
I don't mean to dogpile on CF here, but that same thing happened to me. I got my refund, but it put me off transferring my domain to them. Luckily it was a .net domain, so it was only ~$8x2 not $45x2 as in your case.
tbirdz··on Setting Up a Software Development Environment on Alpine Linux
I think containers have a lot to do with this in a big way. When you are making a container for every app, the OS base size really starts adding up. As a one time fee the disk space for an OS image is not a big deal, but when you have to pay that disk space for every app, then that really adds up.
tbirdz··on Ask HN: How can I learn how to paint?
I have been taking some video courses at New Masters Academy, and they've been pretty good, I would give them a recommendation. They are more focused on traditional more realism centered art, so it might not be exactly what you are looking for, but check them out.

https://www.nma.art/

tbirdz··on Programming Books You Wish You Read Earlier
+1 on this. I don't think anything in that book was especially new to me, but it matches what I think of as "good software design", and having it all compiled in book form makes it easier to transmit that knowledge to other people, especially students or newer engineers.
tbirdz··on The shady economics of ‘buy one, get one free’ deals
For usps rates, see here: https://docs.google.com/spreadsheets/d/1hyyaAYoi2P_CRWwrUJhB...

I don't know how much ups/fedex costs.

tbirdz··on Why has Plan 9 chosen statically linked binaries instead of dynamic ones? (2004)
I think you will have better luck static linking against a different libc, like uClibc or musl libc. Statically linking against glibc doesn't work very well, and isn't supported by upstream.

uClibc and musl libc have much better support for static linking, and you will be able to make a much smaller binary with them than you would static linking against glibc.

tbirdz··on The State of Software Security in 2019
Yes, look at ROP gadgets, for example.
tbirdz··on A Look at the Design of Lua
I'm no fan of 1-based indexing either, but for these use cases it's not that hard to add a function to adjust the indexing for you. For example: a mod1() function that will adjust mod to 1-based indexing, and then using mod1 instead of %.

Same goes for indexing, you could write some functions like idx2(x, y, width, height), idx3(x, y, z, width, height, depth) that would compute the 1d index for you instead of using y*width+x (or the equivalent form adjusted for 1-based indexing) like you normally would.

tbirdz··on Djbsort: A new software library for sorting arrays of integers
The impression comes from having to deal with multiple configure sciripts that do that very thing.

The capabilities may be there, but in my experience many if not most projects do not use those capabilities. Most autotools based projects I've had to cross build are made by people without a great understanding of autotools internals and capabilities, so they often end up copy pasting things blindly from other projects until they get their native build working. Advanced build system stuff like cross building is not even considered.

These builds end up trying to execute a binary to do feature tests, or compile a program and use that to generate code, or do any number of things that break when cross building.

Would things be worse without autotools? Maybe so. In my personal experience projects using a simple Makefile were much easier to cross build and package than ones using autotools, but that's probably confounded by projects using a Makefile being simpler overall.

tbirdz··on Djbsort: A new software library for sorting arrays of integers
I really disagree with you on autotools, that has been a big problem for me when cross-compiling. Configure often detects features by compiling a binary and executing it, which can be a problem when you're cross compiling, since the generated target can't be executed on your native cpu. Most software build systems don't even take cross building into account at all, since they just copied someone elses' broken autoconf and automake source that only works on native builds so you have to work around a lot of issues.

Even "good" software packages written by people who understand autotools like glib have issues. Just look at the official glib cross compiling instructions: https://developer.gnome.org/glib/stable/glib-cross-compiling... The "correct" way to cross compile it is to figure out all the autoconfigured values yourself, and write them into the configure cache.

Personally, I have had the least trouble with plain Makefile based packages. Yes you often have to reach into the Makefile's guts and modify it to make a working cross build, and you'll have to set the rpath manually, and install the files yourself, but at least it's easier than having to modify an autotools based build.

Autotools "just works", and when it doesn't it's very hard to fix. Makefiles don't "just work", but it's much easier to fix them yourself.

tbirdz··on Say Hello to Full Employment
Check out online banks. My Ally Bank savings account offers 1.75% interest. Another option could be a CD ladder.

Some banks, like Ally, also offer a "no penalty" CD, which has lower interest rates than a regular CD, but you can pull your money out at any time without paying a penalty, like you would on a regular CD.

tbirdz··on Show HN: NimForum – A lightweight alternative to Discourse
What about NimbleForum? Still keeps the Nim reference, while also giving the impression of a fast and light forum.
tbirdz··on Why SQLite Does Not Use Git
As someone with extensive experience in the version control field, what are your thoughts on fossil?
tbirdz··on Writing to the Framebuffer
The reason why sudo wasn't working is that it runs the command with root privileges, but redirecting to a file with > is done through the shell, which is running under your normal user level privileges. If you want to redirect to a file that only root can write to, you can use the tee command. That command will write anything passed to it via stdin to the file given as an arg.

For example, echo "foo" | sudo tee /path/to/file

or any of the other ways listed here: https://stackoverflow.com/questions/82256/how-do-i-use-sudo-...

tbirdz··on Did Ken, Ritchie and Brian choose wrong with NUL-terminated text strings? (2011)
1 additional byte of overhead would give you 2 bytes for the length, since you wouldn't have to have the NUL byte at the end of the string.

You could do some kind of variable int encoding scheme, where longer strings would require more bytes for length, with some overhead to indicate how many length bytes are required for each string.

tbirdz··on Goodbye iPod, and Thanks for All the Tunes
Physical buttons. With my dedicated media device I can control it with the buttons and leave it in my pocket. When I play music on my phone I have to take it out and look at it to make sure I tap the right part of the screen.

Also a lower replacement price. Someone might want to steal my expensive smart phone, or it might break and make me sad. If I had a $20 dedicated media player, then there's nothing to worry about.

tbirdz··on In Defense of Electron
To be fair, Steam uses a custom version of Chromium Embedded Framework, which is basically morally equivalent to Electron insofar as embedding a browser to implement cross platform guis.
tbirdz··on Home computing for $5/month
Just as a counter point I've got a cheap C720 I got 4 years ago for lightweight mucking about, and it has held up to daily use perfectly fine. I wiped ChromeOS and installed mainline Linux on it, which has great support for it. No problems with the keyboard, screen, power supply, or anything, and I've had to open it to remove the flash-protect screw, and it's survived several moves, travel and outdoor use.

I suppose I could be just lucky, but as is I could probably use it for another 4 years without trouble. The biggest issue is the soldered in RAM which is only 2GB. But that's plenty for emacs, light firefox, and even videos since it's got hardware decoding acceleration.

tbirdz··on Where Tcl and Tk Went Wrong (2010)
Tcl is pronounced tickle.
tbirdz··on Exa, a modern replacement for ls
>unless you have some fancypants sort which understands them

FWIW GNU sort can sort by human readable units using the -h option.

tbirdz··on Emacs and Magit
Is there any difference between use-package and require? I've been using require in my init.el.
tbirdz··on Red Programming Language 0.6.3
Very Cool! I've got to try this out! I'm definitely picking up a bit of a Tcl vibe here, which is another language I've been wanting to try out. Especially with the integrated GUI toolkit, it's giving me some Tk vibes as well.

Does anyone know if there was any direct inspirational link from Tcl to Red/Rebol, or was it just by the nature of the idea of making an extensible langauge suitable for making lots of DSLs in?

tbirdz··on How we made compiler warnings fatal in Firefox

    char c;
    do {
        c = getchar();
    } while (c != EOF);
tbirdz··on Theia – One IDE for Desktop and Cloud
How about emacs in tramp mode? Or even mounting the remote file system with sshfs and using whatever editor you had installed locally?
tbirdz··on Does the Boost library meet its original goal?
Check out the 0BSD license: https://spdx.org/licenses/0BSD.html

It's even more permissive. It doesn't require preserving copyright notices and including a copy of the license with source code forms, like the boost license does.

I'm not a lawyer, but the license uses the same text as the ISC license, but with the text imposing restrictions removed. So I think it should be as legally valid as the ISC license (again, I'm not a lawyer).

The problem with the boost license is it's pretty specific on "works are solely in the form of machine-executable object code generated by a source language processor." being allowed to be redistributed without including a license, so if I was making an interpreted language, or something that would embed it's own source code in the users code (eg a template library or something), then I don't think the boost license would allow them to redistribute that derived work, whereas 0BSD would.

The license is listed on OSI's page as the "Free Public License" for some reason https://opensource.org/licenses/FPL-1.0.0 , but the text is essentially the same.

Here's the whole 0BSD license text:

Copyright (C) DATE by AUTHOR

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

tbirdz··on Does the Boost library meet its original goal?
Unfortunately CC0 is (still) not listed as an "approved OSI license"[0], so it is off the table for many folks

0: https://opensource.org/licenses/alphabetical

tbirdz··on BCHS stack – BSD, C, httpd, SQLite
It's not a joke, just look at the author's work on the supporting kcgi and kwebapp libraries:

https://kristaps.bsd.lv/kcgi/

https://github.com/kristapsdz/kcgi

https://github.com/kristapsdz/kcgi-framework

https://github.com/kristapsdz/kwebapp

tbirdz··on Comparing Bandwidth Costs of Amazon, Google and Microsoft Cloud Computing
Hi Kyle. You've got me curious now, which Neocity site are you talking about, I would love to check it out.
tbirdz··on Microsoft leak reveals new Windows 10 Workstation edition for power users
If your car said "You're almost out of gas, stop by your nearest Exxon station and fill up!" or "It's been 10,000 miles, drive on over to Jiffy Lube for an oil change", then surely that would be an ad.

It's an ad because they are advertising the iCloud service to you. It's not just that they say "Your iCloud is running out of free space", it's that they say "Your iCloud is running out of free space, buy more space here!"

← PreviousPage 2 of 16Next →