I wonder how they manage around DRM rights with the individual app publisher?
62 karma · joined September 5, 2018
I wonder how they manage around DRM rights with the individual app publisher?
This sort of put me off. Personally I am fine with a single user perpetual license for my use case. But as they are claiming it being a young project and likely to have more bugs than your average mature product. Why do you expect me to renew my license to get your updates ? doesn't seem fair.
> TablePlus is a young project, we fix bugs and add new features every day, then put them together in a new update released at the end of week/month.
That week/month could fall a year after the date of my initial purchase :(
While reading the idea that I know most of this, would that made me a data scientist? Jumped at me.
But then I quickly recovered from that thought that surely knowing some of the tools someone could use for a certain domain does not make you expert at that domain.
Might just be the case of same ingredients, different recipes.
Is it me or just the title is a little bit inaccurate in the sense that there's more to "How containers work?" than overlays, e.g. it made me think that it covers more than it actually does, e.g. cgroups, namespaces, etc...
Anyone knows of a more in depth coverage of containers building block type of article that allows one to build a rudimentary container from scratch to appreciate what goes into building one ?
BTW, I rarely work from a well-defined spec these days.
Music to my ears. We've been all at some point or another being followers to the cargo-cult. But taking a step back and evaluating things from first principles greatly help getting one's self out of being stuck in a rut. At the end of the day, there are no silver bullets. Everything has trade off, just pick whichever is the least worst :)
Writing a test before fixing a bug reveals the bug and solidify a proof that the fix addresses it adequately. So in this context, it's less about the design (since it's already there) and more about fixing and proving that the fix works.
If you don't know what to test, then you don't know what you are implementing. Find what that is, clarify it and pin it down with a test then move on to the implementation to make it happen.
If you don't know what the output is like, then do some exploratory throw-away work to know a little more. Then write the test that you would've written if you knew what the output is like.
tackle your problems one a at a time, not knowing what to test is not a good enough excuse to not test first.
Make it Work - Make it Right - Make it Fast (while still under the protection of your first-written test)
Totally with you on this, when I am clueless about the what/how, I throw a bit of exploratory code and test it manually or semi-automated fashion. But once the learning has happened I will use the acquired knowledge to feed a proper TDD cycle to do it properly now that I know a little better.
What kind of software you write if you don't mind me asking ?and are your "real-world conditions" tests automated ?
> The upside is that I don't have to write "strange" code to accommodate testing.
Can you elaborate more as what you mean by "strange" ?
> Can you describe the practical benefit? Testing first help me clarify my intentions, then implement a realisation of those intentions through code. Testable code has the side effect of being well modularized, free from hidden dependencies, and SOLID.
And it's also about making sure that whatever code you write, there's a justification for it and a proof that it works, could be seen more like a harness protecting you from writing things that you don't need, YAGNI.
> Do you happen to rewrite the tests completely while doing the implementation? I follow the classic TDD cycle, RED/GREEN/REFACTOR and I can not be any happier.
> When does this approach work for you and when did it fail you? The only exception to the above is exploratory code. I.e. the times where I don't know how to solve a given problem, I like to hack few things together and poke the application and see what happens due to what I have changed.
Having verified and learned more about how to solve that problem, I delete all my code and start afresh but this time TDD the problem/solution equipped with what I have learned from my exploratory cycle.
If you are in doubt or need further information to help you make your own decision about the matter, I can not recommend enough the classic TDD by Example from Kent Beck as a starting point.
For a more real-world view with an eye on the benefits of adopting TDD, have a look at Growing Object Oriented Software Guided by Tests, aka the Goose book.
Personally when I review code, I look for the test, I need to find a way to tell me why that code exists and a proof that it works.
Just write enough code to make the test pass, no more no less. Refactor and repeat.
In recent years I've never written any new piece of code without test first and can not be any happier. Beside the confidence a test gives you, it really a great way to pin down your thoughts and write what makes them meterialize.
I was concerned that I might run into driver issues and such and thought to see what others have experienced in this as I have seen mixed things doing a basic Google search.
A few years later I moved up the stack into a full time programmer and been doing that ever since 20 years down the line.
I have built systems from the ground up literally, loading the van with the equipment, installing the racks, the servers, the EMC’s ...
Having seen it from all perspectives, sys admin, DBA, Ops and all it’s variants and a programmer. I’d like to think of my self as an engineer who solve problems or build things to solve problems.
The tools that you use does not define you. I have seen and still seeing loads of people Devs who don’t understand or willing to understand how ops work Or how the crap they produce runs and get maintained.
And ops who write hacky code in the name of infra as code.
I wish we can just be Engineers and stop labelling and define people by the tools they use. Things will be better IMO
Definitely adding this to my toolbox <insert happy nerd laugh>
"The C4 model doesn't prescribe any particular notation. A simple notation that works well on whiteboards, paper, sticky notes, index cards and a variety of diagraming tools is as follows."
Curious to know what makes you think it's too complex? What am I missing?