News for hackers. Stuff that matters.

pipeep

Re:Minio Changes License to AGPL on Friday April 23, 2021 @06:26PM (#26919937)
What's more concerning IMO is that despite the fact that I can't find a CLA, their pricing page claims that if you buy their support contract that they'll give you the software under a "Commercial" license: https://min.io/pricing
Re:Wuffs’ PNG image decoder on Tuesday April 06, 2021 @06:20PM (#26718091)
> Rust could add a `#![forbid(alloc)]` declaration and achieve the same effect.

Isn't that pretty much what `#![no_std]` is for? You can still use an allocator with no_std, but you have to explicitly import it.

https://docs.rust-embedded.org/book/intro/no-std.html

Re:Fixit: A lint framework that writes better Python code for you on Wednesday September 02, 2020 @05:30PM (#24358390)
I worked on this while on the Instagram Server Framework team to leverage LibCST and solve some of Instagram's own problems. We took a lot of inspiration from other lint frameworks (notably, Flake8 and ESLint).

I left the team before most of the work to open source it happened. It looks like a lot of work went into the documentation, command line interface, and configuration system. Congrats to the whole team! I hope this can be useful to other projects outside of Facebook.

I'm with you, and I prefer "dumb" devices, but you can still buy these blu-ray players and not connect them to the internet.

The internet connectivity is sold as an additional feature so that you can use your blu-ray player to watch Netflix. I agree that I don't want logging on a device like this, but if I was going to connect one of these to the internet, I would at least want regular security updates.

Re:Google sued for secretly amassing vast trove of user data on Wednesday June 03, 2020 @03:39PM (#23407731)
Sure, there's probably less exposure from nuking the profiles directory, but I don't think you're being fair to containers:

- Containers are a feature built into Firefox, these extensions just expose a UI for it. The Multi-Account Containers plugin [1] is published by Mozilla. You don't need to trust anyone but Mozilla to use that base set of functionality.

- The container functionality in Firefox is the result of some work from the Tor Browser being upstreamed into Firefox [2]. It seems reasonable to assume that it's well-implemented.

- The limitations of the extension that you linked to don't seem any worse than your profile-segmentation approach. It's just saying that it's possible for multiple websites to get opened in the same container, which is similar to how you could end up opening multiple websites in the same profile.

[1]: https://addons.mozilla.org/en-US/firefox/addon/multi-account... [2]: https://blog.torproject.org/tor-heart-firefox

Re:The 5.7 kernel is out on Monday June 01, 2020 @03:50AM (#23376197)
See if your preferred distribution has a kernel backport available. Most have backports of the kernel because it has relatively few dependencies and is backwards compatible, making it easy to backport.

E.g. Debian currently has a 5.5 kernel in buster-backports[1]. However, Debian's backported kernel doesn't get the same level of attention and isn't subject to the same security policies as stable releases, so may be lacking some security patches that the stable kernel has.

[1]: https://packages.debian.org/buster-backports/linux-image-amd...

Re:Copying data is wasteful, mutating data is dangerous on Thursday January 09, 2020 @05:27PM (#22006572)
If the data structure has a reference count of one, you can safely mutate the data structure instead. Many persistent immutable data structure libraries use this as an additional optimization.
Re:Low-Cost VPS Testing on Friday December 06, 2019 @09:40PM (#21728099)
> I'm surprised that smaller companies have not moved away from static pricing yet.

The physical server has a fixed set of resources. If you let customers pick what resource they want to buy, you'll run out of one resource before the rest, leaving the server underutilized and increasing your costs. You can't sell KVM instances with no ram, no disk, or no CPU.

If you have enough physical servers and small enough customers, you can mostly solve this by carefully figuring out which customers to put on which machines. However, you've created a complicated jigsaw puzzle. And what happens if you need to shift customers between servers to balance things out?

I think Google is able to offer custom machine types because they're big enough, and because they're able to perform live migrations between physical hosts (most hosting providers can't do this), so the customer likely won't even notice if they need to be migrated.

Instead, most of these providers offer a few different SKUs to satisfy different use-cases, or they just pick one target market (e.g. lots of disk space for backups or lots of CPU resource for compute) and focus on that. A few offer networked block storage, which gives some more flexibility, but at the (potential) cost of reliability and performance.

> None in Asia though? You need it to be in Taiwan to service the region well!

Bandwidth in Asia is significantly more expensive (https://blog.cloudflare.com/bandwidth-costs-around-the-world...), so most budget hosting providers stay away.

Re:React Native and Yoga Both Given MIT Licence by Facebook on Friday February 16, 2018 @10:48PM (#16398861)
The flexbox implementation that react native uses for layout.
Re:VM escape vulnerabilities patched in VirtualBox on Saturday January 27, 2018 @12:09AM (#16244949)
> What is the alternative to using Virtualbox

Any other hypervisor. QEMU/KVM, Xen, VMWare, and Parallels all have good track records.

Re:NAT66: The good, the bad, the ugly on Sunday January 21, 2018 @05:51PM (#16200559)
As others have mentioned, Digital Ocean and Linode would probably be good options here.

If you're looking for something even smaller and cheaper than $5/mo, I've had luck with BuyVM. They've very cheap, have good customer support, a nice panel, and you get an entire /64.

Re:APK Golf: Reducing an Android APK's Size by 99.99% on Tuesday October 10, 2017 @11:02PM (#15446996)
A large amount of that 1.5 MB of code is to shim around the incompatibilities between different versions of the shared libraries that ship with Android. The root of the problem is that not everyone is on the same version of Android.
Re:Messenger.com Now 50% Converted to Reason on Sunday September 10, 2017 @01:00AM (#15210732)
I've got an old 2013 Moto X, and I've recently started using Messenger Lite on it. You'll likely need to manually install the APK, because it's not available in the Play store for the US market, but it's definitely a lot faster.

https://www.theverge.com/2017/5/18/15659414/facebook-messeng... https://play.google.com/store/apps/details?id=com.facebook.m...

Re:How can Ethereum systematically scale better? on Friday June 30, 2017 @10:46PM (#14675065)
Blockchains likely scale closer to O(n log n): http://spectrum.ieee.org/computing/networks/metcalfes-law-is...

The value of the network does go up the more people use it, and therefore, there are more transactions per user. However, the amount of transactions that each user produces will probably not scale linearly with the network size.

Re:Instagram Is Becoming Facebook’s Next Facebook on Saturday May 06, 2017 @01:43AM (#14278884)
https://en.wikipedia.org/wiki/List_of_mergers_and_acquisitio...

Web search engines:

- Outride (2001)

- Kaltix (2003)

- Akwan Information Technologies (2005)

- Orion (2006)

- Aardvark (2010)

- PlinkArt (2010)

- Metaweb (2010)

- Like.com (2010)

- Apture (2011)

Granted, none of these were very high-profile, and Google hasn't acquired any other web search engines either, but to say "Google has never had to buy a competitor" is naive.

They've also spent a lot of money acquiring competing companies that aren't related to their core business. YouTube competed with Google Video before they were acquired. DoubleClick competed with AdSense (and arguably, Google stole DoubleClick's model). Waze competed (and still competes) with Google Maps.

Acquisitions aren't a sign of weakness.

Re:Amazon's Leadership Principles on Monday April 24, 2017 @02:07AM (#14182249)
I used to work at Amazon, and I liked their leadership principles.

They're intentionally contradictory, but that's just an acknowledgement that perfection is impossible. When you choose to focus on one aspect of your career, that's often going to be at the detriment of something else. This also means that there's always room for career development and self-improvement.

Re:Update on Multi-Process Firefox on Wednesday December 21, 2016 @04:42PM (#13232881)
You can figure out what add-ons are compatible by cross-referencing http://www.arewee10syet.com/
Re:Proposed server purchase for GitLab.com on Sunday December 11, 2016 @05:19PM (#13153718)
Regarding D2: If you're going to go with bcache, make sure you're using a kernel >= 4.5, since that's when a bunch of stability patches landed (https://lkml.org/lkml/2015/12/5/38). Alternatively, if you're building your own kernel, you should be able to apply those patches yourself.
Re:Image Compression with Neural Networks on Thursday September 29, 2016 @11:53PM (#12610448)
Engineers are expensive. Google's research blog probably isn't a very high-traffic surface, and most visitors are probably on modern machines and fast networks. It doesn't make sense to spend a bunch of engineering resources on optimizing something like this. So instead, you do whatever is easiest to implement and maintain.
Re:Babili: An ES6+ aware minifier based on Babel on Wednesday August 31, 2016 @04:08AM (#12396734)
Babel can parse Flow, which is similar to Typescript. However, Babel doesn't have any built-in support for inferring or analyzing flow types. However, some of this type information might be useful in building a more advanced closure-like minifier.
Re:Show HN: My own C compiler (just for fun) on Wednesday June 15, 2016 @03:19AM (#11907664)
> Automatic parallelisation is a bad idea because the overhead caused by synchronisation is bigger than the gain.

A sufficiently intelligent compiler would be able to heuristically determine if the synchronization overhead for a program segment would be greater than the performance gain. Plus, there's lots of little cases where synchronization overhead is trivial, like map().

C isn't the best language for this, but there's plenty of languages (e.g. Haskell) that have data flows that can be thoroughly statically analyzed for dependencies.

> It's also a bad idea to take away control from the programmer.

Ideally you'd have compiler pragma to disable this on a case by case basis, and you'd still have more traditional parallel programming tools available.

> What if every compiler did automatic parallelisation differently? Then you'd have impossible to fix performance problems.

If you had a bad enough performance regression, you'd disable automatic parallelization and file a compiler bug (because it shouldn't regress below single-core performance). You could make this same argument against any optimizing compiler. They all apply different optimizations, and do sometimes lead to "impossible" to fix performance problems or even contradictory execution behaviors between implementations. But I still think `gcc -03` is invaluable.

I don't think automatic parallelization is a cure-all, or even that it should be enabled by default on compilers any time soon, but it's better to have it as an option than not.

Re:AWS IoT Button on Thursday May 12, 2016 @10:24PM (#11688224)
It's much less polished, but instead of using pcap, I just configure dnsmasq on openwrt to call a shell script that uses wget to call an http endpoint on my computer:

https://github.com/bgw/dash-button/blob/master/openwrt.sh

Re:Cost Cutting at Dropbox and Silicon Valley Startups on Saturday May 07, 2016 @07:09PM (#11651787)
I think employer provided food isn't currently taxed, which is a huge benefit.

http://www.wsj.com/articles/silicon-valley-cafeterias-whet-a...

OS X isn't getting Vulkan (as far as I can tell). Apple's pushing Metal instead.
Re:Hard Drive Reliability Review for 2015 on Tuesday February 16, 2016 @09:26PM (#11114776)
It's a common scam to sell flash drives with modified firmware that causes it to report a larger size than the underlying flash chips provide. Usually once you write past that point, the writes will loop around or drop the data entirely. It's likely that the $17 flag drive you linked to is a scam.

Beyond that, flash drives tend to have low write durability and horrible performance on large writes (because of poorly implemented garbage collection).

Re:JSweet: A transpiler from Java to TypeScript/JavaScript on Tuesday December 15, 2015 @06:16PM (#10741188)
There's a "Features and comparison" section on the linked page that addresses exactly this.
Re:Weblog.sh – hosted blogging from the command-line on Tuesday November 24, 2015 @12:59AM (#10619356)
The term blog is derived from the concatenation of "web log".
Re:Object.observe withdrawn from TC39 on Sunday November 08, 2015 @11:32PM (#10531409)
If you intercept every MemberExpression on every object, you can solve this (with the exception of eval), but as I said, it would be incredibly slow.

Older »