We (Amazon Web Service Elastic Filesystem) are!
https://www.amazon.jobs/en/jobs/703035/software-development-engineer-ii
Don’t believe the hype. Working for Amazon has been a literal life changer for me. Nothing is ever perfect, and this place is no exception, but there’s plenty of awesome around here and we work at a scale that few can match. The job is full of challenges and it’s a VERY different day to day experience from any company I’ve ever worked, but I love it.
Most of our work is Java or C/C++ and a bunch of Python on the infrastructure side.
Feel free to list me (cpatti at amazon dot com) as a referral if you apply, and let me know so I can connect the dots internally :)
Hey @feoh! I’ve several times tried to apply for an SRE where I live but NEVER got any answer back. My profile is probably still a bit too young (4years exp), but I’m looking for great environment and teams to learn from. Would you have any idea about the profile matching this kind of job @ Amazon?
It depends very much on the job level of the job in question.
Also I don’t exactly know what “SRE” maps to in Amazon-ese :) My job title is “System Development Engineer” and that’s a good guess, but I’m not sure.
If it’s a SysDE role, things we look for generally are:
Solid coding ability: You need to be able to implement simple algorithms and solve common systems problems in code. In practice this means you should know an actual programming language, not just bash, and be able to demonstrate that with a simple collaborative coding task.
System design at scale
A functional understanding of networking
And then there are the less technical areas like our Leadership Principles. Definitely do some thinking on those and how each might apply to various situations in your career.
As to finding a way in - network! Amazon has a sizable presence on LinkedIn. Reach out and politely ask quesitons of people, and don’t be afraid to be persistent. People are busy and may not get to you right away. Just be respectful of the fact that you’re asking for a leg up and you’ll be surprised at the response you might get.
Good luck!
[Note - I’m not speaking for my employer, just giving you my impressions of what we tend to look for in this one particular area.]
Thank you so much for this comprehensive answer! That’s super helpful and I’ll definitely give a try!
Every once in a while I get poked at by an Amazon recruiter on LinkedIn. Usually, I say it sounds awesome but I’m not willing to relocate, and I never hear back. :P
I hear you. It was like that here for a long time too, and then around 5-6 years ago our director pitched a Boston office to the Seattle management chain and it worked. Now we’re booming.
It’s kind of frustrating how cavalier some recruiters are about locating. My answer usually shuts them up “My wife is a VP at a bank, makes more than me, and has held the same job for 15 years. There is NO way we’re gonna give that up.”
Recruiters seem to believe, and in the aggregate they’re correct if only because it’s a self-fulfilling prophecy, that anyone who would answer their unsolicited emails can’t afford to be picky.
I’ve wondered about that. Like, as in, what is their ACTUAL success rate? I get the impression that tech recruiting is one of those fields like real-estate. There WAS mad money to be made for a while so a lot of people got into it. But these days, with the web and with much better networking all around.
It’s hard to tell. I expect that some of the larger “hiring” websites have some data on it for their own purposes, but for the rest of us, I don’t see any way to find out.
It’s just embedded into bash like DSL’s do in LISP’s.
And still suffers from all limitations of its host language. :)
Don’t get me wrong, I do think it’s a noble effort, but myself I’m on a crusade to eliminate shell scripts as much as possible. I believe the future belongs to embedded DSLs that make executing and composing external commands easy. In my main project I rid the build configuration scripts of shell almost entirely, and it’s got so much easier to maintain and extend.
That was my feeling when I looked at it as well.
“Oh hey look, they built a skateboarding dog! Neat!”
I hope someone got enjoyment out of building it, because I can’t ever imaging recommending this to anyone for anything serious.
There’s one bash library that I actually find handy for testing command line utilities though: https://github.com/lehmannro/assert.sh
Maybe the two don’t have to be mutually exclusive: Michael MacInnis: Oh a new Unix shell - BSDCan 2018
Though, that said, I’d personally gravitate more towards DSLs than traditional shells if I were to choose.
Installing Ubuntu 18.04 on my new Alienware 17” R5 laptop! Totally love the hardware. It’s very reminiscent of the early 2000s era 17” Power/Macbooks I fell in love with. A really nice non squishy keyboard with actual key travel and tactile feedback, really superb build quality and a GORGEOUS display.
Two issues remain to be tackled: 1) I’m clueless about UEFI / EFI boot and need to figure it out. Grub install failed and apparently from workarounds I’ve seen posted I need to create a small EFI “boot” partition on my boot SD. 2) I need to get the trackpad working. Posted workarounds from earlier revs seem to indicate it’s fairly standard Synaptic fare and a couple of tweaks and a mobprobe or two should get it working.
I am positively stoked to be able to play with Linux desktop software again. It’s been almost 10 years and HOLY GUACAMOLE BATMAN have things improved!
Super grateful to whoever at Canonical coded the accessibility features I need. I literally can’t even computer without them :) (Full screen zoom and adjustable text size in every UI component).
FWIW I really like Overcast, an independent mobile podcatcher (iOS/web) https://overcast.fm
Anyone else have a podcatcher they recommend?
I use antennapod. I’m a heavy podcast listener, 3h of traffic everyday, 100 hours a month.
The application doesn’t limit itself to itune you can also search on https://www.gpodder.net/ and others, or still add your own RSS feeds. It’s open source, so no ads and only good features that the people use.
I’ve used them all and for IOS Overcast is the clear winner IMO. I wish they’d polish their web player a bit but other than that it’s totally fab.
Here’s my issue with this article. The author posits that most podcatchers will remove the ability to subscribe via a URL.
This makes no sense to me at all. There are many cases where people might want to listen to podcasts not offered through GOOG or APPL.
Every podcatcher I have access to still supports and explicitly provides options for this.
Op here,
I’m saying “I won’t be surprised if these apps gradually and silently remove this feature”. Of course, I can’t know this, but this is what I’m afraid of. And I don’t think it’s that crazy to imagine.
It’s a valid concern. I guess I feel like as long as there’s any kind of application ecosystem on a given device, there will always be a podcatcher that allows subscriptions via bog standard RSS URL.
I subscribe to a lot of RSS feeds, including podcasts and there’s been a worrying trend over the last year or two where new podcasts don’t even provide a direct RSS/Atom feed.
You have to visit their site to download the mp3 manually like some kind of animal. Or worse still, they make some stupid javascript widget or expect you to use a 3rd party app, or they proudly say it’s on itunes - which doesn’t expose the RSS feed - I had to write a scraper to get the RSS feed from the itunes page myself.
Same with blogs too. So many blogs now don’t have a feed. You’re expected to go to the site to check for new content.
The slow demise of RSS/Atom is a really worrying situation fo me and very few people seem to care.
That is disappointing, and surprising given that there are companies like Feedly and Flipboard among others whose sole business relies on consuming RSS-ish feeds.
How was the author saying that? Sounded like they were saying the other way around, if a podcaster posts just over RSS on their site then users on just Apple won’t see it on Apple by default.
I think you’re conflating two things.
There are two problems here:
Oh you said podcatcher. I read that as podcaster because I never heard of it called a podcatcher but that makes sense now.
I built a company on a .net stack a long time ago; it was fine. The biggest problem is SQL Server used to cost a lot of money and was kind of a waste in the face of postgres. As far as the programming ecosystem; C# as a language is great, but so much of the standard library and 3rd party libraries are old and crusty. Some were legitimately great though, like Dapper for talking to the DB, and ASP.net MVC was a decent web framework.
Yup. Licensing cost is the elephant in the room here. SQL Server, Windows Server itself, IIS, it all adds up pretty quick, and if you’re running a startup, paying for such licenses at scale is maybe not so attractive.
Exactly. Its unclear why you’d pay for SQLServer and IIS when postgresql and apache or nginix cost nothing to license. Many people would argue that the latter are superior anyway. There are plenty of companies that will provide paid support for those products too.
OK this site has THE MOST obnoxious “HEY AGREE TO ACCEPT OUR COOKIES, DAMMIT!” mechanism EVER.
I’m partially blind, and all I saw when surfing to this article was that the screen was way diimed and nothing I did seemed to fix it.
Then, at the VERY top of the screen, in TINY text was the !@#$ thing to accept cookies.
https://github.com/ryanbr/fanboy-adblock/blob/master/fanboy-cookiemonster.txt
Integrated in at least uBlock Origin as “Fanboy’s Cookiemonster List”.
hey at least they asked right?
cause it’s totally impossible to just set an option in your web browser to not save cookies (….well it used to be possible, but it’s not anymore because then you can never get past these nag boxes)
That’s like saying “They beat me down, tied me up and then asked if I’d like to come with them.” :)
I am Not a Web Developer, but can someone with a clue help me understand how the author can mix server side and client side Javascript frameworks while making his “FRAMEWORKS BAD!” point?
If he were to restrict himself to Javascript I could see his point, but IMO tarring all web frameworks with the same brush feels less than useful to me.
For instance, frameworks like Django and Rails are superlative tools for building simple CRUD apps which require very little in the way of custom interface. Does anyone really dispute that?
There’s is a new trend now (which i don’t like), it’s to do everything on the client side – except, in most cases, but not always unfortunately, authorization.
So basically people write “micro services” which just served raw data. You can see that as SQL/KV-Store/<whatever database> over HTTP. Because they’re using micro-services “like google in their last blog-post explained”, you can scale the software better in terms of development effort, and request load. (like Facebook said in their blog posts as well) Even though, the software will never be developed by more than 3 devs, and will never have more than 100 concurrent users.
Also because the “micro services” still use MySQL in the background, you will still have a bottleneck on your SQL server (but that’s fine because the “micro-services are stateless” like Amazon recommended in their blog post)
The climax of this trend is GraphQL.
So basically, now, you have this data backend, but you need to create hyper-linkable routes, with rendered HTML data for each routes, forms to insert/update new data, and so on… (What Django and Rails would do: CRUD) So people use full client side Javascript framework to do so.
The real advantages are that:
PROFIT!
While there are definitely some former designers working in JS on the client side, it’s far from the majority. And if you want a client side application done well, you can’t just hire cheap “frontend engineers” or you get a mess like you used to have. You should still unit and integration test aside from e2e test on the client regardless of what the server side is.
We can’t really argue on this, because there’s no data back up any of our points. I don’t claim that all “frontend engineers” were designers. I know that my original comment was implying it, but I was making the generalization as part of the joke/satire tone of my original comment.
The bottom line is: you’re right, there are many frontend engineers who have real engineering background (many people working on react.js, or on facebook’s frontend, the designers of Elm, …) However, I disagree when you claim they’re are the vast majority.
I don’t have any number to back up my claim, but that’s true: if you just read comments and pull request on Github’s react.js project, you might think “most frontend engineers are engineers.” However, I haven’t seen that in my experience working with many companies: JavaScript is considered a toy language, very junior (with no experience) engineers are hired. Or former designers who could figure jQuery now write full single page application (in react or angular)
The result in general is a buggy result, with no tests, all the possible bad practices, okay working. And when “the guy” (or “the gal” doesn’t matter) leaves the next “frontend engineer” just rewrites it. (and the next, and the next, …)
I’m not sure on your experience, but I’ve worked at a lot of companies and I’ve only heard a few elitist types of individuals who called JS a toy language or assumed just anyone can do it. I’ve heard that on the server side when it comes to PHP from the same types, though.
I think you’re being unnecessarily harsh on client side work in general when server side work is often just as buggy, untested, and just enough to “work” now and again to keep the team going with the worst possible practices. It’s not a client vs server thing, it’s just a fact of working in the “engineering” umbrella.
That said, I’ve worked with a ton of people who never went to school for CS or anything even related (myself included) who don’t even consider themselves engineers. My title says it, but that only changed within the last 5 years or so. It used to say “developer.” It’s a marketing thing for companies to say devs are “engineers” because people attach some significance to that term, but not to “developers.”
You couldn’t be more right on this ine. I am working as a freelance developer and the last 3 out of 5 projects were exactly that: Throwing buzzwords around, glueing stuff together. Using micro services but still have so many dependencies between each module that it’s basically a harder to seploy monolith.
I’m currently building one of those websites that does everything in the frontend. There are a bunch of real advantages. My primary reason was I want to write a very efficient server app for when I get more usage but for now it would be best to continue using rails because thats what I know best so I want the backend to be fairly easy to replace later and not having any app logic in it makes that a whole lot easier. The backend is mainly just an api over a database which validates things the client sends.
Another advantage is you get a rock solid, complete API for other people to use with no extra effort. Most online services have websites that do things that simply can not be done via the API. When making an app that just exchanges JSON with the server you end up with an API that can do everything the website can. Someone else could make an alternative website using my backend and there would be no issues.
Also after the first page load it will actually require less data sent over the network because the whole website logic is cached and only a tiny bit of json is sent on page loads.
Of course there are many advantages. I don’t deny them: no reload is cool, having a universal API is nice, heavy caching of the static assets is awesome, …
But there are many disadvantages:
That’s just the technical side. What I’ve seen is the mess it brings on the human level. Of course in you’re case if you’re alone, or with compatible developer, it will be smooth. But I’ve seen teams split by management or the employees themselves.
Either management says “we need to share the work load, let’s have a ‘frontend team’ and a ‘backend team’.” Or, in some other case, the employees have the mindset “I’m a frontend dev, I don’t do Python”, “I do backend, not javascript”, … In both cases, you have huge friction “when do you send when I request that?”, “you told me you added this feature but it doesn’t work on staging!”, …
Thanks for the comments. Those are some pretty good points. I’m currently working on this myself and just working things out.
Was SEO finally fixed? When I was still on the topic people used to serve an alternative page to google to get indexed. I heard that now google was running a full javascript engine in their crawlers. Is that fixed now? I haven’t checked further. You might say “We don’t care about SEO”, but as a user of your website, I want to be able to use google/bing/duckduckgo instead of your badly performing internal search engine when I’m looking for content.
I’m not really sure but my website doesn’t really have much searchable stuff anyway. It’s mainly based around maps where 90% of the data you look at is uploaded by you.
You will most definitely break on legacy browsers (IE6 which is still used in China), or text based browsers. (Lynx, w3m, …)
I’m not really concerned about this as my mapping library also doesn’t work on these also my website is probably automatically banned from china for being not hosted there.
Your single page application (SPA) might not have all the correct aria elements for disabled people and screen readers: If you just do links and buttons with label, most screen readers will get it right.
The framework I am using makes it very easy to control the HTML that gets generated so I have had no issues making accessible pages
Overall it’s worse in some ways and better in others. I’m not sure if its the best way to do things but it has been a great learning experience.
If you do something with maps, heavy interactive (like google maps), and very little text. I think you don’t have any other choice: doing single page application is fine. (and maybe best)
In most cases, I’ve seen people write CRUD single page application. (Like an ERP) I consider that non-sense.
Nah, the whole reason things like Flash and Java applets failed and were ultimately bug ridden is that they represented totally different sub-platforms from the web itself.
In 2018, Javascript is as much a part of the web as HTML, so WebAssembly gets to benefit from all the incredibly hard work that goes into sandboxing and security around the browser platform.
Nah, the whole reason things like Flash and Java applets failed and were ultimately bug ridden is that they represented totally different sub-platforms from the web itself.
That is one of the points that I attempted to make in the article.
I am totally guilty of posting before reading, but I just read it and it’s an excellent article!
As an adjunct to your point around both adding additional paradigms and platforms to the already perhaps too rich web platform, Java applets had the disadvantage that the Java folks kept trying to switch frameworks. Started with AWT, then hey let’s implement Swing in applets, then let’s try that other thing whose name I can’t remember … JavaX maybe?
shudder I hear tell that MSIX is better than Installshield, which is / was AWWFUL.
Its built in BASIC like language still gives me nightmares.
This was from 2012. Arguably, we’re already there. Tons of popular computers run signed bootloaders and won’t run arbitrary code. Popular OS vendors already pluck apps from their walled garden on the whims of freedom-optional sovereignties.
The civil war came and went and barely anyone took up arms. :(
It’s not like there won’t always be some subset of developer- and hacker-friendly computers available to us. Sure, iPhones are locked down but there are plenty of cheap Android phones which can be rooted, flashed with new firmware, etc. Same for laptops, there are still plenty to choose from where the TPM can be disabled or controlled.
Further, open ARM dev boards are getting both very powerful and very cheap. Ironically, it might even be appropriate to thank China and its dirt-cheap manufacturing industry for this freedom since without it, relatively small runs of these tiny complicated computers wouldn’t even be possible.
This is actually the danger. There will always be a need for machines for developers to use, but the risk is that these machines and the machines for everyone else (who the market seems to think don’t “need” actual control over their computers) will diverge increasingly. “Developer” machines will become more expensive, rarer, harder to find, and not something people who aren’t professional developers (e.g. kids) own.
We’re already seeing this happen to some extent. There are a large number of people who previously owned PCs but who now own only locked down smartphones and tablets (moreover, even if these devices aren’t locked down, they’re fundamentally oriented towards consumption, as I touched on here).
Losing the GPC war doesn’t mean non-locked-down machines disappearing; it simply means the percentage of people owning them will decline to a tiny percentage, and thus social irrelevance. The challenge is winning the GPC war for the general public, not just for developers. Apathy makes it feel like we’ve already lost.
Arguably iPhones are dev friendly in a limited way. if you’re willing to use Xcode, you can develop for your iPhone all you want at no charge.
Develop for, yes, within the bounds of what Apple deems permissible. But you can’t replace iOS and port Linux or Android to it because the hardware is very locked down. (Yes, you might be able to jailbreak the phone through some bug, until Apple patches it, anyway.)
Mind you, I’m not bemoaning the fact or chastising Apple or anything. They can do what they want. My original point was just that for every locked-down device that’s really a general-purpose computer inside, there are open alternatives and likely will be as long as there is a market for them and a way to cheaply manufacture them.
Absolutely! Even more impressive is that with Android, Google has made such a (mostly) open architecture into a mass market success.
However it’s interesting to note that on that very architecture, if you buy an average Android phone, it’s locked down with vendorware such that in order to install what you want you’ll likely have to wipe the entire ecosystem off the phone and substitute an OSS distribution.
I get that the point here is that you CAN, but again, most users don’t want the wild wild west. Because, fundamentally, they don’t care. They want devices (and computers) that work.
Google has made such a (mostly) open architecture into a mass market success.
Uh, I used to say that until I looked at the history and the present. I think it’s more accurate that they made a proprietary platform on an open core a huge success by tying it into their existing, huge market. They’ve been making it more proprietary over time, too. So, maybe that’s giving them too much credit. I’ll still credit them with their strategy doing more good for open-source or user-controlled phones than their major competitors. I think it’s just a side effect of GPL and them being too cheap to rewrite core at this point, though.
I like to think that companies providing OSes are a bit like states. They have to find a boundary over how much liberty over safety they should set, and that’s not an easy task.
This is not completely true. There are some features you can’t use without an Apple developer account which costs $100/yr. One of those features is NetworkExtension.
friendly in a limited way.
OK, so you can take issue with “all you want” but I clearly state at the outset that free development options are limited.
Over half a million people or 2 out of 100 Americans died in the Civil War. There was little innocent folks in general public could do to prevent it or minimize losses Personally, I found his “civil war” to be less scary. The public can stamp these problems out if they merely care.
That they consistently are apathetic is what scares me.
Agreed 100%.
I have no idea what to do. The best solution I think is education. I’m a software engineer. Not the best one ever, but I try my best. I try to be a good computing citizen, using free software whenever possible. Only once did I meet a coworker who shared my values about free software and not putting so much trust in our computing devices - the other 99% of the time, my fellow devs think I’m crazy for giving a damn.
Let alone what people without technical backgrounds give a damn about this stuff. If citizens cared and demanded freedom in their software, that would position society much better to handle “software eating the world”.
The freedoms guaranteed by free software were always deeply abstruse and inaccessible for laypeople.
Your GNOME desktop can be 100% GPL and it will still be nearly impossible for you to even try to change anything about it; even locating the source code for any given feature is hard.
That’s not to say free software isn’t important or beneficial—it’s a crucial and historical movement. But it’s sad that it takes so much expertise to alter and recompile a typical program.
GNU started with an ambition to have a user desktop system that’s extensible and hackable via Lisp or Scheme. That didn’t really happen, outside of Emacs.
Your GNOME desktop can be 100% GPL and it will still be nearly impossible for you to even try to change anything about it; even locating the source code for any given feature is hard.
I tried to see how true that is with a random feature. I picked brightness setting in the system status area. Finding the source for this was not so hard, it took me a few minutes (turns out it is JavaScript). Of course it would have been better if there was something similar to browser developer tools somewhere.
Modifying it would probably be harder since I can’t find a file called brightness.js on my machine. I suppose they pack the JavaScript code somehow…
About 10 years ago (before it switched to ELF) I used Minix3 as my main OS for about a year. It was very hackable. We did something called “tracking current” (which apparently is still possible): the source code for the whole OS was on the disk and it was easy to modify and recompile everything. I wish more systems worked like this.
Remember when the One Laptop Per Child device was going to have a “view source” button on every activity?
Gotta wonder if this might actually work in our favor with the current de-regulation crazy administration and congress in control?
Thinking about it, I think they’re even MORE BigCorp crazy, so that will Trump the first impulse.
People that want open systems actually buying open systems would be a start. Right now, they buy the closed systems for various advantages they have. Most didn’t start that good, though: they got there through years of R&D and improvements fueled by selling their product. The open products can only get there with our help.
Although RISC-V is current favorite, there was also non-Intel CPU’s with Open Firmware. A few were even GPL at various times. People didn’t buy them when they were available since a volume product from Intel/AMD/ARM/MIPS was (insert trait here). Between that and prior failures (eg BiiN, Itanium), investors stopped fabbing them since they thought nobody would buy them. Advocates of ethical, open hardware didn’t pool money together to get that started either.
Absent regulations, it looks like the market is getting exactly what it should expect buying goods from evil, scheming companies. Then, some of them gripe about the evil schemes that follow. The market side of solution remains: start and/or buy open and/or ethical solutions. For long-term assurances, buy from companies or nonprofits chartered to stay open, avoid lock-in, etc.
Although RISC-V is current favorite
I looked at Risc-V boards, but all the currently available devices have firmware blobs for various non-CPU components on the board. From a purist perspective, Hi-Five’s board is hardly better than most ARM boards. I am very hopeful for the future of Risc-V, though.
The market side of solution remains: start and/or buy open and/or ethical solutions.
This is arguably happening. The problem is that so few devices meet a purist’s standards, so you typically have to compromise in one way or another. There are a few online stores that traffic in Thinkpad X200s and Asus KGPE-D16s. And of course the Talos II has finally made it to market.
Although true for purists, pragmatists might take the blobs if the open core had stuff like IO/MMU to mitigate some risk. There’s definitely stuff happening on demand side. That’s good news.
I’m always super cautious about ascribing concepts like good or evil to corporations. Corporations exist to make money. Some corporations have figured out that maximizing value to their customers can also mean being good citizens in the ecosystems, nations, and PLANETS in which they operate.
I mean, what this really boils down to is: Is capitalism inherently bad? I almost feel like this impulse towards “Profit = EVIL” should go down as one of the biggest geek social myths of all time.
While I’d love to live in some kind of luxury space communism based society where material things are essentially valueless and we can all have whatever we want whenever we want, we’ve a long way to go before we get there.
(And don’t start talking about how we can 3D print everything now, because we can’t. We can 3D print more and more things every day, but it’s neither easy nor cost effective when you get away from the kinds of plastics that have been commoditized for that purpose.)
There exist companies like System76 and Purism that cater to the “truly open” market, but the fact is most people simply don’t care and arguably they SHOULDN’T care so long as their needs are being met.
“totally open” only matters to us mad scientist types who want to tinker with EVERYTHING. I agree that our needs should be met too, but we shouldn’t project our needs onto the market at large.
“totally open” only matters to us mad scientist types who want to tinker with EVERYTHING
Openness also seems to matter to the cloud business? Judging by Google’s interest in things like LinuxBoot and POWER at least.
The topic of this article (and hopefully this discussion :) is general purpose computers. As in, a computer you can walk up to and run random programs on.
Nobody disagrees that openness is important. Lobsters wouldn’t exist without open source, and the Linux universe a huge chunk of us make our living off of depends upon it as well, but SPECIFICALLY talking about general purpose computers that humans buy to perform every day tasks, I’d argue that having a 100% open architecture is utterly meaningless to easily 99% of their userbase.
Do remember the cloud business is already customizing boards and maybe even chips on a regular basis. Intel and AMD allow that through their semi-custom service. The ARM and MIPS suppliers stay doing that. They’re seriously performance, feature, and cost competitive on top of it with low-level optimizations being part of that. Put it all together, there’s good reasons for cloud market to look into open CPU’s. I think they’ll need to be fully-built, cost-effective performance, and support easy addition of acceleration engines. Cavium is in best position to do a RISC-V SoC like this but they did MIPS and ARM for ecosystems instead.
(Waited till I got home to respond to this. It deserves more effort. :)
It’s good to be cautious about it. There’s all kinds of ways to look at morality. I feel you on that. As I thought about it, I realized there was a lot of common ground among the majority of people. Focusing on that could help.
So, an easy one to leverage that’s already established in our intuition and legal system is fraud. An evil company promises one thing to the seller but doesn’t deliver it at all or as promised. This might be performance, quality, support/service, or something where screwups are easy to assess. An extension of this is the company tries to use legal or technological means to prevent customers from assessing that or shut down negative reports. I mean, a fundamental assumption for the market for goods is you should know what you’re getting, have a chance at assessing its value, and complete a transaction on it.
We could nail lots of companies with just that rule. Especially in EDA or embedded SoC’s where they try to use NDA’s on all kinds of things. From there, I might add protocols or storage formats have to be open to block lockin. It also preserves competitiveness by allowing solutions to be plug and play. We might also reduce copyright, patent, or EULA restrictions on basis that owners only get such protections if they’re acting reasonable. One example is Oracle wanting a billion dollars for a few lines of code in a system depending on millions of them or twenty something per phone when profit is around thirty with their patent being one of 250,000. Obviously, these numbers in no way represent Oracle’s contribution to the platform. Even a dollar a patent would be more than the funding of a startup in that sector. We can look at stuff like that, even progressive schemes where people pay as they grow. We can be flexible. Thing is, the greedy companies are so epically full of shit that even basic, common sense stuff will knock out lots of their schemes while minimally affecting well-run companies or true innovators.
“Is capitalism inherently bad?”
Yes if you’re going by the interpretation of always increasing gain for yourself at expense of others with no limit. It provably leads to evil on a massive scale. When you combine that with capitalist media, it gets worse in a self-sustaining way. One [biased] source I like on it just for the anecdotes is the documentary The Corporation. I listed some highlights from it in this comment answering a similar question.
“There exist companies like System76 and Purism that cater to the “truly open” market, but the fact is most people simply don’t care and arguably they SHOULDN’T care so long as their needs are being met. “totally open” only matters to us mad scientist types who want to tinker with EVERYTHING. “
The people who built the proprietary systems of the richest, tech companies usually had source and/or hardware control. The creatives probably wouldn’t do as good a job if their already-paid service started showing them ads more often. The TPM-powered solutions industry wanted stopping most forms of sharing, making you pay for stuff multiple times, not letting you record stuff, and so on would probably be opposed by the masses. Most companies locked in to inferior products that they built stuff on long ago don’t like that fact so much as tolerate it out of necessity. It hurts their ability to move fast and profit off of things.
You can find a lot of damage that always-closed platforms do vs open, tinkerable ones if you focus on peoples needs, wants, and goals. A well-designed, commercial platform that had source where third-parties can extend or integrate it will always have more potential for those people than one that’s arbitrarily limited. People don’t care since tech people don’t speak their language focusing on their goals. I’ve been learning to do that over past few years. I mean, it will still be an uphill battle. I’m just saying things like I just wrote get “Oh yeah, that’s aggravating!” or “That could be really cool!” reactions from people instead of blank stares wondering whether to be impressed, confused, or annoyed by impenetrable jargon or politics that can’t mean anything in real world. If value proposition was same, people almost always prefer the device which also let them fix it cheap, customize it easily (maybe via friend or company), not leak their stuff, and not force unnecessary upgrades. Or make them buy a new charger. ;)
There are more people that care about “totally open” than tinkerers. You have a coalition between tinkerers, people who believe closed source software and/or lockdown is unethical, and people for whom blobs pose an unacceptable security hazard.
Raptor is apparently a major customer of their own Talos II product, due to untenable security concerns around unauditable blobs on x86.
As to the confluence you speak of - the people in your first paragraph still amount to no more than 1% of the consumer computing market.
As to the next paragraph about companies embracing open - speaking as a worker bee in the employ of a rather large corporate overlord, I can say from experience that there are many varieties of “open”.
There’s “We have published full specs, firmware, circuit diagrams, and microcode on Github”
And then there’s “We will provide YOU, $MEGACORP with source code and materials to all of our products so you can conduct a full security audit”. This happens a LOT.
What I wish is that these companies were smart enough to simple SELL the damn things as-is rather than forcing people to buy them as part of their product / store / whatever.
I’d be perfectly willing to pay a modest sum for retro ROMs. They represent man and material hours put forth by the company when they were made, and they deserve recompense for that.
However I will not buy a Switch or whatever.
I am a HUGE fan of retro computing, but I’ve gotta say. I just don’t care.
Microsoft “stole” from IBM, IBM “stole” from Honeywell, EVERYBODY “stole” from Von Neumann, and his ideas were a cheap knock off of Babbage.
(OK so not really but you get my point.)
This makes sense. I adopted WSL recently because my corporate overlords will let me remote in using a Windows 10 AWS workspace.
WSL overall is an impressive piece of work but the Windows Console is… Challenging. It’s the single biggest fly in my WSL ointment.
Tools like ConsEmu and Cmder help but can’t address the underlying slowness of the APIs in question. I suspect it may be the fact that the windows console isn’t just a text entity. With things like ConsEmu you can actually embed “simple GUI apps” like PuTTY into the console AFAICT.
Key blocker for me that I hope they fix/improve is basic inability to select multiple ages of text from the console to be pasted elsewhere.
This is a real pain for me since our workflow is - run command, copy&paste output into a web form, lather, rinse, repeat.
This post provided a usable workaround - mainly piping to clip.exe and I’ve been hobbling by with that, I defintely do miss Terminal.app/iTerm2!
FWIW, I pipe to xclip even on Linux (and pbcopy on macOS). It’s not like copy&paste is pleasant elsewhere.
So, yeah I see where you’re coming from, but cutting & pasting in iTerm2 / Terminal is LIGHTNING fast and super responsive. I can bulk select several pages of text, cut and paste. Boom. No problem.
Try that in a Windows console, sadness will ensue.
Your post gave me an idea though, I can use the logging functions of screen to best advantage. Start logging (C-b -H) run invocation, stop logging (C-b- C-H) suspend that screen session, copy log to WSL host, then delete. Then on the WSL side just cat log | clip.exe and delete. Lather rinse repeat.
Microsoft lets you download a Windows 10 ISO for free now; I downloaded one yesterday to set up a test environment for something I’m working on. With WSL and articles like this, I thought maybe I could actually consider Windows as an alternative work environment (I’ve been 100% some sort of *nix for decades).
Nope. Dear lord, the amount of crapware and shovelware. Why the hell does a fresh install of an operating system have Skype, Candy Crush, OneDrive, ads in the launcher and an annoying voice-assistent who just starts talking out of nowhere?
I’ll give you ads in the launcher – that sucks a big one – but Skype and OneDrive don’t seem like crapware. Mac OS comes with Messages, FaceTime and iCloud; it just so happens that Apple’s implementations of messaging and syncing are better than Microsoft’s. Bundling a messaging program and a file syncing program seems helpful to me, and Skype is (on paper) better than what Apple bundles because you can download it for any platform. It’s a shame that Skype in particular is such an unpleasant application to use.
It’s not even that they’re useful, it’s that they’re not optional. I’m bothered by the preinstalled stuff on Macs too, and the fact that you have to link your online accounts deeply into the OS.
I basically am a “window manager and something to intelligently open files by type kinda guy.” Anything more than that I’m not gonna use and thus it bothers me. I’m a minimalist.
I am too, and I uninstall all that stuff immediately; Windows makes it very easy to remove it. “Add or Remove Programs” lets you remove Skype and OneDrive with one click each.
Free?? I guess you can download an ISO but a license for Windows 10 Home edition is $99. The better editions are even more. WSL also doesn’t work on Home either. I think you need Professional or a higher edition.
Yup. Works great on Home according to this minus Docker which you need Hyper-V support for.
https://www.reddit.com/r/bashonubuntuonwindows/comments/7ehjyj/is_wsl_supported_on_windows_10_home/
I always forget about this until I have to rebuild Windows and then I have to go find my scripts to uncrap Windows 10. Now I don’t do anything that could break Windows because I know my scripts are out of date.
It’s better since I’ve removed all the garbage, but holy cats that experience is awful.
I use my laptop keyboard (13” macbook). I’m probably not as intensive a hacker as the rest of you because that’s what I’ve used for over a decade now (just have changed macs). I tried out “DasKeyboard” and found it annoyingly loud. Plus, the temptation to use it to whack someone over a “tabs/spaces” debate would be dangerously high. (edit I see @alexkorban and I make a team :) )
You must have WRISTS OF STEEL.
Those Apple laptop keyboards, at least the newer ones, are the squishiest awfullest (IMO :) key feel EVER in the history of keyboards.
Only keyboard that eclipses them is the membrane keyboard of the Atari 400 (Which I blame for giving me the propensity to POUND THE FRACK out of the keys :)
Model M reporting in.
I’d like to find something new, but – and for reasons I haven’t investigated or discovered – even newer versions of the keyboard, where they claim to use the same switches, don’t feel the same. I wonder if it’s like leather shoes and I’ve simply developed a preference for the worn-in feeling.
The rest of the time, I use whatever keyboard is on my laptop (I have a MacBook Air 11” that is great for programming but aging, and a MacBook 12” with the shitty disgusting butterfly keyboard)
Another Model M user here—I use Model Ms on everything, including the Mac laptop at work (which rarely moves off the desk). It’s kind of funny to see the cable with two adapters, one to convert from DIN to PS/2, and then from PS/2 to USB.
I also have a stash of Model Ms at home that I’ve collected over the years, but frankly, the ones I use have yet to wear our, so I’m probably set for life.
Nothing tech related, but interesting nonetheless - I’m helping my wife prepare a fairly large trove of WW2 era photographs and correspondence from her grandpa who was an MP and served through most of the European campaign, including the liberation of the concentration camps. Heady stuff, but amazing, and I’m super glad it’s going to be preserved for scholarship in posterity.