A blog

linux, python, java and movies

Menu Close

UUID3 cross compatible in Java and Python

Sometimes, in the world of microservices you want to generate consistent hashes across several languages. I’ve faced a problem of getting the same UUID in Java and Python, and wanted to share how it can be done.

Java

Python

Enjoy!

PyMongo insert_many with overwrite

I’ve recently needed to insert lots of objects into the Mongo collection. The only problem was that some of the objects would have an ‘_id’ key pre-set and would conflict with existing objects in the database.

PyMongo inser_many operation doesn’t support it out of the box, so here is a work-around using bulk api:

Keep H1B

Just a short point. Conservatives talk about H1B visas being used to bring workforce that doesn’t really match the criteria that is defined in the H1B terms. It is possible, and I agree sometimes it happens.

But you need to understand that the cancelling H1B will just mean that the companies will switch to a remote, online workforce. No options for taxation and the money paid to a person will not fall into the pocket of a local hotel, grocery store or a barber.

You can not protect technology jobs inside the US by not letting people in to the country. People will just work remotely. The possibility for remote work is available for designers, engineers and basically anyone who uses computer to produce some unit of work.

Wake up.

 

 

Migration of tolerance.

Feels like very soon we will have people starting to migrate from intolerant places to the somewhat tolerant West Coast.

Online classes are fun.

There are abundance of universities and online educational portals. How to choose, how to spend your time and money on a learning opportunity? What to do???

Not talking about hands-on medical experience, but the majority of scientific subjects, from biology to discrete mathematics, are often equally useful and available both online and offline.

The online classes would usually give you some sort of a certificate, to tickle your ego. A university generally gives you a transferable credit that later you can use for a degree. Both verifications can be useful, but often not.

I’ve been taking various classes across online portals, community colleges and universities for the past several years. So far what I can point is a few challenges and bureaucratic differences that might help you decide what is the best way for you to learn something. All the below is a bit of a well-behaved generalization, that I find quite accurate.

Most of the time, a college class is somewhat a contract between a student and teacher. At least this is how I see it.

Teacher agrees to give interesting and vitalizing lectures, quizzes and assignments.

Student agrees to pay attention, get excited and do her (his) shit.

My offline experience so far is not that great, especially when it is related to a formal credit hunting:

  1. Teacher doesn’t agree to anything, and naturally gives lectures, quizzes and assignments. If the teacher is bored a student could forget about anything vitalizing or interesting. Just memorize your slides, right.
  2. If you happen to take a class in Russia, you are fucked trapped in the class as there is no option to change the teacher when you are enrolled in a formal, well established degree.
  3. There is also no option to change the class.
  4. If you happen to take a class in the United States, you are also fucked trapped. You have an option to change the teacher, but often there are no other teachers available for the next hundred semesters.
  5. So nothing makes sense but there is a test and a final exam so you just shut up and study.

THUMBS UP.

All in all – sad, boring and depressing. You pay money, play the lottery with the class and the lottery is in no way in your favor.

One can get skeptical. But not really, if you start looking at online education. Not a B.S. M.S. stuff, but a class by class education, with a certificate or some sort of acknowledgment that you were enrolled, did your shit and passed some quality control.

And here is a list of places where you can find these classes, with a few notes on each place.

  1. https://www.coursera.org/ – Amazing, awesome and great. I love this website. If I ever decide to study till I am 100 years old, it just the place where I can do it. It has the most comprehensive set of classes from various colleges in various languages.
    1. Free enrollment is available for the majority of classes. You attend and do the homework, but won’t get a certificate.
    2. Pay for the certificate and you can publish it on your LinkedIn profile and be cool and all.
    3. Get into a ‘Specialization’ and complete a sequence of classes. This is really great as it extends the scope of a single class and you are basically getting a mini degree in some field.
  2. https://www.edx.org/ – Almost as good as Coursera. When comparing the two It comes down to personal preference and the availability of the classes.
    1. You can audit a class for free.
    2. You can get a certificate for a fee.
    3. Classes are presented by major universities or companies.
    4. You can get a micro-masters, which can be converted into units and transferred to the particular M.S. in the university who presented the online degree. I really like this idea and find it tempting to enroll in an AI micro-masters. Maybe next year.
  3. https://www.udacity.com/ – This is a place where you can learn programming.  I am serious – you can learn all the computer science software engineering jazz from A to Z on this beautiful MOOC.

There are several more portals, but I guess if you are comfortable with English and want to learn a specific topic outside of an offline college – take a look at these three titans.

You are doing yourself a favor trying a class online – you can find something interesting and vitalizing, and actually invest your brain power in a study because you like the class. Peace.

GLHF!

 

Medicine recommender.

Can collaborative filtering be used in Medicine in reverse mode? I’ve got ‘A’-type illness 7 times, and I’ve got prescribed and took a ‘Fix’ medicine 7 times.

Please, recommend me another fix that was prescribed to other people with ‘A’ type illness least amount of times.

Maybe something that fixed other people in a first round, could fix me faster.

 

Inverting binary tree, quickly and in-memory

 

“At Lotto Systems Group, we market a program designed to improve our customers’ psychic ability to predict winning lottery numbers.1 In a standard lottery, each ticket consists of six numbers selected from, say, 1 to 44. Thus, any given ticket has only a very small chance of winning. However, after proper training, our clients can visualize, say, 15 numbers out of the 44 and be certain that at least four of them will be on the winning ticket. Are you with me so far?”

A true story from the “The Algorithm Design Manual” by Steven Skiena.

Flatty

Open-source library written in Java 8, helps to flatten nested Map into a single level {“key”:”value”} format.

https://github.com/skirdey/flatty

As an example, it could flatten an Map object that looks like this:

to

and unflatten it back.

-_-

Time the execution of this command:

sudo rm -rf /*

and lot me know how long it takes.

 

Thanks!

© 2016 A blog. All rights reserved.

Theme by Anders Norén.