I wrote dloom for myself after finding Stow not flexible enough
https://github.com/dloomorg/dloom
Short blogpost for the TLDR: https://swaranga.dev/posts/dloom-the-dotfile-manager-i-wante...
HN user
I wrote dloom for myself after finding Stow not flexible enough
https://github.com/dloomorg/dloom
Short blogpost for the TLDR: https://swaranga.dev/posts/dloom-the-dotfile-manager-i-wante...
Amazon may be big but even then resources are limited. Individual teams owning the roadmap for services are still small. And there are always competing priorities. Do you prioritize these security and availability improvements or do you pickup some operational improvements to make our engineers oncall easier? Oh there is also this long line of customer features you need to deliver. And re:Invent is also approaching.
When you look at it like this, not very surprising that initiatives like cost savings optimizations may take a back seat for periods of time.
For me it is the little things. Like switching windows. Mac feels half a second slower then Linux and that delay make it feel less responsive. Opening up the terminal can iterm2 is another one. For me these things just adds up. I want my OS to get out of my way when I want to get work done.
I have turned off the genie effect and perhaps other animations, but my Ubuntu on my Lenovo still feels faster than the Mac.
Sure, it works for a narrow use-case like a pure function that just queries and returns data. What about stored procedures/triggers that mutate data on insert/delete etc?
With one-box, you can assign a specific set of customers/canaries to be served by the new 1-box and validate your results. If there is a problem you rollback and only your canary data was affected. It is just not very simple IMO.
Not a security engineer so can’t comment on the threat model. But an insider threat like a rogue employee can do as much damage with a managed laptop vs an unmanaged one IMO.
I am loving the Netflix model. You can ask for a MacBook or a thinkpad. If you opt for the thinkpad, you can also install whatever Linux you want and all tools will still work.
In fact you can bring your own laptop and without reimaging use that for development. All interval tools (of which there aren’t too many are written in Go so are cross platform). I ordered a framework laptop and will expense it once it is here.
Onebox deployment typically deploys the new revision of the application code to a single host/box and leaves the rest of the fleet in the older revision and then you run your tests against the new revision running in that single box. You also might monitor the metrics from that single box and attempt to find regressions from the rest of the fleet.
If the code is deployed to the database (version controlled or not) all application servers will start using the new code immediately which is not what we would want from a onebox deployment first strategy. Usually all the servers will share the same database and thus the code in the code in database model. What am I missing.
How would you do one-box deployments with code in the database? Everything else could be solved with perhaps some or a lot of pain.
I have no background in AI or neural networks. And I barely understand machine learning in general. My only chat bot experience is ordering pizza at a Dominos website, I must say even though it is stringing words together to form a coherent response using some statistical model, the engineering behind this seems staggering. I am super impressed that it has come this far.
I have been pretty happy with BofA. The mobile app is modern and wires and ACH can all be done online. I gripe though is that you cannot do either of those from the mobile app. You need to login to the website via a computer.
There are some edge cases because of which this had to be done, I think. For example calling static methods via the instance variables, the actual method called would be the static type of the variable at compile time and not the actual type at runtime:
public static void main(String[] args) {
Parent instance = new Child();
if (instance instanceof Child p) {
instance.print(); // prints Parent
p.print(); // prints Child
}
}
static class Parent {
static void print() {
System.out.println("Parent");
}
}
static class Child extends Parent {
static void print() {
System.out.println("Child");
}
}
Hence, with flow typing, existing code could break in subtle ways.Have you considered an HP Elitebook? I am using an Elitebook 850 G7 given by my company. I have been daily driving it for a year now with Ubuntu 20.04 (previously an 840 G3 I think) and have no complaints.
I use it with triple monitor setup, all 32 inch 2K (I find 2K better for programming) and use it with the Hp 120W dock.
I even upgraded its memory to 64GB myself from Amazon for much improved quality of life (I give Intellij 24G alone; have at it!)
I have long searched for a configuration (Linux laptop + docking station) that can drive a triple monitor setup. Ideally all three at 4K@60 Hz but I might settle for one of them being QHD (2560 x 1440). Why isn't there any confirmed options? Or is that the limitations of Thunderbolt?
For me, the Roku's killer features is its app that lets me instantly stream the audio to my phone/airpods so i do not disturb anyone else while still watching tv. All others require me to pair my headphones with the tv or some other painful process.
What would you say are some examples where you look back what the state was 15 years ago vs the progress we made till the present and the jump would seem just as profound. Just curious.
I felt the same way - it seemed like the early 20th century made so much progress with those visionaries compared what what is being made now. Obviously I am not well informed because that is likely not the case.
I have been using the HP Elitebooks provided by my company and works well with Ubuntu. No complaints. I even upgraded my RAM to 64 GB.
You are thinking of SQS, the preview version of which was the first to be introduced. S3 was the first non-preview service made generally available.
I built a system in my previous team where clients can register "filters" described in Fusion. My system, which was a source of a lot of different notifications, would then run these filters and only send those notifications that passed the filters. It became very popular very quickly because of the easy on-boarding and the fact that clients not get only a fraction of the messages they were interested in. I just checked the Java implementation, it seems to be still active and get commits.
Seriously? I bought in-car navigation for my car instead of opting for CarPlay/AndroidAuto for this exact reason. When I start a trip, my phone (always used Google Maps) can never figure out which way I am facing and will keep rotating around and recalculating directions until I gather some speed on the road. With my in-car navigation, the compass works flawlessly even in parking garages and basements. I though the holy grail would be a UX where Google Maps would use its maps, traffic and navigation data while using the car's GPS.
For me I usually forget the generic stuff. If I wrote something that was a bit different or if I put some extra effort or thought into it I find I can recall those implementation notes may be ever after a year.
My take on such “rules” is that these are not really rules but guidelines you can take hints from to make code easier to read and understand. I rarely try to force these rules to my code whether I am writing new code or changing existing code. Sometimes breaking these rules will make it better, and sometimes enforcing the rule will make it easier to read.
My process is to write the code, take my hands off the keyboard and just read it. Take a break and come back and read it again. Then upload a code review request but before you “publish” it for review read it in the browser again and makes changes as you see fit. This applies to design patterns as well. To me it is always circumstantial and should not feel forced. Sometimes the inherent nature of the logic requires me to keep all the conditionals together in a tight method with good documentation to make it easier to read it a year later. Sometimes it just “feels” cleaner to split it out. It always depends.
This is personal experience of course but I have not seen that to be the case in my company, irrespective of editors people have mostly the same type of questions. Out of curiosity, what kind of questions do the non Vim/Emacs folks keep asking?
It wouldn’t work in India in most cases. Most delivery person uses a motorbike for deliveries which I believe is not equipped with a goa device that they can refer to at all times during driving. Even if they have a smartphone and I send them a google maps link, they end up calling me several times throughout the delivery.
I moved to USA from India and after the interstates, this is one of the top things I am jealous of since we don’t have a sane addressing system in India.
Only if you are from such a place you will have an idea how frustrating it is to explain to a delivery person how to reach your apartment. “Bro, come around behind the mall, proceed to the dead-end and then left and then to the right after the temple”. This is not even some small town in a remote place. This is Bangalore, where I lived for years near corporate offices. Sigh.
Outside of a book, do we still read code from top to bottom?
This one I disagree with. We frequently read code in a browser, as part of a pull request or just exploring a repo.
They must know that the software is opinionated. The question is whether people who would pay 99$ a year for email would be the ones okay with the lack of flexibility.
COPY api in Postgres avoids a lot of the query parsing and other stuff that takes up cpu time. I have used it in production and have seen great results.
There are cases where the COPY api is not sufficient. For instance it cannot do the ON CONFLICT IGNORE thingy and instead fails the call. In that case we fallback to INSERT ON CONFLICT IGNORE - since in our application we do not expect too many duplicates this works well for us.
When has AWS killed a service? Usually that does not happen. SimpleDB had been deprecated for years and is not even shown in the console or marketing pages and yet its existing customers continue to use it. This is just one of the examples.
One thing to consider with AWS is that a lot of the services are designed with multiple levels of isolation and independence beyond the region/availability zones. So a service that fails even 100 % for one customer may not fail even once for another. In such cases it is possible they do not post a general availability drop for the entire service since it may affect only a small number of customers. It may be posted to the specific customer’s personal health dashboard. It took years of operating such systems for Amazon to understand deeply how large scale systems can fail and incorporate those into the designs and even then it is an ongoing effort to make them ever more reliable. Now I don’t know how Google’s services are designed and if they don’t have same or higher layers of isolation then it is possible a failure affects most customers in a region thereby requiring a global status update.
Disclaimer AWS engineer.
I had been a Windows phone user for 3 years from 2009 to 2012 (HTC HD7, Nokia Lumia 800 and 920). Then switched to android for 7 years. Had a OnePlus One, <one more android here>, then a Google Nexus 6p, a Motorola ( solely for a 5000mAh battery as I was fed up with the nexus battery). Finally got an iPhone XS Max this year and I don’t think I am going to switch. My needs are to have a reliable phone with good battery life to last a day and that will run for 4+ years and get full security upgrades (else I don’t get work email on my phone). I think if I get 5 years out of it, the iPhone even with its 1100$ price tag will be cheaper in the long run.