Hacker News new | past | comments | ask | show | jobs | submit | gnuvince's comments login

> Just look at the code. How could it be simpler?

Cannot tell if this is a joke.


Which part do you find complicated?

The code itself looks very straightforward, two preconditions and a loop. I don't see any significant difference in terms of complexity compared to any other low-level systems programming language. It's obviously a bit more verbose than python or haskell, but those are not targeting the same audience.


It looks extremely simple to me. I definitely have never seen a simpler binary search implementation (though in fairness it punts the midpoint calculation). Why do you think it's a joke?


Yeah, Perl is simple, too, then.


I like the more robotic "Objects: 1" or "Objects: 2", since it avoids the pluralization problems entirely (e.g., in French 0 is singular, but in English it's plural; some words have special when pluralized, such as child -> children or attorney general -> attorneys general). And related to this article, it's more greppable/awkable, e.g. `awk /^Objects:/ && $2 > 10`.


Back in 1998-1999, I was interested in installing and using Linux in large part because I thought that the screenshots of Window Maker that I saw online were so damn pretty. When I finally got to use it, I liked how "solid" it felt; the menus were big and large, they stuck to the screen even if you moved your mouse off of them, etc. I don't use Window Maker anymore, but it'll forever hold a special place in my heart.


I never liked Window Maker much. Maybe I’m in the minority, but I tried a lot of Window Managers and desktop environments and usually ended up back on either K Desktop Environment or Sawfish. Obviously everyone’s heard of KDE but I don’t see many people talking about Sawfish.

I never really liked GNOME much either; even when everyone was running it in the 2.x days.

Enlightenment was (and still is) cool though and in my opinion never got enough credit.

BeOS aesthetics (and the OS as a whole) will always have a special place in my heart too.

Ultimately this all just boils down to personal preference. I’m definitely not suggesting that you’re wrong nor weird for liking Window Maker (if anything, I’m probably the weird one…)


I actually preferred stock afterstep over windowmaker, but I agree with you in that I preferred any windows manager with a taskbar.


Why did you stop using it?


I went to Blackbox because its UI elements were smaller (title bars are more narrow, no 64x64 dock icons) which gave me more real estate on my 1024x768 monitor. I then migrated to Openbox because that had more active development at the time.

This year, I've switched to herbstluftwm, a tiling window manager that's really nice and works in a way that agrees with me.


I can tell you why I did back then. I saw screenshots of openbox/blackbox/fluxbox and wanted that instead.


I get a progress bar when I run `cargo clean` because it's so large.


I need to find a pithy way to express "we use a garbage collector to avoid doing manual memory management because that'd require too much effort; but since the GC causes performance problems in production, we have spent more effort and energy working around those issues and creating bespoke tooling to mitigate them than the manual memory management we were trying to avoid in the first place would've required."


RAII <-- best of both worlds.


If you are talking about C++, it’s nice when RAII works. But if it does work, then in some sense your problem was easy. Async code and concurrent code require different solutions


Is there a reason to prefer `while read; ...;done` over find's -exec or piping into xargs?


Both `find -exec` and xargs expect an executable command whereas `while read; ...; done` executes inline shell code.

Of course you can pass `sh -c '...'` (or Bash or $SHELL) to `find -exec` or xargs but then you easily get into quoting hell for anything non-trivial, especially if you need to share state from the parent process to the (grand) child process.

You can actually get `find -exec` and xargs to execute a function defined in the parent shell script (the one that's running the `find -exec` or xargs child process) using `export -f` but to me this feels like a somewhat obscure use case versus just using an inline while loop.


I will sometimes use the "| while read" syntax with find. One reason for doing so is that the "-exec" option to find uses {} to represent the found path, and it can only be used ONCE. Sometimes I need to use the found path more than once in what I'm executing, and capturing it via a read into a reusable variable is the easiest option for that. I'd say I use "-exec" and "| while read" about equally, actually. And I admittedly almost NEVER use xargs.


Probably because some terminals interpret Ctrl+S as a "pause the terminal" command and if you don't know about it, it looks like your editor has frozen.


I absolutely loved AntennaPod back when I had an Android phone -- I actually never really "attended" to it though: I installed it, it worked, never gave me any issue. Now that I own an iPhone, I really miss having a quality app like AntennaPod.


> I'm mostly not following what is under a DDoS attack. Is it their web page mostly consisting of marketing material with static pages?

Yes.


Okay, well then this was a waste of time.


Your mention of a "universal API" reminded me of the paper "Some Were Meant for C" [1] in which the author argues that one of the most important feature of C is its "communicative design", i.e., its ability to manipulate any memory -- whether this memory originates from the program or is foreign -- with the usual C operators (+, *, [], <<, >>, etc.)

[1] https://www.humprog.org/~stephen//research/papers/kell17some...


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: