HNHacker News
TopNewBestAskShowJobs

peschkaj

167 karma · joined December 29, 2009

data. code. sandwiches. corgis.

blog at http://facility9.com

submissionscomments
peschkaj··on Woodworking as an escape from the absurdity of software
Well, I mean you could use an adze or a froe. Axes are really common in green woodworking (chair making) and they’re great for getting wood to split along the grain.
peschkaj··on Let me tell you about me Gear Fabrication Syndrome
/me also waves from behind a CNC machine, pile of tools, jigs, etc
peschkaj··on Tell HN: Stack Exchange (Stack Overflow) is now blocking Tor
Yup! Mostly legal. We maintain a legal guidance page[1] covering what you can and can't do with the data. I assume our lawyers have been involved, but what do I know?

[1]: https://stackoverflow.com/legal/trademark-guidance

peschkaj··on Tell HN: Stack Exchange (Stack Overflow) is now blocking Tor
We intend to keep publishing data dumps and with the same regularity.
peschkaj··on Rust for Windows
I use X410 and run tools from inside of WSL2 by exporting the display. Works well for Emacs, JetBrains Rider, and every other GUI application I've tried so far.
peschkaj··on Windows Terminal Preview 0.9
The "Remote - WSL" extension allows you to open a folder inside WSL but keep writing code inside VS Code running as a Windows process. It's available at https://github.com/Microsoft/vscode-remote-release.git
peschkaj··on WordPad Is Gettings Ads in Windows 10
My install seems to have no ads at all (including on the Start Menu) and I am using Win 10 Pro that I installed straight from the Windows download page. Maybe I don't get ads because I'm on the Insiders Slow Ring.
peschkaj··on Ask HN: Those making over $300k/year, how did you achieve it?
Wat? My highest overall tax percentage was 32% when I made 300k as a single person.
peschkaj··on New XPS 13 Developer Edition Lands in Europe, United States and Canada
I run Ubuntu on a 5510 and I love it. I get between 5 and 7 hours of battery life with it. Using the NVidia card will kill the battery, so be careful and make sure you set up Bumblebee/BBSwitch on Linux (or the NVidia settings on Windows). Otherwise, it's a great machine. I picked up the 32GB model with a 1TB NVMe drive and QHD+ display.

However, it is a bit too large for a bike commuter and I'll be selling it on eBay shortly.

peschkaj··on Microsoft announces the next version SQL Server for Windows and Linux
It's just the relational engine for now, no SSIS, SSAS, or SSRS. If you want to see more capabilities on Linux, I'd open a Connect item or search for an existing one and share it back here so people can vote.
peschkaj··on Nyancat on the touchbar
Are you referring to the i7-6700HQ that was released in 2015? The CPU that's present in the 15" Retina MacBook Pro? Or is there a different CPU that nobody else is privy to?
peschkaj··on What ORMs have taught me: just learn SQL (2014)
I think we're in agreement writing applications in the database isn't a good idea.

By "empirical proof", I mean that I have never seen anyone conclusively prove that switching data access from stored procedures to ad hoc SQL through an application was the cause of performance improvement. I've seen proof that removing complex application logic from the database fixed a problem, or that better indexing improved performance, but I've never seen anyone prove that removing stored procedures alone fixed the problem.

Further, there's nothing in your proposed solution of scaling out with readable replicas that precludes the use of stored procedures for data access. As a huge fan of both databases and separation of concerns, stored procedures make tremendous sense. They let a domain expert tune the database as needed. Even going so far as allowing that expert to re-write queries, provide optimizer hints, or even change the physical data model for better performance without ever changing application code.

Although I may or may not be competent, I have scaled "stuff" in a database. But I do appreciate you getting a vague ad hominem into the first sentence. Bravo.

The typical bottlenecks that I found were almost always IO - either through crappy storage, crappy indexing, or some combination of the two. Modern databases typically aren't bottlenecked by the lock manager.

I'd also agree that moving work out to a NoSQL database is particularly tricky. For three years I maintained the .NET Riak client and helped developers make better decisions when they were considering moving away from an RDMBS.

peschkaj··on What ORMs have taught me: just learn SQL (2014)
I've yet to see empirical proof that stored procedures don't scale well. If you write an application in your SQL dialect of choice, that likely won't scale well, but putting data access behind an API should scale well no matter if that API is in Rails, Spring, or a stored procedure.
peschkaj··on Docker and Microsoft partner to drive adoption of distributed applications
If you're using Hyper-V, you get an unlimited number of guests if you've purchased Windows Server Enterprise Edition. Last I checked, it's not even that expensive of an upgrade.
peschkaj··on The Bw-Tree: A B-tree for New Hardware
I saw it demoed today. Hekaton is an announced and public feature of SQL14.
peschkaj··on Get 50GB of Box free for life
I don't know if they've fixed the issue, but the Box client used to spike CPU at 100% on OS X. This would occur when you have a folder hierarchy with a lot of small files in it.

It turned out that their client was enumerating folders and files looking for changed data rather than hooking into the OS X file system notifications. We really liked it for the corporate account since it's possible to selectively grant outside parties access to files/folders.

peschkaj··on Switch Your Databases To Flash Storage
Depending on the SSD vendor, many drives expose performance counters to help you estimate wear level.
peschkaj··on Does mathematics have a place in higher education?
I think we should commission such a study. Those of us with English degrees will be perfectly suited to conducting this survey and delivering the results in epic poem format.
peschkaj··on MongoDB's Write Lock
MongoDB's journal is another collection that only syncs to disk 10 times a second. It's not a true journal like a write-ahead log. You can force that collection to fsync, but... yeah, I get get stupendous performance using a cheap RAID controller on commodity hardware with an old and busted relational database. Hooray for 40 years of technology!
peschkaj··on MongoDB's Write Lock
You are correct - any database with the entire dataset in memory will be incredibly fast. SQL Server bypasses the Windows file system cache and will aggressively manage memory to keep frequently accessed data pages resident in RAM. The read/write performance is what you would expect for a database with fine-graned lock management - when you have to go to disk things get slower, otherwise I/O is only limited by RAM and the overhead of lock management.
peschkaj··on What happened to CouchDB's popularity?
It does. As does Cassandra.
peschkaj··on Ask HN: We just migrated from SQL Server to MongoDB - ask us anything
Good to know, I wasn't aware of both of these features. Thanks!
peschkaj··on Ask HN: We just migrated from SQL Server to MongoDB - ask us anything
That's what I suspected.

So, when your data volume exceeds what will fit in RAM, I'm guessing that your plan is to shard to multiple MongoDB servers. Is your plan to continue to add multiple replicas to each shard to handle DR?

peschkaj··on Ask HN: We just migrated from SQL Server to MongoDB - ask us anything
With SQL Server (or any RDBMS) there are known backup and recovery strategies and a WAL as added security. What kind of disaster recovery strategies are you employing with MongoDB?
peschkaj··on CorrugatedIron - The New .NET Client for Riak
To everyone on this thread: thanks for all of your input. We're already working on the next release of CorrugatedIron and we're taking it into account. Seriously. We want to make sure that CorrugatedIron is as easy for you to use as it is for us to blog about it.

So, thanks already for taking a look at our code and poking at it.

peschkaj··on InnoDB faster than NoSQL solutions?
The current version of Riak uses Bitcask as the default disk storage engine, but InnoDB is an option that you can use. They each work well for specific workloads - Bitcask scales up until your keys (not total data) can't fit in RAM.
peschkaj··on Secondary Indexes - How would you do it (in Riak)
That thought did cross my mind while I was writing it. Indexes give you the ability to do ad hoc querying, but they have a tremendous cost to them, at least in terms of the complexity that they add to the database. Part of the point (since I don't actually work on Riak) is to point out what RDBMSes give you out of the box.

Thanks for reading it all.

peschkaj··on Ask HN: How do I prevent database bottlenecks on my web app?
Normalize until it hurts, denormalize until it works.

Build your database tier using everything they taught you in the classroom. Normalization is your friend here. Why? When you've effectively normalized your database, you can monitor the results of queries and eventually introduce the optimizations that you need to make things run faster.

The problems that sites like highscalability.com deal with are far beyond the scale of most endeavors. If you run into massive scale problems, be very happy because it means you're building something that people want and you can afford to throw some money at the problem ;)

I know people who have production databases with 30+ terabytes that is sitting in a relational database. If you design well, you shouldn't have any problems reaching those goals.

peschkaj··on Failure to communicate: Inability to write clearly is costly in the digital age
Mark Twain complained about this long ago. As a previous commenter said: it's not so much that people are not able to write now, it's that they can publish their bad writing. We have metrics in schools to track how well our kids can write. We can blog about how poorly our co-workers write. It's more visible than it ever has been.

At the end of the day, every communication with your employer is an opportunity. If you can't communicate well, you will be less likely to get what you want out of those interactions. On the other hand, if you're able to write well and communicate clearly, you're going to get what you want far more often.

peschkaj··on Run PowerShell as a shell within Emacs
This becomes a lot cooler, too, when you take a look at that PaSH project: http://pash.sf.net