Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "distributed systems"
My Professor today, explaining data distribution in distributed systems:
"Imagine distributing Username data in subsets, such as A-C, D-F, G-I, J-L etc... And we have a lot of users with A .... *long pause* A bunch of assholes basically .."1
My colleague unknowingly uses the word "paralyze" for "parallelize". When is the good time to correctly him? So far he has successfully paralyzed my code.4
To me, it seems like the rise of distributed systems like mesos / kubernetes combined with Docker require you to be master sysadmin, veteran kernel hacker and a part time c developer ALL AT ONCE if you really want to shave off time from debugging/ performance tuning sessions. Anyone wish they paid more attention in class ? Lol.4
*In a lecture
Lecturer: Consequences of Distributed Systems
Students: **attentive as fudge**
Lecturer: Independent Failures
Lecturer: No global 'COCK'
Students: WHOOOOA, global what?...that escalated fast
Lecturer: I mean no global 'CLOCK'
Students: yeah right, can we use cock though?2
NEW 6 Programming Language 2k16
Golang Programming Language from Google
Let's start a list of six best new programming language and with Go or also known by the name of Golang, Go is an open source programming language and developed by three employees of Google and the launch in 2009, very cool just 3 people.
Go originated and developed from the popular programming languages such as C and Java, which offers the advantages of compact notation and aims to keep the code simple and easy to read / understand. Go language designers, Robert Griesemer, Rob Pike and Ken Thompson, revealed that the complexity of C ++ into their main motivation.
This simple programming language that we successfully completed the most tasks simply by librariesstandar luggage. Combining the speed of pemrogramandinamis languages such as Python and to handalan of C / C ++, Go be the best tools for building 'High Volume of distributed systems'.
You need to know also know, as expressed by the CTO Tokopedia namely Mas Leon, Tokopedia will switch to GO-lang as the main foundation of his system. Horrified not?
eh not watch? try deh see in the video below:
Swift Programming Language from Apple
Apple launched a programming language Swift ago at WWDC 2014 as a successor to the Objective-C. Designed to be simple as it is, Swift focus on speed and security.
Furthermore, in December 2015, Swift Apple became open source under the Apache license. Since its launch, Swift won eye and the community is growing well and has become one of the programming languages 'hottest' in the world.
Learning Swift make sure you get a brighter future and provide the ability to develop applications for the iOS ecosystem Apple is so vast.
Also Read: What to do to become a full-stack Developer?
Rust Programming Language from Mozilla
Developed by Mozilla in 2014 and then, and in StackOverflow's 2016 survey to the developer, Rust was selected as the most preferred programming language.
Rust was developed as an alternative to C ++ for Mozilla itself, which is referred to as a programming language that focus on "performance, parallelisation, and memory safety".
Rust was created from scratch and implement a modern programming language design. Its own programming language supported very well by many developers out there and libraries.
Julia Programming Language
Julia programming language designed to help mathematicians and data scientist. Called "a complete high-level and dynamic programming solution for technical computing".
Hack Programming Language from Facebook
Hack is another programming language developed by Facebook in 2014.
Social networking giant Facebook Hack develop and gaungkan as the best of their success. Facebook even migrate the entire system developed with PHP to Hack
Facebook also released an open source version of the programming language as part of HHVM runtime platform.
Scala Programming Language
Scala programming termasukbahasa actually relatively long compared to other languages in our list now. While one view of this programming language is relatively difficult to learn, but from the time you invest to learn Scala will not end up sad and disappointing.
The features are so complex gives you the ability to perform better code structure and oriented performance. Based programming language OOP (Object oriented programming) and functional providing the ability to write code that is capable of evolving. Created with the goal to design a "better Java", Scala became one behasa programming that is so needed in large enterprises.3
Ironic is when the lecture slides about consistency models are inconsistent with the book they are based on 😂2
So today I'm going to join Reddit
Tell me subreddits where I can learn more and at the same time it doesn't go too much above my head
Interests in which I'd like to invest time:
Or general computer science research
Course title: Advanced Database Management
-Create a database with SQL.
-Describe data normalization of database information.
-Describe distributed database management system.
-Design databases based on Entity Relationship modeling.
-Discuss connecting to databases with server-side scripts.
-Discuss database administration and security.
-Discuss database systems
Like. Come. On.7
About slightly more than a year ago I started volunteering at the local general students committee. They desperately searched for someone playing the role of both political head of division as well as the system administrator, for around half a year before I took the job.
When I started the data center was mostly abandoned with most of the computational power and resources just laying around unused. They already ran some kvm-hosts with around 6 virtual machines, including a cloud service, internally used shared storage, a user directory and also 10 workstations and a WiFi-Network. Everything except one virtual machine ran on GNU/Linux-systems and was built on open source technology. The administration was done through shared passwords, bash-scripts and instructions in an extensive MediaWiki instance.
My introduction into this whole eco-system was basically this:
"Ever did something with linux before? Here you have the logins - have fun. Oh, and please don't break stuff. Thank you!"
Since I had only managed a small personal server before and learned stuff about networking, it-sec and administration only from courses in university I quickly shaped a small team eager to build great things which would bring in the knowledge necessary to create something awesome. We had a lot of fun diving into modern technologies, discussing the future of this infrastructure and simply try out and fail hard while implementing those ideas.
Today, a year and a half later, we look at around 40 virtual machines spiced with a lot of magic. We host several internal and external services like cloud, chat, ticket-system, websites, blog, notepad, DNS, DHCP, VPN, firewall, confluence, freifunk (free network mesh), ubuntu mirror etc. Everything is managed through a central puppet-configuration infrastructure. Changes in configuration are deployed in minutes across all servers. We utilize docker for application deployment and gitlab for code management. We provide incremental, distributed backups, a central database and a distributed network across the campus. We created a desktop workstation environment based on Ubuntu Server for deployment on bare-metal machines through the foreman project. Almost everything free and open source.
The whole system now is easily configurable, allows updating, maintenance and deployment of old and new services. We reached our main goal for this year which was the creation of a documented environment which is maintainable by one administrator.
Although we did this in our free-time without any payment it was a great year with a lot of experience which pays off now.
I just watched https://youtube.com/watch/... - towards the (very) end he's talking about how software developers rule the world... and I just realized something.
A while back, I was working on an accounting sub system for a SaaS product. We managed some of the revenue of our customers and had the accounting for that part as well. Revenue + Payments (with all the VAT / sales tax / ... that you need to have). BUT no expenses.
One day, the head accountant of a customer, angrily demanded that we immediately implement a new payment method, called commission.
You don't need to be an accounting expert for knowing, that a commission is an expense you have because somebody else marketed / sold your product / service for you. Making it a payment method is probably wrong. With a bit more knowledge you'd know that the taxes which are around expenses are completely different to revenue or payments. (btw payments didn't even have any taxes in those countries that we covered at that time at least).
So there I was standing, a software developer, trying to explain the product manager and the head accountant of our customer, that the idea is beyond stupid, and the fact that it comes from an accountant is super scary to me. (he was usually extremely picky about everything we did.)
Luckily, it was easy to convince the manager. He tried to explain it to the accountant but that person just didn't get it.
as if designing resilient distributed systems, which have 99,99% up time weren't hard enough, we also need to be experts in every domain that we have to deal with? And if there is a tiny bug and one out of 10s of thousands of transactions is screwed up, people start panicking and "loose trust in the product"? - what the hell is wrong with them?
Luckily it's a minority of customers only, but each of them is such a pain. Do you also have customers like that? who should know better, but somehow you are the expert in their domain?2
Developer vs non developer interview:
How well do you know excel ?
How would you write spreadsheet app, what if it was cross platforms mobile application but also desktop app ?
Do you know how to use windows?
Do you know kubernetes, distributed systems, lambdas, cloud services and how to deploy to server farm ?
You know how to use printer / fax and coffee machine ?
Do you have experience in writing code for embedded devices ?
Do you know powerpoint ?
React native and native apps maybe ?5
Graduate student studying Computer Science at the University of New York at Buffalo.
4 Computer Vision and Image Processing Projects
3 Distributed Systems projects (Android apps).
Red Hat Certifications.
Applied to 135 companies for an internship program.
Here are the replies I have gotten so far.
" We have analyzed your resume and we think you'll be a great choice for this position at our company."
Scheduled an on-site. *internal screaming*
Does anyone have any resources for studying distributed computing and operating system topics or have any pointers for studying for a systems design interview?
Also, how did y’all get comfortable with recursion? I don’t have issues with problems I already know the solutions to but it’s like when that’s not the case my brain just goes into panic mode for a bit.
Teach me your ways?7
Not really a rant but a question:
I just got accepted into a coding bootcamp. Have any of you been involved in one? How was it? What would you do to make it a better experience throughout? Any advice or suggestions?
It's full time, six months long and I start in October and I want to make sure I make the most of the experience and absorb as much as possible.
Fuck companies that want you to build new systems that are a superset of what they already have when they can't even tell you what they have now. Fuck you with your bullshit, nonsensical, self-contradicting, third-assed diagrams--some half-UML, half-clip-art, half-pie-chart drivel. If you're the CTO of a company and you want me to think long and hard about rebuilding your distributed systems, you can think long and hard about expressing what you already have. And NO: a verbal explanation pow-pow WebEx over your DSL connection with your protege that mumbles worse than an Atlantan rapper doesn't count as fucking "knowledge transfer" of your fucking architecture, FOR FUCKS SAKE.
Everyone I tell this to, thinks it’s cutting edge, but I see it as a stitched together mess. Regardless:
A micro-service based application that stages machine learning tasks, and is meant to be deployed on 4+ machines. Running with two message queues at its heart and several workers, each worker configured to run optimally for either heavy cpu or gpu tasks.
The technology stack includes rabbitmq, Redis, Postgres, tensorflow, torch and the services are written in nodejs, lua and python. All packaged as a Kubernetes application.
Worked on this for 9 months now. I was the only constant on the project, and the architecture design has been basically re-engineered by myself. Since the last guy underestimated the ask.2
My final year taking a B.Sc. I'm writing up my Distributed Systems project, the day before handing it in. It's on top of Transis, and source code is "stored" in RCS (yes, I'm that old). The project is a reliable system administration tool, that performs the same action across a cluster with guaranteed semantics.
I'm very proud of the semantics, but cannot figure out why the subdirectory installation stuff works almost but not quite. Here's my sequence of actions:
1. Install across all machines.
2. Manually see it's broken.
3. "rm -rf *".
What in to discover is that the subdirectory installation always finishes off in a current directory 1 level higher than where it started. Oh, and the entire cluster sees my NFS home directory. Oh, and I'm running each cluster member in a deep subdirectory of my dev directory. Oh, and my RCS files live in a subdirectory of my dev directory.
All of a sudden, my 5 concurrent "rm -rf *"s were printing weird error messages about ENOENT and not being able to find some inodes. In a belated flash of brilliance, I figure out all the above, and also that I've just deleted my dev directory. 5 times, concurrently. And the RCS files.
That was the day a kindly sysadmin taught me than NetApps have these .snapshot directories.
I missed this last week... so too bad ;)
My introduction into programming was rather slow. When I was a child, we had an Apple IIc, but there were no disks. When you'd boot it up, you got a prompt and I recall being able to type commands into it that someone told me was "Apple BASIC".
At the same time, our family computer was a 386 and it came with something called GWBasic. I was a huge Mortal Kombat fan as well, and I recall finding the moves for the game on an AOL usenet. I took them all and wrote a program in BASIC that let you search and find moves for your character. I distributed this on some floppies to friends.
After that I lost interest. My "Information Systems" shop in high school was more about how to use Office than it was about programming. A few years later I found out that you could run your own text-based games (MUDs) and I quickly jumped into that and the C language.
From there, I was in and out of programming - C, to C++. Java and PHP, then back to Java. It would be about 15 years later until I finally realized I wasn't bad at this and land a job doing it. :)
Currently on a project to use AI as music recommending model, an interactive AI model generator and researching on Distributed Systems altogether in three different teams for each thing...
Seems I'm the dirty fish of their team.. 😖
Fucking wasting the time all along the day...
Like Why the Fuck am I degrading my own potential, quality and what not...
Oh god Fucking pick me to the hell NOWWW
One thing they do not prepare you for in computer science nor distributed systems: having 5 IDEs open, writing integration between all five of them so that new features will talk amongst all platforms with ease.
I'm currently mostly learning web dev, but do you guys have any book recommendations for other fields of programming. Perhaps something low-level or something like distributed systems. Everything goes.
What is the best laptop for development?
Especially if you work a lot with virtualization, containers, the cloud, and a lot of systems programming. And you like to simulate a lot of distributed environments on locally?3
The first one was changing the main topic of my research activity, from distributed systems to AI/Deep Learning... Then moving from academia to companies, two very different worlds and two very different approaches, but I still like to think that my formal background is driving my decisions and helping me, even with everyday problems
My exams in Web Engineering and Distributed Systems at the University were postponed to mid April... Thank God, they would have started next Tuesday and I haven't properly learned. So I got that going for me.2
Yo been a longtime.
So I basically quit my last job to have successfully reached the top company in my country only to find they are such a mess.
No code quality whatsoever, testing? Yiu crazy? And all the old people who think they are senior whilst they do not know jack..
I do distribured web applications, but shit I hate titles and I think of myself as a software guy, I can do software that opens the fridge when I close the toilet lid ffs!
So, I am looking to deviate my career from web to something more deep such as distributed systems and services where I can use all of my skills and expand my knowledge more, and be able to code in js, c++ golang and more, handle and tackle infrastructure issues, virtualization etc...
So I want to ask you guys what would be an interesting project I can work on to concretize my skill and be able to convince my next recruiter that I walk the talk.
Thank you everyone7
Been doing parallel programming and I’ll be taking a distributed systems course next semester. I’ve also been dabbling with Rasp Pis and have been enjoying working in linux/CLI and I’m considering getting building a cluster.
What are some use cases where I could put into practice distributed systems/parallel programming with cluster setups? No limits here :)3
Git, Mercurial and others are distributed version control systems. Maybe it would have a federated version control system for hosting open source software...1
Sticking with emacs as my favorite editor. Navigation within files is easy. Working on multiple files also. I don't have to leave my editor to use the shell and can manage my filesystem as well. And the most important feature for me is tramp. When working with distributed systems it is pretty nice to access the remote filesystems from your local machine.