HN user

vasilia

69 karma
Posts2
Comments62
View on HN

Search/ads and ride/delivery services. As you may know Yandex has very advanced SDC system which was used(SDC robots) by Grubhub in Arizona University. They have delivery services in London/Paris and taxi services in Insrael and couple European countries.

As for the Russia I found news(in Russian) that McDonalds was huge part of orders in delivery service. Ads system fully broken because of Google suspension. Without concurents average prices will rise exponentially. Small business will not be able to buy ads and will closed in near feature.

how much does language matter in job satisfaction?

I think it depends. I hate JavaScript and Python. My coworkers don't care about language. They are working on the product, the goal is a fully functional service with a huge DAU. I can't complete product-specific tasks. I had been writing low-level software for networks, Linux kernel patches, eBPF helpers/tracers and now I'm working on hardware virtualization. In my free time, I'm prototyping devices on my FPGAs. It's really interesting. I can't imagine that I will drop my current job and will start cooking or guiding.

There is one more reason. When you write something that works in a loop, e.g. web server, exceptions are a huge potential issue. I was working on a C++ project with a very complex state machine. One day our service started using all 128 CPU cores just for stack unwinding. It was an ordinary exception in 3thrd party library raised on every request in the loop. We have tried to make a lot of optimisations in different unwind libraries. But it was far away from the performance of a simple Optional-like errors container as a return value. Exceptions are really Zero-cost if they occur only once when application should be terminated.

Group of managers wanted to choose Oracle based technology for this that would further entrench their team and they argumented they can do it faster and cheaper than the development team.

That's true. Most Open Source solutions don't work on huge workloads. You can read about Hadoop at Facebook or MySQL. They fully rewrote MySQL engine and partially Hadoop. Oracle solutions work well on huge workloads.

This company is not a software developer. The software department is just another team inside the company. The first goal of any non-software company is to reduce costs for IT infrastructure and development. It's not Google or Facebook where software development is a key factor of company capitalization.

Obviously, they were not interested in improving the product but in grabbing power, budget and control of the development process. Also they needed to score some points to show they accomplished something during calendar year.

Or just do their job: provides a reliable service for storing data. The main goal of the DB/SysAdmin department is to show 99.99% uptime. The software department could not guarantee this uptime. Of course, if all these software developers are good SRE that's another situation. But I'm sure no one has experience of supporting huge systems for years.

So my actions angered both managers of database operations as well as development teams.

If you really want to change something it will be better to make a virtual team from both departments and discuss all pitfalls from both teams. Maybe you are solving non-existent problem.

I'm working in a company with 20+ years of the legacy code base. We have a custom search engine fully optimized for our purposes. Decades were spent writing this code. It supports all the newest Linux kernel technologies. The codebase is really good. But every year a new inter tries to show that open source solutions are more reliable and faster. They don't try to write code in 1 hr of course. They spend 10 days on average to show proof of concept that is really fast for benchmarking, but it fails when we try to load testing data. I don't know why people think that nobody checked other solutions before them.

I think the main problem is spare parts. A long time ago I was working in the data centre. I don't remember any day when there was no problems with hardware.

The signal goes through the ionosphere to the satellite than to another satellite which has a link to the Earth. Starlink uses LEO, so there is 2400 km link(1200 km from/to the ground). 1 ms is time for the signal to travel for 300 km in a vacuum. So theoretically the lowest RTT could be about 8 ms. Right now RTT to my ISP is 2 ms.

Yes and no. If you are living near base station in a big city it will work. But in the countryside where no good connection from ISP equipment to the base station the bottleneck will be this link. Furthermore, 5G uses a higher frequency than LTE, it could be not cost-effective to cover remote regions with small number of users. Starlink could solve problems with cables, but adds problems with RTT. Maybe one day all FAANG companies will open data centres on Earth orbit.

I'm was born in small-town in Russia with 5k people. There was an area with private houses and 2-3 floors houses with 18-24 apartments. We have linked attics of buildings with apartments with cat 6e cables and cheap D-Link switches. In 2002 our telephone hub was replaced by a digital telephone switch station where we were renting five 2 Mbits ADSL channels. So users were connected to switches in attics for a small price and anyone who wants access to the internet could configure VPN to our FreeBSD "router". I don't remember the speed limitations, but the cost of 1 Mb was about $0.04(2 Russian rubles). In 2004 ADSL was upgraded to ADSL2+ with 20 Mbits per port. In 2006 all copper equipment was replaced by fibre channel cables/routers. And some people from private houses connected to our network(they were using dial-up). In 2010 huge Russian ISP Rostelecom bought our small network. At the end of 2006, I moved to Moscow because I went to college. And of course, me and 3 of my new college friends has built local ISP in university's dormitory :) The new dormitory was opened after two months after the start of the school year, so there was no any network. Officially it was not possible to connect this building to the internet. We rented a Wi-Fi router in someone's apartment in the building next after our dormitory. I don't know what happened with network because I was expelled from university :)

[dead] 6 years ago

This reminds me of how someone tried to reduce Linux kernel size with removing spaces from sources :)

I think it will be better to fully disable early data for people without full control of DC's network equipment. I don't know why Cloudflare made a decision about using headers and Too Early response. They have full control of their POPs. It will be better to measure RTT and use UDP based KV storage with tickets only for clients with high RTT. So for clients with RTT higher then access to KV storage it will be better to issue tickets, for other clients it will be better to drop early data and use full handshake. Currently, I'm working on a project with the same idea.

From Power9 cluster with array of GPUs? For work loads like http servers/php code/MySQL/etc intel CPU will be much faster. We have CPU samples from all vendors, unfortunately Intel right now is the best platform.

We use fingerprinting to detect unusual activity from clients. I think for platform detection it will be better to check JavaScript + User-agent + fingerprint.

No, it's not full implementation. The main difference between this and Zalewski implementation is using direct mapping data between kernel space and userspace. Zalewski implementation uses pcap for capturing packets. If you have huge workloads you can try this https://gist.github.com/xpahos/4bc215aa5fe237161bc076f247643... to try multithreaded capturing packets(https://github.com/the-tcpdump-group/libpcap/pull/674).

My implementation creates a hash map between kernel space and userspace where eBPF(kernel space, directly from sk_buff) code stores parsed data in this map. After accepting a connection in userspace application could check this hash map and get data from kernel space to userspace. So it's possible to add p0f extra data to request headers directly inside load balancer/web server and pass it to underlying levels.

Does anybody have an p0f3 fingerprint files later than those that Zalewski put in the distribution? They're 3+ years out of date at this point,

I don't know. Another team uses fingerprinting to check if it's a robot.

Saving Lydia 7 years ago

Hope that will help Lydia to have a good long life and other people.

I thought so too. When I was 16 I moved to a university dormitory. It was flat with 3 rooms and 2 people in each room. I was FreeBSD mega-geek but my roommate was a Linux fan(lately he moved to FreeBSD too). We were writing our own fork of DWM(https://dwm.suckless.org/) with functionality like in hackers films, using text-based clients for email, IRC, ICQ(it was really popular in Russia in that time), lynx, etc. It was like we are a hippie-hackers from 70th with a long hair(my was about 70 cm) and very creepy beards. It was really awesome because of no one except us have on so deep knowledge of networks and Unix systems. We were kings of the local network because the building was new without a local network, so we build it from scratch.

And now, 15 years later ... I have a MacBook Pro and iPhone. I'm so lazy. Every day at work I write tons of C/C++ code. I know how works Linux TCP/IP stack, TLS, HTTP1/2/3. But I just want to watch the new Stranger Things episode after the workday. I don't have any customization app for OS X. No special hotkeys or c00l h4x0r terminal app.

Envoy is not the web server, it's load balancer. If you want to serve static files It will be better to use any other software. Furthermore, it is a very complex problem for HTTPS servers, because the Linux kernel doesn’t have full-featured TLS support for sendfile syscall. I implemented daemon which is used as in-memory storage for static files and client for our proprietary web server. Trust me :)

As I see it's licensed under Apache 2.0. I don't know about any regional restrictions for this type of license. But it's could be a real reason because of our stupid government.

Of course, we have both, but 100k is nothing if it's not a CDN server which stores static file in-memory. Moreover, the main metric is latency, not a number of connections. You can scale a number of connections with an L3/L4 load balancer, but not latency.