codepie
codepie on Hacker News
TLA+ is mentioned a lot here and many people point out how it's practically infeasible to use it in real world systems. Just curious, is there any alternative to write specifications which are more closer to common programming languages and can be used by an average programmer to formally prove correctness?
I found this short paper really interesting to understand the fundamental limitations of distributed systems: Consistency Tradeoffs in Modern Distributed Database System Design
http://www.cs.umd.edu/~abadi/papers/abadi-pacelc.pdf . The theorem introduced in the paper (PACELC) provides a better way to understand the design of modern distributed systems than CAP.
Posted by
codepie on Monday April 27, 2020 @09:19AM
from the papoc-workshop.github.io dept.
>Is there a proper book(s)/source(s) that I should follow?
You may find these book useful:
Competitive Programming 3 by Felix Halim and Steven Halim.
Competitive Programmer’s Handbook (https://cses.fi/book/index.html)
>I have rarely found the need to code one up in my job
Depending on your job profile, these data structures may not be used at all. But programming puzzles have become the norm for interviews in the industry.
I have been using Zim[0] for quite few years now. With various plugins, it allows me to write LaTeX equations, formatted code, tables etc. Overall it has been really good, but I feel the only thing missing is the support for mobile devices.
[0]: http://zim-wiki.org/
The former paper appeared in SIBVOIK 2017 (
http://www.sigbovik.org/), where you can find other such papers. My personal favorites are "On The Turing Completeness of PowerPoint" (
https://www.youtube.com/watch?v=uNjxe8ShM-8) and "Automated Distributed Execution of LLVM code using SQL JIT Compilation"
> Following the popularity of MapReduce, a whole ecosystem of Apache Incubator Projects has emerged that all solve the same problem. Famous examples include Apache Hadoop, Apache Spark, Apache Pikachu, Apache Pig, German Spark and Apache Hive [1]
Slightly OT, but I wanted to know if there's any group/forum where we can read and discuss papers regularly?
I know the morning paper (https://blog.acolyer.org/), but it is not so interactive, in the sense that you can't have discussions with peers and it turns into just passive reading.
>First, I suppose I need to get to a point in my career and personal life where my finances are good enough that I don't have to decide where I spend my effort based on the income it'll bring me.
This. Waiting for the right moment to start working on your long term plan is, according to me, not a good idea. Instead of taking a giant step after some point of time, consider taking small steps on a regular basis.
I really like your idea, would you like to discuss how are you planning to approach this problem?
Firefox has a really good market in the mobile industry. I really wanted Firefox OS to catch up, but it didn't. I am still looking for privacy-focused OS alternative to Android, any suggestions?
The thread example given in article is only limited to a single writer and multiple readers. Things get interesting when you want to have lock free concurrency with multiple readers and writers. One of the famous techniques is using software transactional memory (
https://en.m.wikipedia.org/wiki/Software_transactional_memor...). But it hasn't really caught up in the industry and it still exists within academia.
The existing lock free concurrency solutions are not mature enough to replace locks. I like this analogy of what garbage collection is to memory is STM is to memory(https://homes.cs.washington.edu/~djg/papers/analogy_oopsla07...).
I tried gold, silver and bronze. It said incorrect.
Then I tried gold, silver, bronze. It said correct.
As another user pointed out, why should be the chromatic polynomial of rectangle with deleted edge be: q^4 - 3q^3 + 2q^2 and not q * (q - 1)^3. A counter example: when q=2, we have two ways to color the rectangle with a deleted edge. Am I missing something?
I think fixating q as the number of possible ways to color the end points of the deleted edge leads to the wrong result.
It's true that these institutes haven't started something revolutionary, but there has been considerable amount of work in the right direction. I think there are multiple possible reasons behind it: 1) Most of the undergraduate students from these institutes either go study abroad or take up a job; which leaves only a fraction of the top students in these institutes. 2) Students who come for MS in these institutes have to clear GATE exam and most of them, according to what I have seen, join these institutes just for getting a good job and not for serious research.
Disclaimer: I work at one of the top institutes you mentioned.
There's also Blogel [0] which is a distributed graph processing framework in C++ and it runs significantly faster than its counterpart in Java, Apache Giraph [1].
I have started wondering if the big data developers really care about the speed; the advantages of these Java softwares start to fade out when compared with their C++ counterparts.
[0] - http://www.cse.cuhk.edu.hk/blogel/
[1] - http://www.cse.cuhk.edu.hk/blogel/papers/blogel.pdf
Posted by
codepie on Monday January 23, 2017 @07:15AM
from the show-hn dept.
No, it is ₹1500000 which is $22500 (yearly).
I recently met a professor, he said that most of his students are working in Deep Learning and he is finding it difficult to get people to work on other interesting problems. So there is really a demand of students to work on other areas as well. But most of the students get carried away by the trending fields.
Hadoop's source code has been on my reading list for a long time now. I have tried it before, but couldn't go through all the bits and pieces. Is there any strategy you should follow while reading any source code? Are there any code walkthroughs of hadoop's source code?
Since you mentioned page rank, you can also check out graph processing frameworks, eg Pregel/Giraph, which are designed specifically to run graph algorithms on big data.
Posted by
codepie on Saturday August 13, 2016 @12:17PM
from the explaintome.herokuapp.com dept.
Posted by
codepie on Wednesday August 10, 2016 @12:54PM
from the research.facebook.com dept.
Posted by
codepie on Tuesday July 12, 2016 @11:19AM
from the youtube.com dept.
These courses will provide you a good theoretical background, which may not be enough to crack the interview problems. You might wanna look at some of the programming problems on Hackerrank, Codejam etc to bridge the gap between the theory and the implementation.