HNHacker News
TopNewBestAskShowJobs

sjellis

1,168 karma · joined July 31, 2016

Kismet: 2b53e324f3ecf7f2173472d66208b94165f735a9b2c6264db323e853b1ee1049
submissionscomments
sjellis··on On Learning Rust and Go: Migrating Away from Python
I think that you are right, but I'd say that the underlying issue behind these points is the number of people working on the project. Dynamic languages mean that you can rely on implicit knowledge, rather than be explicit about everything.

If your project is just _your_ project, then dynamic languages let you start faster and produce quicker. Apart from anything else, these languages attract people who value productivity, so clunky tools don't survive in those ecosystems.

Of course, almost no successful project stays in the hands of just one or two people: new developers come in, or it's Open Source and more people show up, as well as the "drive-by" contributions.

IME, Ruby on Rails projects scale to about three core developers before you start to feel pain. The strict conventions of the framework help mitigate the communications issues of keeping people in sync. Beyond that, the implicit knowledge that is not in the codebase is harder and harder to scale.

sjellis··on Pyright: Static type checker for Python
Nuitka has been around for a few years:

https://nuitka.net/

AIUI, this was basically a one-person effort for a long time, but the project is now growing.

sjellis··on Ask HN: How to learn best practices when you have no one to teach you?
"As you are from Node/Express and Mongodb background the biggest risk is trying to become only better in these technologies. So you will only know how to make faster horses, how to train them for the best, but you will never learn car exists.

More than best practices, what makes a great developer valuable (especially in a position like you where other people in your company are less experienced than you) is your ability to see wider not deeper."

Yes, you need to balance the need to be proficient with the stack that you have now with the big level-ups that come from learning something quite different. The best way to grow as a developer really is to learn a different programming language, and the thinking that goes with it.

I've never written a line of production code in Clojure, but learning Clojure taught me lessons about immutability and functional thinking that changed the way that that I wrote everything afterwards.

sjellis··on VS Code on a Remote Server
"vpn for Teradici"

This is probably why it wasn't so good. I've only used the AWS Workspaces client, which handles encryption, and that worked even on 4G connections.

sjellis··on VS Code on a Remote Server
Teradici is really good, and amazingly efficient on bandwidth.

The Teradici company license their technology to other vendors: it's what AWS Workspaces uses.

sjellis··on VS Code on a Remote Server
"browser-based IDEs aren't new. But they've always been a beast of their own; this will work seamlessly with the tight VS Code integrations numerous languages and frameworks have."

Yes, I evaluated AWS Cloud9 and walked away, because it was obvious that it could never compete with the ecosystems of the major editors. New tools and frameworks will keep coming, and proprietary cloud developer environments won't keep pace.

This project or Theia[1] look much more viable, if they can maintain enough compatibility with VS Code.

1: https://www.theia-ide.org/

sjellis··on I Do Not Like Go
> I don't think Go should be used for larger projects. Apparently though the community disagrees because they're really adding generics.

Go is actually specifically built for large projects: the project was started because C++ has severe problems when used at the scale of Google.

The basic design of Go was intended to engineer out the issues that Google developers saw when using C++ at scale for long periods, such as circular references and problems with combining exceptions with concurrency.

What makes Go distinctive is that the team concluded that complexity inherantly does not scale, and designed for simplicity. Which enables Go to scale down in a way, even though it was originally intended as a "systems language".

sjellis··on Could Microsoft release a desktop Linux?
> The issues largely fall into two categories - missing software, and missing or undercooked hardware support.

I've trying every Fedora release for about two years, with a view to switching (back) from macOS. Everybody has their priorities, but Fedora is now there on software and features for my uses. If I switch back now, I'll lose the official Google Drive client, but that's it.

In the past, I've run Linux desktops without hardware issues by buying slightly older ex-corporate laptops with Intel CPUs and graphics. Today, there seem to be a bunch of vendors offering Linux preloaded, so I don't expect to this to be a big problem.

sjellis··on Is Windows 10 still telling what you're doing even if you don't want it to?
> what is happening instead is that small companies, starrups, etc. are getting fucked over by the sheer amount of "rules" they have to follow and implement

Nope. The GDPR is a European-style regulatory framework: it sets out principles and expects people to apply them in a reasonable and sensible way. The national regulating agencies are there to steer organisations into doing the right thing, rather than beating them up when they don't. I have literally telephoned the UK regulator and had a polite conversation when I needed a clarification of a particular point in their (most clearly written) online guidance.

The regulators do have strong powers so that large and well-funded companies can't just deploy lawyers to get away with things. Cambridge Analytica is one obvious case: they tried to play games with a GDPR regulator, and got a very hard smack-down.

sjellis··on Ask HN: Books you read in 2018?
Margery Allingham was active at about the same time (her last book was in the '60s), and ought to be much better known. Her writing is great, she's a really sharp observer of human psychology, but there's always a lightness to her stories.

She wrote a long series centred around the character of Albert Campion, and the books evolve as the times changed. The very first books are murder mysteries, but have a 39 Steps feel to them, then they evolve into Golden Age mysteries, and the post-war novels become more grounded crime novels, although never really bleak. The very last book, set in the 1960s, has a touch of science fiction.

sjellis··on Second Canadian 'missing' in China
> Didn't Trump nominate the supreme court justice? And isn't the nomination confirmed by congress? What about the constant conservative vs democrat number battle in the supreme court?

There's deliberately limited legal ability for the legislature or the executive to influence or impose penalties on a serving judge, and the rule of law means that the president can't apply extra-legal pressure either. A judge could removed from office for really extreme or criminal behaviour, but that's considered extraordinary.

Day-to-day, judges can rule against governments and politicians without any fear of reprisals. The selection process just weeds out people who are likely to frequently make such rulings.

sjellis··on Ask HN: Books you read in 2018?
> Inspector Maigret

Maigret books are really great time-fillers: there's a large number of them, they are short and self-contained, and I've yet to read a bad one.

sjellis··on Just tell me how to use Go Modules
> Golang doesn't feel like a language that wants to prescribe a lot more than fundamentals. How you structure your code beyond the src/git/path/your-code/ is completely up to you and every repo you visit could be different.

I only follow Go casually ATM, but I think that it might fairer to say that the core team wants to stay focused on delivering the language and implementations, so we get blog posts and conference talks, but not a big trove of guidance on patterns & practices.

The best place to interact with the wider Go community is the Gophers Slack, and if you visit there, you will find that there's a lot of knowledge and thinking, but it's in scattered places. For example, this article will probably be cited in any discussion of application structure: https://medium.com/@benbjohnson/standard-package-layout-7cdb...

sjellis··on Microsoft is building a Chromium browser to replace Edge on Windows 10
You can, but all of those issues apply to user desktops, and they won't run VMs. There's no advantage to anybody apart from Windows-only corporate system administrators to even try to work with Microsoft browsers right now.
sjellis··on Microsoft is building a Chromium browser to replace Edge on Windows 10
> Many of you here don't test your own work in Edge.

This is at least partly self-inflicted damage by Microsoft. Edge only works on Windows 10, which not only excludes all of the regular Win 7 and 8 desktops that haven't been push upgraded, but also kiosk-type devices and at least some VDI (which use Windows Server with a "Desktop Experience" that does not include Edge).

So Microsoft ended up with IE11, which is supported but frozen, Edge that doesn't even run on all Microsoft platforms, and no browser for Macs (because IE for Macs is long dead). So if you are trying to deliver or support a Web application, Microsoft aren't helping, hence "just download Chrome".

Firefox didn't support enterprise Windows deployment as well as they could have (though they now seem to picked that up), and can't match the market power of Google. I would like to see a grass-roots move back to Firefox, but it's going to be up-hill work.

sjellis··on Amazon's cloud business is competing with its own customers
> This is not unique, it is the “integrated” vs “best of breed” offering.

The integration aspect really matters for security and compliance, as well as standardisation: all of which become bigger concerns the larger your organization. If you use the AWS service, you can re-use IAM, CloudTrail, CloudFormation etc. If you attach a third-party service to your AWS setup, then there's a bunch of things to work out.

sjellis··on Go 2, here we come
There's gomacro, which is a Go REPL with debugging:

https://github.com/cosmos72/gomacro

It would be awesome to have a REPL in the standard Go distribution, and I definitely feel the lack: even Java now provides one (JShell).

sjellis··on Ask HN: Is there a better way to document complex software architectures?
These days I preach the gospel of the project README: One file, Markdown format, versioned with the code, that says what the project does with high-level concepts, and how to build it and run the tests.
sjellis··on Elementary OS – Fast, open, privacy-respecting replacement for Windows and macOS
> proprietary file formats, vendor lock-in, monopolistic and restrictive trade practices etc. are reasons why users dread switching OSs.

That certainly used to be true, but I think most of those issues have fallen away, and it's mostly just about applications and unpredictable hardware support. Despite the efforts of proprietary OS vendors to invent new whiz-bang features, most people use the OS as a launcher for their Web browser and the collection of applications that they actually care about (office suite, games, professional tools like Photoshop). Proton is a really big deal because it unblocks migration for the people whose key applications are games from Steam.

sjellis··on Elementary OS – Fast, open, privacy-respecting replacement for Windows and macOS
Steve McConnell observed something like this in "Code Complete": an experienced programmer can get some level of proficiency in a new language in a few weeks, but mastering the tools, libraries and idioms of a language can take a couple of years. Hence, it's a pretty big investment for a whole professional team to switch platforms, and you should try to avoid it.
sjellis··on Red Hat Enterprise Linux 8 Beta
I suspect that Windows and macOS support going to be a big impediment to adoption of RH's container tools. Fedora has become a really good OS and Silverblue is going to be another level of awesome on top, but I don't see huge numbers of developers switching.
sjellis··on Amazon’s consumer business has turned off its Oracle data warehouse
> That depends on the functionality requirements of noSQL customers. I posit that writing a new, indepedent RDBMS that implements the latest SQL spec with the same maganement and replication capabilities as the incumbents is on-par with trying to compete with WebKit and Gecko. The SQL Server engineering team at Microsoft is about 1,000 people according to my friends on campus.

CockroachDB is the newest from-scratch SQL engine that I am aware of: https://www.cockroachlabs.com/

They re-use the RocksDB K/V store maintained by Facebook (in C++) as the storage layer, and their own code is written in Go, so I suspect that their development work is probably a lot less time-expensive than the teams working on older SQL databases.

sjellis··on What Makes .NET Core So Special?
> IMO the issue isn't MS, really (though parts of the org are still worthy of strong skepticism), it's the cultural phenomenon of a certain generation of developers who essentially eat, breathe, and die by Microsofts product cycles...

Although to be fair, they were taught this by Microsoft. Before Microsoft saw the writing on the wall and changed approach not that many years ago, the strategy was to provide a Microsoft solution for everything. Useful stuff from outside Microsoft would be either be cloned, or MS would simply not implement compatibility or integration.

The .NET ecosystem was, and still is, utter dominated by Microsoft at every level, unlike Java where multiple vendors provide implementations, innovations, certification etc. It's a bit unfair to blame the developers in the ecosystem for not pushing back hard enough against the organization that provided literally everything, from the software licenses to the professional certifications.

sjellis··on Microsoft Beats Amazon in 12-Month Cloud Revenue
Office is one of Microsoft's most lucrative lines, whilst I doubt that most AWS users pay much attention to WorkMail/WorkDocs. Many big companies play games with reporting numbers, and this is just a rather transparent example. Unfortunately, the fact that it got the Forbes story rewards that this kind of trick.
sjellis··on RHEL is deprecating KDE
Here's a post on the GNOME blog aggregator about the issues of themes and adjustable sizing of elements: https://blogs.gnome.org/tbernard/2018/10/15/restyling-apps-a...
sjellis··on IBM acquires Red Hat
Red Hat's Open Source only approach does mean that none of these projects can be closed down, though: AFAIK, IBM are acquiring people and a brand, but no significant proprietary IP. If higher-ups at IBM turn out to be as clueless as Oracle, then key engineers will just walk and continue working on those projects elsewhere.
sjellis··on What I Learned from porting my projects to FreeBSD
> If you want to maximize the chance that your software will compile and execute correctly on a Linux distro 5+ years from now, a good first step is making sure it builds and runs natively on some of the BSDs.

Like everything, this is a trade-off: what you are advocating is that people use a more or less frozen sub-set of features, and avoid improvements that are already de-facto standard.

I looked at what would happen if my employer standardised shell scripting on "sh", rather than "bash", and quickly concluded that it was a bad tradeoff for us: Bash is, has has been, the standard shell in every place that we would want to run non-trivial shell scripts: if we ran Alpine Linux containers, we could just treat those as a special case.

sjellis··on Mozilla Announces Experimental Partnership with ProtonVPN
The incident was trivial, but it exposed serious concerns in the process. Mozilla itself strongly promotes privacy and digital rights, but their marketing people did not understand that this was a breach of trust, and all of the technical people involved in the release of the add-on either did not realise this either, or were overruled.
sjellis··on Ask HN: Is Ruby on Rails still worth learning?
I would upvote this post twice if I could.

Rails is probably still the best implementation of a full-stack framework, and I agree that full-stack frameworks are are the best way to learn.

Despite working for a Rails shop for a long time, I would probably not recommend Rails itself for completely new programmers anymore, just because they would probably be better served learning Python than Ruby these days.

sjellis··on Snap, Flatpak and AppImage, package formats compared
> will installing snapd not install AppArmor as well?

It can't, because AppArmor is a kernel-level feature that also requires some level of integration into the rest of the distribution. Red Hat/Fedora-based distributions already use SELinux in place of AppArmor, so using snap on those systems can't have full security capabilities (making SELinux and snap work together would be non-trivial, and I don't think anyone is motivated to do it).

Flatpak uses other mechanisms for limiting the access that applications have, so does not rely on either AppArmor or SELinux being on the host system.

← PreviousPage 3 of 14Next →