HNHacker News
TopNewBestAskShowJobs

otabdeveloper

170 karma · joined December 5, 2014

submissionscomments
otabdeveloper··on So You Want to Write Your Own Language (2014)
> Doing so in a structured way, more elegant than writing more parsers and compilers in C, sounds like a good idea.

http://www.gbresearch.com/axe/

otabdeveloper··on How long does it take to make a context switch? (2010)
Re: your point 1 -- waiting on a mutex happens regardless of whether you're using blocking or non-blocking IO.

If your program only ever makes IO system calls and nothing else, then your point might make sense, but this isn't a realistic real-world assumption.

Re: your point 3 -- not using the complete timeslice is not a realistic assumption. If you're creating threads then you're presumably doing some little bit of CPU-intensive work and not just copying bytes from one file descriptor to another.

You're making terribly silly assumptions about what kind of work servers actually do, and ignoring the real benefit of async solutions.

The real benefit is being able to control how threads switch by yourself instead of using the kernel's builtin 'black box' scheduling algorithms. The problem with the 'black box' is that the kernel might decide to penalize your threads for inscrutable reasons of 'fairness' and then you suddenly get inexplicable latency spikes.

Of course rolling your own scheduling is an engineering boondoggle and most people just opt for a very primitive round-robin solution. (Which, incidentally, is what you want anyways if you want good latency.)

In which case you might as well create a bunch of threads and schedule them as 'real-time' (SCHED_RR in Linux) and get the same result.

(Seriously, try it -- benchmark an async server vs a SCHED_RR sync server and see for yourself.)

otabdeveloper··on How long does it take to make a context switch? (2010)
> Does the CPU interrupt threads running happily on cores even when there are no other threads which want to run or which have affinity that would allow them to run on that core?

Yes. Even if you are careful to ever run only one process (so: no monitoring, no logging, no VM's, no 'middleware', etc.) and limit the number of threads to strictly equal the number of processors, you still have background kernel threads that force your process to context switch.

otabdeveloper··on Monzo’s Response to Cloudbleed
Because the "HTTPS everywhere or you're a dinosaur and you don't deserve to live" hysteria forced everyone to put HTTPS even in places where it doesn't belong.
otabdeveloper··on Linus' reply on Git and SHA-1 collision
> In 20 years, the $100,000 attack will be a $100 attack (or perhaps a $1 attack)

No. Moore's Law has been dead for years and will never come back. The benefits we saw in recent years came from people figuring out how to compile code for SIMD processors like GPU's, not faster or cheaper silicon.

otabdeveloper··on Linus' reply on Git and SHA-1 collision
> Not saying it's easy, but now it's on the horizon.

Not really. It's not a preimage attack. They spent several hundred dollars to find two random byte strings with the same SHA1 hash. There's still no way to SHA1-collide a specific byte string instead of random junk.

otabdeveloper··on A Guide to Porting C/C++ to Rust
> And what do you do when clang isn't an option, due to customer, target hardware, OS or even language extensions?

Then you cannot use Rust and must settle for lack of safety. (A profoundly silly question -- if modern C++ is not an option for whatever reason, then Rust is doubly so.)

otabdeveloper··on I cannot continue working on my add-ons
> These days, I'm more likely to suggest Brave over FF, if someone really requires a Chrome alternative.

Brave is just a reskinned Chrome.

> We [web developers] owe a lot to FF, Firebug, etc, but the writings on the wall for mobile and desktop.

Where I work developers have mostly switched to Firefox over the last few years. Firefox is just a better browser (faster, less bloated) under the hood. Yes, Firefox will have a difficult time sine they don't have their own proprietary walled-garden ecosystem as a distribution channel, but the technical product is solid.

otabdeveloper··on C++11 FAQ
C++ occupies the same mental space that languages like Haskell, Scala or OCaml.

Compared to its real competition, C++ is very elegant and a joy to use. These languages are meant for enjoying the maximum out of compile-time type abstractions, not as an easy-to-use tool for simple enterprise apps.

otabdeveloper··on Python 2.8?
No, the problem is that Python 3 sucked, and still sucks.

Twisting your user's arms even more painfully won't solve the problem, it will just accelerate users switching away to other languages or forks.

otabdeveloper··on Systemd Sucks, Long Live Systemd
Systemd isn't an init system, it's a service (a.k.a daemon) management daemon. Its primary purpose is to restart and diagnose failing daemons cleanly.

Systemd won for one simple reason: it's the only tool that accomplishes this task without bugs. We've been running daemontools for almost a decade in production, and it's a nightmare of bugs. Very glad to be finally switching to systemd.

otabdeveloper··on How China Built ‘iPhone City’ with Billions in Perks for Apple’s Partner
Foxconn is far, far more than just iPhones or just Apple.
otabdeveloper··on Haskell vs. Ada vs. C++ vs. Awk vs (1994) [pdf]
> 1994

Probably not relevant anymore.

otabdeveloper··on The Zimbu programming language
> "code is read more than it is written"

Is that really true? An amazing amount of absolutely mission-critical infrastructure runs on code that was written once and probably never even code-reviewed.

otabdeveloper··on The Zimbu programming language
> I think python is a good example of how to be simple.

I disagree. Python was a good example of that when it was Python 1.5.

Modern Python 3.5 is a Perl-style nightmare of special cases, weird sigils, ridiculous primitive types needed because of legacy reasons, inconsistent standard libraries and everything else that comes with being a 'serious' language.

otabdeveloper··on Hyper 1.0.0
The 'rewrite everything in Javascript' hysteria reminds me of the 'rewrite everything in Java' hysteria we saw a couple of decades ago.

I wonder if it will end the same way. Will Javascript eventually go on to die where all languages go to die -- as as enterprise backend language?

otabdeveloper··on Measuring GC latencies in Haskell, OCaml, Racket
> are there non-GCed functional programming languages?

Yes, C++. For the last 18 years the C++ standard has been busy adding functional features to the language. With mixed success, but still the result is quite impressive.

otabdeveloper··on Python Release 2.7.12
Yes, but it will be forked and maintained by other people anyways.

Python 2 is forever, best get used to it.

otabdeveloper··on How Eve unifies your entire programming stack
> yet most people are capable of creating spreadsheets (and writing formulas)

Not in my experience.

otabdeveloper··on Malloc Challenge
A malloc benchmark that doesn't measure multithreaded performance is worse than useless.
otabdeveloper··on Strategies of Human Mating (2006) [pdf]
The people having 4-5 kids aren't the people who got laid in highschool.

Moreover, some of the most successfully reproducing people are those who have sex once a year.

'Sex' is, by definition, something that's supposed to lead to reproduction. Whatever you're discussing here isn't.

otabdeveloper··on Strategies of Human Mating (2006) [pdf]
What they call (incorrectly) 'sex' is not mating.

Having kids is strongly inversely correlated with 'having sex'. (People who are most successful at reproducing are also the people with the fewest sexual partners and a less active sex life.)

otabdeveloper··on SpaceX is testing new powerful engines for its mission to Mars
Venus' atmosphere is a better colonization target than Mars from every conceivable angle. I don't think they have really thought this through.
otabdeveloper··on Upgrade your SSH keys
Nobody is going to brute-force my git keys, especially when it's so trivial to gain access to the repos via social engineering.
otabdeveloper··on Ask HN: Is web programming a series of hacks on hacks?
All of human civilization is a 'series of hacks on hacks'.
otabdeveloper··on The biggest surprises from living in a simulated Martian habitat for a full year
We're going to settle Venus way, way before we're going to settle Mars.

These projects should focus on exploring ways to build big blimps instead.

otabdeveloper··on Introducing the Qt Lite project – Qt for any platform, any thing, any size
> CPU software rendering seems like a step backwards for performance.

In my real-world benchmarks -- no, CPU rendering for the purely 2D case is vastly more efficient than trying to shoehorn it into OpenGL.

otabdeveloper··on PowerShell is open sourced and is available on Linux
Check out the language I wrote for that exact use case: http://tkatchev.bitbucket.org/tab/
otabdeveloper··on What I learned from the Chinese about our Indian online market
> we never see an orc perspective or pov

Offtopic, but this is false. There's a whole chapter of orcish perspective at the end of book IV.

otabdeveloper··on Google Unfairly Curbs Web Ads and Skews Search, EU Alleges
> all of Google's customers could switch to it in ten seconds and never look back.

Google's customers are all the businesses buying ads from Adwords.

And yes, Google is a monopoly, the cost of switching away from Adwords will probably drive you bankrupt in 2016.

Page 1 of 3Next →