HN user

insanebits

44 karma
Posts2
Comments37
View on HN

I think the way to go is a mix of the two. It is covenient for companies to get guaranteed money in advance. As for customer it's way cheaper to start with usage based model. This is because a lot of users are underusing their services.

This at least is the case in hosting industry where overscheduling is a big thing.

So best scenario for customer would be a pay per usage for low usage and subscription for moderate to high usage. At least this is what AWS is doing and I believe this is fair for both bussiness and customer

Here in Lithuania we have like 90% of plastic bottles have a deposit logo on them, pretty much all of the soda, beer, water, milk bottles are recycled. Most of the non recycleable bottles are from outside of EU brands, and those are generally more expensive. Collection points are also automated, where you put them on conveyer kind of belt ant it uses OCR to detect if the bottle can be recycled. Those collection points are attached to a store and you get a credit in associated store which can be used to either buy groceries or jus get your money in cash.

But if your service was down for more than what it takes to downscale to minimum scaling back up is not that big of an issue. It was down anyways. Also 24/7 instances exist for a reason, autoscaling is there to handle spikes, not a normal traffic.

For anyone looking for cheapest SBC. Best I've found was Orange pi zero at $6.99 for 256mb version. That includes wireless wifi onboard.

I'm not affiliated with them in any way. They can be found at their official aliexpress shop.

You can have a look at xeon e5-2670 v2 cpus, they're relatively cheap, around $200 and have 8c/16t so in a double cpu configuration you could have 64 cores with only 4 machines.

If it's a matter of life or death why didn't they have some sort of battery backup. It shouldn't need that much power. Or even additional generator.

As well as having moden version as a backup would be viable option. Article seems to make it more dramatic than it should be.

Why would you really need physical machines for linux and windows, you can always virtualize clients and run dual boot mac/windows or single thinkpad with win/linux dual boot.

If budget is tight used servers are great value, for example del R710 is cheap with plenty of horsepower. Downside being space and sound.

You can always have multiple VM's with gpu passthrough, so it's almost like dual boot kind of setup, but you can still run other things on the host. It works pretty well for me, only downside being that you're limited to single VM running at the time.

I'm recently setup Gitlab for my personal projects, import from bitbucket was a breeze.

I've used omnibus installer and it was almost painless, only a couple of issues because of LXC limits.

My only concern is resource usage, it does take at least 2Gb memory, are there any options to tweak it?

I am assuming that having RAM and CPU (and other functions such as GPU or other hardware accelerators)

We already have RAM(cache) and GPU(integrated graphics) on the same die. But that doesn't work as a replacement for professional/gaming graphical workloads.

That's one of the reasons I love arch, it has AUR. Don't like packaging, just create your own.

Really? Then what about this poor sap who had the misfortune of releasing one buggy minor version

Can't you do a minor do a minor version upgrade? Even the stable distros do updates all the time, just nothing major.

That's really good case about upstream packaging. Do we really want yet another android story? I trust maintainer which is volunteering it's time to ensure the package complies with distributions guidelines.

With universal packages we would have universal config file paths. So for example: apache2 on debian based systems will store documents on /var/www while something like arch will store them at /srv/httpd. Similar thing happens with a `sites-available` accross distros. Different distributions are doing things differently, which users are expecting and putting upstream developers in charge of that will make a huge mess, because it's more convenient for them to store configuration at a specific location accross every distribution. Yes that makes a pain to write deployment scripts accross difrerent distros, but IMO consistensy is a key to a good distribution.

Another good key point here would be testing, different distributions aim for different things, while debian aims for maximum stability and uses quite dated packages that are known to work. Where there are distributions which are always on the bleeding edge. Will upstream backport security patches for old packages? I really doubt they would like to maintain packages for years to come.

I don't say it would be all bad, there certainly would be great developers which would benefit from universal packaging, but that will not always be the case.

This should be titled "A Ruby programmer looks at Rust". There are now a very large number of programmers who have zero experience with anything below the level of a scripting language, and have never had to think about memory allocation. To them, Rust is rather intimidating, and this writer is trying to make it simpler.

C++/C doesn't have ownership concept, it may be similar to references but when starting on rust I had to change mindset and constantly fought compiler.

Article itself is interesting because it explains why there is certain syntax, and not a tutorial how you should code in rust.

Yep, that is the reality most of the time. It would be easy if you had a fixed list of features for a project. But they change most of the time throughout the development. You get used to it and start planning accordingly.

As I mostly work on PHP and JS will try to explain how my debugging session usually goes. Most of the bugs are easily reprodusable so for them I just go straight for the file and setup xdebug via PhpStorm. And that almost always gets fixed quickly since I have a good idea what went wrong.

But not all the bugs are easy to solve. The worst kind of bugs are hard/impossible to reproduce. For them my approach is to suspected places where it could occur and add logging, and just wait until it occurs again(sometimes it takes weeks or even months). So I am trying to log how the data flows through the system by isolating the direction to look for.

For example: I'm yet to find cause of the mystery of the MS Word and TinyMCE, where sometimes it will not strip out microsoft's formatting. It only occurs about once a month. I wrote a simple alert script which sends me an email when this happens and I can get to the person in seconds(most of the users are in the same office), and try to reproduce the exact moment when it occured on users computer.

My fix was just show an error asking users to repaste exact same text which then works as expected.

I don't understand why custom solution seems to favourited by them. It's the same as saying your car is bad because it's running on the most popular fuel.

As a web developer working daily on WordPress websites I would argue that it can be as fast as anything else. Because those websites are mostly static which means caching would make it load really fast. Assuming template itself is written well. So it doesn't matter what engine you're using, it's the matter of optimization.

As for WordPress itself, the biggest problem in my oppinion is plugin compatibility. Yes you have thousands of plugins bus most of them doesn't work exactly/cannot be customized to a given requirements and you end up either modifying plugin and then maintaining them. Or just writing simplified version of it yourself. Which makes even more meaintenance overhead.

Also it's not very good for big blogs with more than 100k posts. Because of the database schema used which is both it's strength and weakness at the same time.

I do not agree with your point that you have to pass validation. First of all I don't say that you should leave unclosed tags for browser to figure out. Or doing something crazy to break things.

Some of us still have to support older IE versions which needs to some workarounds to work with it. Even the validator.w3.org doesn't pass it's own validator. https://validator.w3.org/nu/?doc=https%3A%2F%2Fvalidator.w3....

My point is that we need to use modern tools like html5 while still being backwards compatible with older browser which means breaking some w3c rules.

Another valid case off the top of my head for breaking w3c(haven't tested if it passes validation) would be `<meta>` tags inside body tag. Which is part of the microdata format. Normally you're not supposed to put meta tags outside head but for while using mircrodata you sometimes have to rely on meta tags because your design doesn't allow for required(by microdata) to be shown on the website, so you use meta tag, which doesn't do any harm since it's not rendered for the user.

If you're going for C10M you can already forget about docker. For performance you really must be as close to the hardware as possible, which possibly means tweaking kernel.

Best example I know of squeezing as much as possible out of the bare metal servers would be StackOverflow, which runs of something in the ballpark of 20 servers(excluding replicas) IIRC.

It might even be 20 core processor, because htop actually shows threads and most processors nowadays are 2 threads per core.

For example my R710 shows 16 threads while it's only 2x4 real cores.

So that is where it actually comes from. I was wondering for some time now. This is one of my favorite features on oh-my-zsh!

It mostly helps when you type complicated command and after half an hour you need to repeat it for some reason. You type the command you used, and hit a arrow up.

Exactly my point, prices are for the new servers when they were brand new, as well as processors are really one of the worst xeons of that time. They E5600 suck a lot of power while not giving that good performance, there are x5600 for performance and L5600 for efficiency.

The test seems to be biased towards Pi's. Firstly because of VM ram, who gives 3GB RAM for 2 core VM? When typical server from 2010 has 72-96GB ram, which would really typically have at least 8GB ram, which would really be quite a different story.

Other part about the prices - you can have used gen6 server for under $400 which is comparable to RPi's considering that you're getting at the very least 6 times the performance(if you buy it with 2xL5640 processors with 6 cores each). Which means would need at least 18(3*6) RPis to match the performance in theory. Which would total close to $700(assuming $35 per pi).

Raspberry's are not really meant to be used as a heavy load server. They can be used as a cheap cluster for learning purposes but not really a viable option for replacing rack servers, at least today, but who knows maybe some day they will get to the point of competing.

The problem here is not a shelter but a previous criminal records.

+1 for freelancing idea, it might actually work if there are security jobs. But I think security in it's nature is something that needs assurance that person is capable of auditing the system.

Yes it's quite interesting to read, but yet in my oppinion they're far from becoming reality due to technical reasons of building AI or self replicating bots improving themselves.

As for backdoored code is reality right now. IIRC intel compiler used to optimize code better for their own processors so it would score better benchmarks compared to AMD which is trojan IMO. Not to start talking about NSA conspiracy theories.

This is relevant on the laptops or devices with smaller screens mostly, 1080p(24in) monitors are fairly common those days which gives more than enough screen estate to fit at least 2 side by side windows, ~100 char width text is recommended width for text reading.

And as for linux distro with a good GUI I would suggest looking into Elementary OS which is a ubuntu based and UX oriented. I used it on a daily basis for about 6 months and had good experience (not excellent though, it has some issues but what doesn't?)

In my oppinion maybe it's too harsh to dismiss TDD. It's certainly good in some cases. But if you start using it everywhere everything will look like a nail when all you have is hammer. Clearly not everything is easily unit testable.

What I like about unit testing that it's forcing you to separate irrelevant code and prevents you from writing spagetti code.

In my personal oppinion you should test core functions as someone already said, which validates 90% code with 10% of time. And leave parts which can fail gracefully in case of a bug. It's not practical/impossible to test 100% of use cases of a big codebase. But you can test critical parts.