few questions:
So, to answer your questions:
If you’re using an authentication provider then no, it won’t really help, although… In my recommendations I mention using patterns like adaptive multi-factor authentication to re-prompt for a second factor when changes are detected – this is something Okta provides. I’m not too familiar with auth0/cognito, they might also have this functionality. So that can help a bit.
There is honestly no way to have a stateless backend service without revocation. The best you can do is maintain a cache where in the cache you store any invalidated JWTs and check each request against the cache. This is a pretty common pattern.
But, re: stateless backend services, one thing I like to think about it is the security vs speed tradeoff. You basically have two options: either guarantee security so you aren’t servicing revoked tokens or guarantee speed and not bother with it at all. If your architecture has backend-only services that aren’t exposed to users, going for the speed tradeoff might be worth it since you’re in a trusted environment. But, if your API is servicing end-users it’s probably better to go with the approach mentioned above so you don’t run into issues :x
I saw the author talk on turning the database inside out and that was majestic. I’m glad there’s a book. I owe him the investment just for the mind opening he provided me with that talk.
Security is a commodity, like any other. You can totally pay people to handle the hard bits for you, and they’ll do a good job.
Even basic security by way of hosted platforms like Heroku and Amazon and email providers is reasonably paid for.
Well it depends on how you look at it. From a global perspective, having non experts reinventing the wheel is more expensive and dangerous than using a prefabricated solution as cognito, auth0, okta and such. Considering that proper security is a full time job, commoditization of it can be the sensible thing to do.
If I were to graph the costs as function of requests, serverless (all inclusive) will be an exponential of sort, whereas EC2 etc are more linear/step function. The obviously hard part, is to figure out which one is lower for your business at any time. I’d be curious to see some aws metric/alert magic + autoscaling to shift the traffic between the two architectures depending on load/requests.
Org could be one component of a solution for this, but on its own it lacks: a way to edit via mobile/other devices, any means of uploading images, a blessed rendering path (there are many ways to render/export org files into something for display).
For instance, one solution might be to use Org’s “publish” feature. You could render to HTML, push that to some web host somewhere with rsync (that handles viewing on other/mobile devices). For editing you could sync your org source files (and any org-rendered images via things like plantuml, as well as static images) with something like syncthing/git/Dropbox/Box/iCloud/OneDrive etc. in combination with a non-Emacs editing app like Beorg (iOS) or Orgzly (Android).
That would be a workable and powerful system, but I think we have to admit it’s not as simple to use as just clicking “edit” in a wiki page from something like dokuwiki/mediawiki :-)
I’ve found I don’t do any significant note editing on the phone - just capture.
So I use Google Photos + Orgzly + Syncthing + emacs. It used to be MobileOrg, and I started with org ~2005, so these files got bones.
I love orgmode and use it on and off but last I looked sharing it was read-only and meant exporting the static document or running something (node, ruby) that parses the format on the fly.
The UI for phones and tablets is fundamentally different from the desktop. Mobile UI has to be optimized for using your fingers, while desktop UI is optimized for mouse and keyboard. I think that UIs need to be developed specifically for the device form factor and input methods. The concern I’d have here is that you end up with a lowest common denominator UI that’s passable on both mobile and desktop, or worse one that’s optimized for mobile and works on the desktop as an afterthought.
Targeting the MCD is a very common trend lately. It seems to me the most common solution employed by every unimaginative administration board to please shareholders. It is an easy strategy: make more money by widening the market, and cater to all. It does not matter if the taste is dull. See Hollywood movies, videogames (destiny 2 :( ), and democracy. If this trends were to be taken for food, we all will be eating porridge.
So little surprise here, Apple is definitely lacking vision and a strong leadership after SJ death. And they only seem to care about shareholders.
If this trends were to be taken for food
One well-known VCistan’s company called Soylent actually tried this for food.
Almost all of my time right now is on fiction (Farisa’s Courage). I’m reading Self-Editing for Fiction Writers. I want to get everything right before I send to an editor or a publisher.
I’m really looking forward to read it! Can I ask what kind of fiction? Sci-fi ? if it is not a spoiler, does it contains a programmers union? ;)
Steampunk. 19th-century tech level. Set in a world where the tropics are uninhabitable (52°C equatorial temperature, as opposed to 27°C in our world) so the two hemispheres have diverged. First book in the series is N. Hemisphere.
Since it’s not at the right tech level, it does not contain any programmers or a programmer’s union. But, the antagonist is a company (the Global Company, owning 70% of the world’s wealth) that started out as in witch hunting and (like the real-world Pinkertons) violent suppression of labor. There are plenty of hits on 21st-century corporate culture, and there’s a minor antagonist named after two SV personalities.
aws devops pro certification. Company requires it for partnership agreements w/ aws, so despite my profound aversion to certifications, I’ll have to bite my tongue and study.
“Hair spaces” are new to me: http://www.fileformat.info/info/unicode/char/200a/index.htm
I can’t wait for april 1st and unleashing a YAML formatter that uses a mixture of whitespaces, tabs and hair spaces over our full ansible stack. MUHAHAAH
Put some of these in a JSON file for extra laughs.
Unicode 2028 and 2029 are valid unescaped whitespace in JSON strings but not in javascript strings!
I think Apple’s headed down a bad path. There hardware, though polished, is laughable from a usability standpoint for many people. Their software is buggy, bloated, fractured and slow (which is the main reason I switched to Linux 3 years ago - I’m much happier now). They’re going to lose out in the content game to Amazon or Google.
Their “innovations” are parlor tricks that have no practical use (which wouldn’t be true if they just freaking opened up to developers more - let someone else figure out how to make their dumb products useful).
I don’t get how they’re so blind to it all - sure it makes money, but it isn’t sustainable. I’m guessing within 10-15 years, they’ll disappear into oblivion again.
There hardware, though polished, is laughable from a usability standpoint for many people
*Their. And I still haven’t seen hardware as quality as a MacBook Pro since my 2007 ThinkPad T61. Please, direct me to it.
There software is buggy, bloated, fractured and slow (which is the main reason I switched to Linux 3 years ago - I’m much happier now)
*Their. And I find Apple software is power-efficient, reliable, and well integrated. For everything else, there’s brew. I switched off Linux 3 years ago because I couldn’t stand how buggy the desktop environment was. Now I try to use Linux as little as possible because the kernel itself drives me bonkers. What sane developer would use an operating system without dtrace? Just BSD for me. Although in fairness to Windows, the Microsoft debugging and development tools are phenomenal.
They’re going to lose out in the content game to Amazon or Google.
Amazon video is abysmal to use. Google Play Music only seems good on operating systems where you have no desktop apps, like Linux. Apple Music and Spotify are both far better than GPM. iTunes has been the top online music vendor since release.
They’re “innovations” are parlor tricks that have no practical use (which wouldn’t be true if they just freaking opened up to developers more - let someone else figure out how to make their dumb products useful).
*Their. I love my Apple Watch actually. So do my friends. Apple should open up more, like Android? I had the Nexus 4 and the Nexus 5, they were garbage. My iPhone 6s+ is much better. My best friend is a die hard Android lover, and carries an iPhone for work, guess what? 9 times out of 10 he uses his iPhone when he needs to do something. His Android is just a toy at this point.
I hear this story over and over. Android is pretty neat, but when it comes down to it I need my phone to do certain things well. My friends are some of the most die-hard dorks around, but even most of them have given up on Android. It’s too much work when phones are so fundamental to our lives now. You can only interact with a laggy UI for so many hours a day before you hit up the Apple Store.
It’s the same concept with Linux on the desktop. You can only give up so many apps before you go get a laptop with a real desktop operating system. I did Linux on the desktop for 9 years, it’s not like I have no experience. I ran dozens of distros, every major desktop environment. I even was one of the lucky few who had Flash AND Pipelight working. But it’s not enough.
I don’t get how they’re so blind to it all - sure it makes money, but it isn’t sustainable.
They probably aren’t blind to it. They can see that sales are down these last few quarters, any loser can put 2 and 2 together from that. Maybe it has something to do with the recent upswing of quality from Microsoft. Windows 10 is pretty nice.
EDIT: wow. this got longer than I was expecting :P
Oop - thanks for the grammar corrections - I swear, I’m normally better with it. I need coffee :P
And I still haven’t seen hardware as quality as a MacBook Pro since my 2007 ThinkPad T61. Please, direct me to it.
Are you talking about the new MacBook Pro? ‘cause a dual core processor and 8 GB ain’t gonna cut it for any power user or developer who uses multiple VMs at a time or works in Java. That combined with a wonky battery means an aesthetically pleasing design with no real power. I’ll grant that their older designs were awesome - the MacBook Air is great (currently writing this reply on an Asus ZenBook which is a complete ripoff of the Air’s design - I love it). Their old MacBooks were great too. I just don’t see it in their newer ones, and I’d argue that they’ve jumped on USB-C too fast. You know there’s a problem when you can’t buy a new MacBook and a new iPhone without buying a dongle to make them compatible.
And I find Apple software is power-efficient, reliable, and well integrated.
Sure, base software is fine (especially for people using it basically as a chromebook + spreadsheets), but I remember every upgrade borking my ruby environment and screwing with my C libraries. From a non developers perspective, I have a late 2013-ish iMac at home. It basically sits in the corner gathering dust, because I cringe every time I come near it. Why are app start times so long? Why does it lag when I type text? Why can it only handle 4 tabs at a time in Chrome before becoming unresponsive, despite having 4 cores and 8 GB of RAM? Why is startup time so long? Why are the graphical glitches at the login screen?
These are all issues that don’t exist on Linux (even though I grant that there are a host of others).
BTW is it a feature that crap like this has to be written, because Apple declares that iTunes must open when an iPhone is plugged in. At least Linus is broken in ways that make sense.
For everything else, there’s brew.
Sure, but that’s not an Apple product. Just because someone ducttaped on a nice solution doesn’t make the OS any better. Windows has Cygwin which is a nice POSIX environment, but I’d never use it for development when Linux is available.
I switched off Linux 3 years ago because I couldn’t stand how buggy the desktop environment was.
That’s a huge statement to make when there are hundreds of possible desktop environments out there. I generally go with a lightweight window manager and no compositing which makes everything run fast. The clarity of what’s running why is great too, and I can hack every part of my desktop I want to. It’s not for everyone, but it’s definitely less buggy than OS X and Windows.
X is crap, and it’s a pain in the neck to reconfigure your graphics drivers and everything, but it’s not that big a deal once it’s working (most of the time) ;)
Now I try to use Linux as little as possible because the kernel itself drives me bonkers. What sane developer would use an operating system without dtrace? Just BSD for me.
BSD is awesome, and I actually prefer it over Linux. It’s way more unified and tends to work out of the box better. I just run on unsupported hardware at the moment, so it’s difficult for me to switch. My server runs OpenBSD though, and I love it. However, BSD isn’t an Apple thing, and Darwin is a bucket of garbage to configure from the CLI. I’d be impressed if anyone knew a bunch of launchctl commands off the top of their head. OSX guts are ugly, man.
Although in fairness to Windows, the Microsoft debugging and development tools are phenomenal.
I’ve only had experience with the Visual C++ compiler/debugger, and I gotta say, it wasn’t that great imho. The debugger was OK (and saying it’s better than GDB is like saying a car is better than a bicycle - GDB isn’t exactly designed to be user friendly and it’s not - Linux could definitely use a better debugger). C++ compilers in general are crap, since C++ is crap, but Visual C++ is buggy (I mean, there’s a post on the front page about that right now), and has error messages that weren’t any better than gcc messages. Besides, windows internals are a horror show.
Amazon video is abysmal to use.
Granted, but they’re getting more content for all their entertainment platforms (their music player for instance is usable), plus they have the Kindle. Amazon seems kinda sneaky to me at getting adopted in weird places (who would have thought a decade ago that Amazon would be The Cloud Computing Company? It shipped packages in snail mail! Right now, I’m sure they have a much smaller market share in streaming services, but I could see them growing.
Apple Music and Spotify are both far better than GPM. iTunes has been the top online music vendor since release.
Spotify completely wrecks Apple Music right now, and isn’t a large enough company that it couldn’t be acquired by Google or Amazon (or Apple, granted but they don’t seem to be pushing in that direction enough). With music shifting from mp3 downloads to streaming, Apple is going to be pressed hard to win with Apple Music. They got in on the streaming too late to compete effectively.
I love my Apple Watch actually. So do my friends.
Maybe I’ve been swayed by all the blog posts recently hating on the Watch. I don’t have any experience with smart watches, but I couldn’t figure out what the point of it was. What does it gain you that a FitBit doesn’t? (I’m mentioning FitBit here, because it gives you quick access to notifications and a heart rate monitor - the other features of the iWatch I don’t get).
Apple should open up more, like Android?
Sure - it’s the only way to save their software at this point (they gotta allow more ducttaping than they are). It used to be fine when their software was good, but it’s degraded in quality more recently (the fact that an iPhone 4 can’t run the latest iOS is atrocious. There is absolutely no reason for that kind of wastefulness in software.
I had the Nexus 4 and the Nexus 5, they were garbage. My iPhone 6s+ is much better.
Oh yeah. Android is mostly garbage. Out of the box it’s terrible. It’s only through customization that I made it work alright. I hate all “smart”-phone operating systems, but I especially hate the ones that don’t let me access a terminal. I can’t really argue that Android phones are better, but Apple phones are consistently getting worse. Their latest phone was a flop in sales for instance. I’m guessing that some other company is going to go in and shake it up with something weird, because people are starting to get sick of the “latest and greatest in smartphones”.
You can only interact with a laggy UI for so many hours a day before you hit up the Apple Store.
This is actually why I switched off of iOS. When it got too laggy on my iPhone 4, I gave up. Rather than upgrading, I switched to Android. Sure it’s not the greatest experience, but at least it’s not constantly getting worse. It’s remaining consistently… meh :P
Windows 10 is pretty nice.
No.
I see no reason to justify this statement ;)
developer who uses multiple VMs at a time or works in Java
That’s an good point (the Java one). Ever since I switched to using Mac desktops/laptops (2006?) I’ve found Java performance on OS X abysmal when compared to similarly specced systems running other OSes. Yet I see countless Java developers using Macs or developer tools written in Java.
Why is Java performance so bad and remained bad? Even in the days when Apple released their own VM it was terrible.
Do you have any empirical numbers? I wouldn’t be surprised if there was some hot path system call that isn’t optimized as well as on Linux. A lot of the focus in Darwin tends to focus on power management, single threaded / UI thread performance, and so on. That is, desktop tuned not server tuned. And Java isn’t exactly cautious with how it uses resources. I wonder what exactly it is. ?
I don’t, I’m afraid. At the time I was trying to improve my Java experience on OS X I did some investigation, but never managed to get to the bottom of it.
Are you talking about the new MacBook Pro? ‘cause a dual core processor and 8 GB ain’t gonna cut it
Ah, and there definitely isn’t quad 4 core 16 GB RAM model? That’s news to me. And my coworker who owns one, she’d be really surprised.
That combined with a wonky battery means an aesthetically pleasing design with no real power
The “wonky battery” is a software issue that was just fixed. Apple announced it was a software issue over a week ago.
You know there’s a problem when you can’t buy a new MacBook and a new iPhone without buying a dongle to make them compatible.
That’s fair, it’s pretty goofy.
but I remember every upgrade borking my ruby environment and screwing with my C libraries
That’s how upgrades work on Linux too. Either you haven’t noticed, have accepted it because Linux, or haven’t upgraded Ruby or C libraries since you switched to Linux 3 years ago.
I have a late 2013-ish iMac at home. […] Why are app start times so long? Why does it lag when I type text? Why can it only handle 4 tabs at a time in Chrome before becoming unresponsive, despite having 4 cores and 8 GB of RAM? Why is startup time so long? Why are the graphical glitches at the login screen?
No idea, my late 2013 Mac runs perfectly fine. I’ve found Macs have more longevity than any other computer, I guess our experiences differ.
BTW is it a feature that crap like this has to be written, because Apple declares that iTunes must open when an iPhone is plugged in. At least Linus is broken in ways that make sense.
This is a ridiculous imagined problem with a straightforward solution. What a joke.
Sure, but [brew]’s not an Apple product. Just because someone ducttaped on a nice solution doesn’t make the OS any better.
Literally the entirety of every single Linux OS distribution. I guess that doesn’t make any Linux OS at all any better? I agree, I actually think it’s a huge problem with Linux. Red Hat has made a good effort at a unified Linux distro, but I personally think they do a so-so job at best.
That’s a huge statement to make when there are hundreds of possible desktop environments out there.
Gnome 2, Gnome 3, KDE 3, KDE 4, LXDE, Xfce, Cinnamon, MATE, I tried them all. It’s a huge statement that none of them meet my standard of quality.
I generally go with a lightweight window manager and no compositing which makes everything run fast. The clarity of what’s running why is great too, and I can hack every part of my desktop I want to. It’s not for everyone, but it’s definitely less buggy than OS X and Windows.
I’m glad you enjoy your setup. I’ve been there, I’m over the novelty of computing like it’s the 90s.
X is crap, and it’s a pain in the neck to reconfigure your graphics drivers and everything, but it’s not that big a deal once it’s working (most of the time) ;)
Yeah, I’m over it.
However, BSD isn’t an Apple thing
No, but it’s built on FreeBSD.
Darwin is a bucket of garbage to configure from the CLI
What custom kernel configuration are you doing on a Mac?
I’d be impressed if anyone knew a bunch of launchctl commands off the top of their head.
brew services. Also launchctl isn’t Darwin. Darwin is a kernel, launchctl is an init system.
OSX guts are ugly, man
I’ve written about launchd and systemd before, and I personally disagree. I’d much rather have this than shell scripts. What a bunch of nonsense. It’s great that systemd is finally bringing such sophisticated features as dead process respawning and socket activation to the Linux core.
I’ve only had experience with the Visual C++ compiler/debugger, and I gotta say, it wasn’t that great imho. The debugger was OK (and saying it’s better than GDB is like saying a car is better than a bicycle - GDB isn’t exactly designed to be user friendly and it’s not - Linux could definitely use a better debugger). C++ compilers in general are crap, since C++ is crap, but Visual C++ is buggy (I mean, there’s a post on the front page about that right now), and has error messages that weren’t any better than gcc messages. Besides, windows internals are a horror show.
I’m going to assume that you haven’t done very much C++ development at all based on this paragraph, and move on.
Apple is going to be pressed hard to win with Apple Music. They got in on the streaming too late to compete effectively.
Unfortunately the numbers disagree with you. Which I think is unfortunate, as Spotify has done a great job. Music is a fast moving, deeply personal scene and Spotify has and continues to do a great job of keeping up with it. They are a company really all the way invested in Music and it shows in their product. But I use Apple Music because it’s so ridiculously low effort. I should support Spotify, but I’m too lazy. Probably a lot of other people are too.
Maybe I’ve been swayed by all the blog posts recently hating on the Watch. I don’t have any experience with smart watches, but I couldn’t figure out what the point of it was. What does it gain you that a FitBit doesn’t? (I’m mentioning FitBit here, because it gives you quick access to notifications and a heart rate monitor - the other features of the iWatch I don’t get).
I’ve written about this before on lobste.rs before, but the big one is phone use reduction. Triaging alerts with a glance is much nicer than getting my phone out of my pocket. And all my builds / tests / etc are integrated with pushover, so I get those notifications on my watch. At work I usually leave my phone on my desk while I walk around the office. And just checking the time / date. I guess in general it lets me be connected to my smartphone without having to pay attention to my smartphone all day when I have better things to do, like my job, or be with my friends.
This is actually why I switched off of iOS. When it got too laggy on my iPhone 4, I gave up.
Yeah, I don’t know what the deal is with that. I’ve heard a lot about it from people who’ve had a single smartphone for 2+ years. I’ve always been an upgrade every 2 years person, and I found that wasn’t enough on Android. My Nexus 5 got slower at a ridiculous rate to the point that it wasn’t meh, it was completely unusable from the perspective of anyone from the 21st century.
Windows 10 is pretty nice.
No.
I see no reason to justify this statement ;)
I see no reason for that attitude. ;P
And post-Ballmer Microsoft is a strange beast indeed. A lot of their product teams still work the Ballmer way, and there’s still a huge bureaucratic overhead on those. But their devtools… it’s like an entirely different planet.
I used to argue that a major selling point was device interoperability between the phone, the computer, the Airport, etc. but I also have the watch and the TV and it isn’t really all that, like the article mentions. The Apple TV in particular is neat, but not great; Apple Music doesn’t work all that reliably on it—I often stream from Youtube instead. I dunno. They just seem spread thin and treading water. The new Macbook Pro has that goofy touch bar on it that I really don’t desire, but other laptops just don’t seem as well-made to me. So they can probably coast for a while.
I’m with you. I also invested > 4k$ in a new top of the line MBP and
overall I agree with the sentiment of the OP.
The license file in the repo is GPLv3. Doesn’t Apple still prohibit GPLv3 apps from their iOS store?
So the original author could distribute with Apple under any license they please, but no one else can use this source to make new apps as they could only use it under GPLv3. And similarly, unless the author is getting some kind of copyright assignment or signed contributor licensing agreement, he can’t ship any contributions.
Even though GPLv3 is my fave, I don’t understand this choice of license for this use. Is the author abandoning the app? Is there a reason the author would want to claim to be open source/free software without actually risking competitors?
Good point. I believe it will be worth to create an issue on the project and have the author chip in.
Storing large (16MB) documents
isn’t that exactly the max document size? am I missing the sarcasm in OP?
[off-topic] I recognize those graphics! That’s Kiddopaint! \o/
http://python-notes.curiousefficiency.org/en/latest/python3/questions_and_answers.html#why-is-python-3-considered-a-better-language-to-teach-beginning-programmers I just want to profit and share this link as is finally a good break out of why considering to upgrade to py 3.5. I know I’m late on this, but damn, it has been so embarassingly hard to find a decent explanation.
The hard stop on adblockers is brutal.
also it is very basic stuff. I’d recommend this for the philosophy of kafka. and the confluents docs are nice too.
The device on which I am reading this—like most used to browse the web—does not support any such action as a right click, nor does it provide any DOM editing facility.