IMO VB.NET was just disappointing - tried too hard to turn VB into something 'proper' with 'better standards' rather than just being what it was (the YOLO language that you could build scrappy things in fast)
8,918 karma · joined May 10, 2020
IMO VB.NET was just disappointing - tried too hard to turn VB into something 'proper' with 'better standards' rather than just being what it was (the YOLO language that you could build scrappy things in fast)
Now we can use compute resource for memes.
Costs will come down, so the required benefit will be lower.
Yes, 45 years to the first passenger jet plane.
I think your original post just overestimates the 'normal' pace of change - Taking 10 years to go from the first ride to 100k rides a week is no time at all in the scheme of things.
Airplanes are an example of an insanely fast technological adoption, and they still took 30 years to go from the wright brothers to the first commercial jet. I get the feeling that if the wright brothers invented the plane in 2024 though, people would be saying 10 years after "Planes are all hype! If planes were truly transformative they would be rolled out everywhere and would be carrying passengers by now"
1. Get a lead and qualify it. Red flags for qualification are small company size, weird location which isn't in your geography (e.g. middle east), person enquiring is not sufficiently senior in the organisation etc.
2. Understand the customer's problem better than anyone else. This includes visiting them, sitting down in person, clearly stating their problem on some slides so they know you understand it. If you are the only person to visit the customer in person, you will probably win the lead.
3. Describe how you plan to solve the customer's problem, and demonstrate how you have relevant experience and how this won't be a challenge. This isn't an exciting project for you - you want to work together but this is an easy problem that you have solved a hundred times before and you can solve it with confidence.
4. Be flexible in the sales process - ask the customer to help you tweak the proposal until it's exactly what they want.
5. Tailor the solution to the size of the business - don't sell a giant over-engineered solution to their problem if they are tiny, find a way to solve it with no frills or quick hacks. On the flipside, don't sell a no-frill's solution to a giant enterprise, they will want to believe they are getting something suitably engineered. Also tailor the sales process - if you are winning a massive contract you put in more effort than a tiny contract (and if sufficiently small, your proposal can just be an email back).
6. Give a clear and reasonable commercial model that fits in-line with the customer's expectations. If it doesn't fit with their expectations, adjust the scope and price (don't significantly adjust price without adjusting scope - it's bad for relationships)
7. Be super flexible when closing the deal. You are a small agency, your benefit is you can do things that bigger agencies can't. Don't endlessly argue over meaningless contract terms - just make sure they pay your first invoice which should 'cover your ass' until the next invoice, and work from there.
The main difference in agency selling compared to standard software selling is that it is high-engagement and high-effort. If you spend 5 days winning 20 days of work, you are probably doing pretty well.
Also, the big mantra is "doing is selling" - doing a good job on one project will lead to both more work from the same client, and recommendations which brings in even more. Everyone employed at a consultancy/agency is responsible for selling, some directly, others indirectly by making sure they do a great job. The company doesn't exist without winning projects!
If you are the kind of company that has a focus on all aspects of security, and assumes a sophisticated actor is attacking, you will have a better chance at defending against unsophisticated actors.
If you plan your security around only defending 'less-sophisticated' actors then you might quickly find one slips through the cracks.
Also I would think most people would consider AGI science fiction in 2004 - now we consider it a technical possibility which demonstrates a huge change.
With interns you absolutely do need to worry about how good your prompting is! You need to give them specific requirements, training, documentation, give them full access to the code base... 'prompting' an intern is called 'management'.
The implication is 'if it's good enough for a photographer/videographer, it will be excellent for me if I want to take photos and videos of my hobby/kids/travels'.
But professional photographers aren't giving up their DSLR's for an iPhone anytime soon.
They probably have done a load of research that shows that people on the whole buy new phones more because they think they will take better photos/video of their travels/friends/kids, rather than because of the notch size.
What's the reason for (/ num1 num2) rather than just num1/num2 for division for example?
Perfect information = Chess Imperfect information = Poker
This fits into the latter category - if player 2 knew everything that player 1 knows, they would behave differently.
If we accept cheating is allowed, we can also potentially accept other 'cheating' scenarios where the player repeatedly punches Ballmer in the face until he discloses the number, thus winning. Or where the player just refuses to pay at the end.
IMO the problem is only interesting if we assume any form of cheating isn't allowed.
But he also knows that you know that he could pick numbers that will be the most difficult... So could then pick one of the numbers that actually are guessable within 5 guesses to trick you.
But then you also know that he knows that you know that he could pick difficult numbers too.
I'm not entirely sure if this invalidates Ballmer's advantage, but I would be interested to know what the 'perfect' strategy would be for this game considering the meta-game.
Lots of schools give all their students ipads.
Also lots of kids have iPads but not laptops (my girlfriend's daughter does not have a laptop that could do Godot development, but has an iPad).
My assumption is it's more about introducing people to development than professional developers moving to iPad.
Removed complexity means you can fit more stuff into the same amount of silicon, and have it be quicker with less power.
Obvious examples are things like AI-assisted language translation for books if you are a publisher, implementation of cancer screening technologies if you are a healthcare provider, AI-assisted drug discovery if you are a pharma firm, AI-assisted discovery if you are a legal provider, AI trading algo's if you are a hedge fund...
All of these could result in some pretty profitable winners. It's also the sort of thing that can result in 'losers' if you call it wrong - e.g. if there is a 20% chance of success and I don't invest and my competitors do, what happens if I am wrong? You don't want to be the Kodak of your industry. As an example - if I am the worlds biggest provider of call centres, do I really want to bet big that my industry will never be automated, or do I want to start investing now to prepare for that as a possibility?
Especially as ground-up rewrites are often risky, and bringing it into a modern language might make it easier to incrementally improve/refactor over time.
Classic mistake for software companies who go into manufacturing!
Lights-out shouldn't be the goal, the goal should be lowest cost, most flexible, scalable e.t.c...