HNHacker News
TopNewBestAskShowJobs

vasilia

69 karma · joined June 15, 2016

submissionscomments
vasilia··on Achieving 100k connections per second with Elixir
I can handle 120k connections per second with my custom made, highly optimized multiprocess C++ server. But the main problem is business logic. Just make 2 SQL queries to MySQL on each HTTP request and look at how it will degrade.
vasilia··on Amazon Removed Anti-Vax Documentaries from Prime Video
Disclaimers don't work. In Soviet Russia, a lot of people believe in strange things like this one https://en.wikipedia.org/wiki/Water_(2006_film) Rossiya 1 is one of the primary TV channels with a huge audience. When those people see that someone thinks that vaccination is the main source of childhood disorders, they start using folk remedies. My classmate's child died from this stupid anti-vax propaganda. I can't believe that I'm sitting in the office and writing software for a better understanding source of cancer, reading publications about ML and so on, but my classmates really believe in this bullshit about magic power of vater, vegan food and anti-vax.
vasilia··on Internet-Draft: Hypertext Transfer Protocol Version 3 (HTTP/3)
About 30% of all sites have HTTP/2 support. I don't remember where I saw this. I'm curious why the number is so small because nginx has HTTP/2 out of the box. But if your primary users are using Microsoft IE/Edge I have bad news, this browser has worst HTTP/2 implementation. When we do research on streams prioritization Edge showed that it works like ordinary HTTP/1.1. Safari implementation is based on SPDY, so It has priorities but they never been used in our experiments.
vasilia··on From macOS to Windows and WSL
> A poor man's REPL is a shell that fails short of everything that was possible to do across the OS infrastructure with what Lisp/Smalltalk/Oberon/XDE/Cedar REPLs allowed to do.

Shell is a command-line interpreter with additional functionality like scripting. Why it should have fully functional REPL? Lisp/ST/etc are programming languages, they are uncomfortable for copying files, moving directories, calling curl or using tar.

> An approximation of it would be to have a shell that is a Jupyter netbook with access to the whole set of OS APIs, shared libraries and applications, with the ability to jump into the debugger at any given step of the pipeline, and redo the current step.

You can use python for this purpose. I don't understand why Unix shell should have all this functionality.

> I bet you saw GUI apps on UNIX workstations, though.

Yes, of course, I have GUI apps on my MacBook, but they don't use piping for inter-process communication because bi-directional pipes are not quite useful like an ordinary RPC.

vasilia··on From macOS to Windows and WSL
> Which is why UNIX shells are a poor man's REPL quite far from what a Xerox inspired user/developer interaction aspired to achieve.

Unix shells are quite good for their purpose. It's not a full-featured programming language. Can you explain what is "poor man's REPL"?

> Pipe based interactions work properly only across CLI based applications

Yes. If you want to find something in logs or looking at any other text data pipes is a good solution. In any other case(like binary data) it will be better to choose GRPC(or any other RPC). I never have seen GUI apps on servers, sorry.

> PowerShell or other Xerox inspired shells don't need kernel support to achieve their workflows.

Good for them :)

vasilia··on From macOS to Windows and WSL
Unix sockets and pipes are portable across all Unix(POSIX, because Linux is not Unix, but OS X is). Furthermore Unix sockets and pipes backwards compatible to 4.4BSD Unix or older OS.

Actually, this comparison is not correct. Windows and Unix have a different philosophy of kernel<->user level interaction. While Windows tries to add all functionality to the kernel, Unix does this on user level. Remember the KISS principle. So If you comfortable with Windows OS level API it's good for you, but for Unix world, it's not necessary to do something because we already have a different inter-process communication approach.

vasilia··on From macOS to Windows and WSL
tcpdump is a wrapper for RAW sockets and eBPF. You can use WinPCAP, but it's not possible to use something like fanout(It's possible to make multithreaded tcpdump for Linux) or you can't use interface "any"(it's a Linux specific layer). The worst thing is that you can't trace your kernel IP/TCP info, like sk_buff tracing in Linux.
vasilia··on From macOS to Windows and WSL
> What about UNIX shells that allow to call public functions in dynamic libraries as if they were shell commands?

dlcall

> Or interact with running applications using the OS APIs like Powershell allows with WMI, COM, OLE Automation and .NET?

Depends what you need. You can use nc -U /var/run/socket or pipes with expect. If you have root permissions you can use gdb scripting/ebpf to communicate with user-space/kernel-space data of your application.

> Yes, there is DBUS, but isn't really integrated across the whole stack.

DBUS is a bus for desktops/mobile. I never saw that someone use it for server applications. The main idea(after KISS) of the Linux shell is that if you can't write something in awk it will be better to use python. Actually, in the Linux world, GRPC/REST is more common than OS-level API.

vasilia··on Writing Network Drivers in Go [pdf]
Why Linux? It's a simple hybrid kernel. It will be better to rewrite HURD/L4.
vasilia··on Writing Network Drivers in Go [pdf]
It's not a problem. The main problem is the assembly code. There is no way to inline it in JS code. After boot time system should make some things like A20, enable paging/protected and long mode, build GDT/IDT.
vasilia··on Writing Network Drivers in Go [pdf]
We can start with nodejs. Nodejs with async model will be the best solution to achieve the best performance(after 'delete spaces' method of course).
vasilia··on UCLA introductory programming classes should focus more on Python, not C++
> better than assembly, or machine code,

I was studying assembly in the second year. What is the problem? It was really easy because in my early years I was writing 64k demos.

> or learning the basics of transistors, capacitors, signals etc.

It's the simplest part of all computer architecture. I think I can explain what is D flip-flop/transistors in one hour.

> Why does C++ have the "right amount" of abstraction, when it sweeps under the rug a vast body of physics and EE?

C++ has OOP, has a smart and raw pointers, STL(not the best, but better than C). Right now I'm working on a project where I need process more than 50Gb in 10 minutes. Python script uses 110Gb of RAM because there are no pointers. I don't know why the previous developer chose Python for this tool.

vasilia··on Alibaba’s UC Browser is dominating in Asian markets with lower-end smartphones
There is Chromium based Yandex Browser Lite which requires only 1mb of storage size https://play.google.com/store/apps/details?id=com.yandex.bro...
vasilia··on What Happened to Threadless?
Uniqlo.com has a good quality, but prints are less creative than from Threadless's artists.
vasilia··on What Happened to Threadless?
I'm living in Russia, we don't have any extra taxes. Actually, we have a lot of local clones with the same prints from Threadless(of course illegal), but a price and quality worse than Threadless.
vasilia··on What Happened to Threadless?
Are there any alternatives to Threadless? Tees from my last order have a completely horrible quality.
vasilia··on Program FPGAs with Go
Because of ML and neural networks hype. No one wants to learn VDHL or Verilog, they want OpenCL or something similar.
vasilia··on Universities finally realize that Java is a bad intro programming language
Good choice. I hope later they understand that algorithms are not necessary. All that you need is npm install.
vasilia··on Hallmarks of Soviet postwar building boom are finally meeting their demise
Of course not. Khrushchev started mass construction of series buildings. That means that all buildings in Chertanovo(Moscow) look like any other building in Voronezh. They're really uncomfortable. https://en.wikipedia.org/wiki/Khrushchyovka
vasilia··on Hallmarks of Soviet postwar building boom are finally meeting their demise
Actually, only Stalin's era buildings are comfortable for living. https://cdn.cian.site/3/194/601/peredelkino-blizhnee-moskva-... This is ordinary new buildings in Moscow. No trees, no sun, everywhere wrong parked cars, and so on. It's like living in hell, but on earth.
vasilia··on Programmers are confessing their sins to protest a broken job interview process
It's Google/Facebook/etc interview rules. You can accept them or go to work in startup. That's all. I don't understand why they posting about a broken process.
vasilia··on Ergonomica – A cross-platform shell written in Python
hmm, it's pretty strange. I don't understand why it was implemented in Python, not in JavaScript.
vasilia··on MSSQL on Linux – the details
> It's competing with damn near everything that touches data at your company. MSSQL for data processing? Really? I think only huge legacy projects still using it. We're using Hadoop with some C++/Hardware acceleration.
vasilia··on SiFive open sources RISC-V chips
Does someone use Chisel language for FPGA programming? I'm using Verilog for my Altera DE1-SoC because it used in "Computer Principles and Design in Verilog HDL".
vasilia··on Improve Facebook or Leave It
I'm reading news about security/programming languages/new technologies here, but I don't know who is this guy. So, maybe someone can explain to me who is this guy and why I see this post on HN?
vasilia··on Why kernel development still uses email
Just try to use GitHub Enterprise for 400 or more users. You get a bare metal image of the virtual machine with no replication, load balancing, etc. Nothing more for a huge price. I don't know how they scaling public version.
vasilia··on PowerShell is open sourced and is available on Linux
> I actually find PowerShell's version more readable, even if more verbose.

Sorry, I can't agree with you.

> I may not know what the +2 actually means with the -mtime argument. How would I change it to look for the age of two hours instead of days?

If you forget or doesn't know what is mtime, you can open man find. For less granularity than days use mmin.

vasilia··on PowerShell is open sourced and is available on Linux
Linux ecosystem has a huge amount of different tools and scripts for most of the situation that you can imagine. I'm working with Linux more than 14 years, so I can say that text processing idea is the best way. It's pure KISS principle. If you need just to see something - type a command, for complex operations - awk/perl/python. PowerShell looks ugly because it's something between a programming language and shell. It's not KISS. It's all in one tool.
vasilia··on PowerShell is open sourced and is available on Linux

  ip addr show eth0 | awk '/inet/ { print $2 }'
Will be better ;) 'inet[::space::] ' not working with ipv6 addresses.
vasilia··on PowerShell is open sourced and is available on Linux
And how to delete files older 2 days? Get-Files / | select olderThan 2 | Delete-File ?

But it's not bash, it's coreutils

  find ./ -mtime +2 | xargs rm
← PreviousPage 2 of 3Next →