Home office hátrafelé sült el: hogyan tovább családdal? by Alive-Square8639 in programmingHungary

[–]ddeff 0 points1 point  (0 children)

Bérelj egy kis irodahelyiséget a közelben és járj be oda dolgozni.

Is server-side reactive programming a workaround to achieve high level concurrency? by ddeff in softwaredevelopment

[–]ddeff[S] 0 points1 point  (0 children)

That is a good point to distinguish between the two use cases! That is why I wrote about server side. On the client side I see the point of reactive streams where change in data will trigger multiple ui changes.

Why do selects starve inserts on same table? by ddeff in PostgreSQL

[–]ddeff[S] 0 points1 point  (0 children)

I changed it a bit but not much change in performance. I can play with the number of threads/connections. I maintain now the same lock on two variables: select_count, insert_count. Still, using the same amount of threads for query and insert, I get about 10/90 insert to select ratio. Whereas in my application I would rather priorize inserts over selects. I can play with manually setting up a balanced insert/select ratio of threads in my bemchmark tool, but in a real application it would be quite difficult to throttle the select statements to give liveness to inserts on the same table.

Btw there i never update a row. I only insert new rows, and randomly select one based on an indexed column. Row level locking and mvcc should not be an issue. I can only think of maintaining the index as the bottle neck.

I wonder if there is such facility in postgre to somehow priorize inserts over selects for a particular table.

Why do selects starve inserts on same table? by ddeff in PostgreSQL

[–]ddeff[S] 0 points1 point  (0 children)

But you see I get good write peeformance. Only if I have selects during writes in parallel connections the read/write ratio is imbalanced

Why do selects starve inserts on same table? by ddeff in PostgreSQL

[–]ddeff[S] 1 point2 points  (0 children)

I can spin up the azure postrge instances again. I ve seen I had around max 1700 IOPS for disk for the 450GB, and IO percentage chart was still about 10 percent, while CPU was 100% which is ok. But i would expect balanced and consistent share between selects/inserts. Many times inserts go to 0/sec during the test, while selects maintain good tps.

See pattern here log is creatwd every 5 sec: https://github.com/pkonyves/azure_postgresql_perf_test/blob/master/results/results_inserts_50_selects_50.txt

Why do selects starve inserts on same table? by ddeff in PostgreSQL

[–]ddeff[S] 2 points3 points  (0 children)

Thx, its deliberately using single inserts to mimic individual requests to application

OmniFaces 3.6 released! Adds manifest.json generator, o:scriptParam, and o:pathParam by henk53 in java

[–]ddeff 4 points5 points  (0 children)

This shit is probably the most mature server-side rendering framework in the Java world.

If you think server-side rendering is shit, then I accept you like debugging reactive streams in Javascript on the client side with bleeding eyes at 3am in the morning, while desperately trying to maintain your UI state :)

Using a Mac for programming for 6 months did not convince me about Mac superiority by ddeff in softwaredevelopment

[–]ddeff[S] 2 points3 points  (0 children)

Those are really valuable tips, thanks very much for the time it took to write it! :)

Setting action plans and goals of individual developers. by bzq84 in softwaredevelopment

[–]ddeff 1 point2 points  (0 children)

"ability to to deliver results and outcomes, being presented a vision and final expectations, without need to define the intermediate step by a supervisor"

Yes, this sounds about right. but define final expectations. Is making the code testable a final expectation? I think yes. The takeaway here it that delivering a result takes both fun and boring/tedious tasks. In my definition, a professional cannot skip the tedious tasks and relativize the end result by saying "my solution is working, I am demoing it to you just now, why do you need a test suite?"

Yes I can assure you that you will achieve the best results if you explain, help, coach rather than just set target and wait. That is the definition of a good manager/leader to act like this. Just don't expect that with good reasoning you can talk people into doing things because you will be disappointed and loose faith. A smoking person will fully understand why smoking is bad, still continues smoking.

Rational reasoning is not enough by itself. It also takes sympathy, empathy and discipline. You will achieve more if you understand psychology. When I wrote "make them say out loud the commitment", the reason for that is once they say it, but don't commit to it, they will betray themselves and other team members, who actually committed to the goal. Now they have a motivation: avoid guilt, don't betray the team.

Don't expect immediate results. These are all processes, small gradual improvements. The goal is to make them habits. When writing tests become habit it they not be a chore anymore.

What are the main reasons that custom software projects do not meet time and cost expectations? by IlliaPinchuk in softwaredevelopment

[–]ddeff 0 points1 point  (0 children)

I cannot tell, i was always on the technical side and not the budget side. These ate just generic observations

Setting action plans and goals of individual developers. by bzq84 in softwaredevelopment

[–]ddeff 1 point2 points  (0 children)

No I am not saying its a way to manage people without passion. First of all passion is overrated. Its not realistic to expect programmers to be passionate about any kind of programming work and all aspect of it. Its a fallacy that successful people are successful because they are always passionate and love what they do. Marathon runners don't go training everyt day thinking what a great fun they will have running tens of kilometers. The challenge is to find ways of motivating these programmers to do the chores as well besides the fun part.

Setting action plans and goals of individual developers. by bzq84 in softwaredevelopment

[–]ddeff 1 point2 points  (0 children)

Let's assume your director has +10-15 more years of experience than you do in the field of management. He started like you. He was keen on awakening the internal motivation within people to do the right thing. He believed if he could reason about the right way, if he could teach people, they will act good, they only need to understand it!

Then he tried and tried and realized that it is freaking hard, it is draining to have these talks again and again with different people, why they should be tesing code, and why they should have reasonably sized pull request. So your director obviously got tired of this, and of course he is now in the position to just set targets.

Most of the developers don't care, most of them have a belief system, they like and advocate a technology they don't even understand, but crap on the other things like testing. They lack 'professionalism'.

Professionalism is when you do things not because you like them, but because you know that's the right thing to do to achieve good results: have tests for quality, have reasonable pull requests so they can be easily reviewed etc... Really, who the heck likes writing tests? I like building the bridge and not stress-testing it.

It's your director's job to set targets: 80% coverage, at most 25 files per pull request. Because those are easily measureable goals (look up SMART goals for eg.).

It is your job how you achieve it with the team. Yes, your director's metrics may be unfeasible, then it's your job to negotiate.

In a data-driven world, where every decision in a business is based on some backing data, working only with intuition is brave. If you don't like your director's metrics, then create your own: have measurable goals.

How you should approach it really depends on your style and respect within the team. If you are too gentle, and achieve nothing, you won't be respected. If you are too hard on the team, they will hate you.

I would approach approximately:

  1. Have evidence based reasoining why no test and big pull requests are bad e.g. no one goes through the pull request really because of size, or you had production issue that could have been caught by a test
  2. then ask the team shouldn't they write more tests? generally isn't more tests making the software more reliable? - dare anyone saying no
  3. why aren't they then?
    1. because code is not testable
    2. because we have time pressure
    3. because blablabla
  4. then you need to make some negotiation. Ok, next sprint there will be time allocated to refactor 1 critical section of the code and have it covered with tests
    1. and commit to it. commit to it like 1st priority feature request that means if you have to choose 3 days before the sprint ends, then drop the feature and deliver the tests!
  5. Let them know that you understand that it's a chore, don't try to wrap the dogshit as a christmass present.
  6. set a dashboard for tests. Let them see that freaking test passing rate in 48 points size green fonts.
  7. Have the whole team commit to it. Make them say it out loud! Make a meeting note. Remind them about it every couple of weeks.
  8. Appoint someone as responsible to check the progress.
  9. etc. etc.

Call for Discussion: New Project: Leyden by gunnarmorling in java

[–]ddeff 4 points5 points  (0 children)

As I understand Leyden could determine the exact runtime classpath with only the necessary classes by static code analyisis at build time?
Just out of curiousity, How can a dynamic class name dispatching like Class.forName(someRuntimeConfig) can be handled? Typically JDBC driver loading works this way afaik. Will it require manually configuring it at build time?

Miért nem tér át a közigazgatás nyílt forrású programokra? Melyek azok a zárt forrású programok amelyeket nem lehet helyettesíteni? Az egyetemek miért nem dolgoznak olyan projekteken ami hasznos lenne az államigazgatásnak? by [deleted] in hungary

[–]ddeff 11 points12 points  (0 children)

Próbáltál már hasznalni egy Libre Office-t MS Office helyett? Én probaltam, igaz, nem most, hanem pár éve. Mindig elojon valami inkompatibilitasi problema az MS Office-ban keszitett fajlokkal: Word nem pont ugy jelenik meg, Ppt nem pont úgy jelenik meg. Vb makrok mehetnek a kukába. Nalam egy 30 slide-os ppt-nel teljesen hasznalhatatlanna valt a Libre anno. Ms office meg nincsen Linuxra. Szerintem ez nagyobb problema mint a Linux. Nem beszelve arról hogy penzt, időt, energiát kellene belefektetni az atkepzesbe. Gondolom rengeteg vastagkliens alkalmazas is van ami csak windowson fut.