789 stories

Wszystko co możesz sobie wyobrazić, jest realne

1 Share
22-letni Justin Peter to niemiecki artysta, który od 2016 roku tworzy swoje kolaże przy wykorzystaniu możliwości programu Photoshop. "Wszystko co może…

Read the whole story
Share this story

The Wizard Algorithm

1 Share

Password requirements can be complicated. Some minimum and maximum number of characters, alpha and numeric characters, special characters, upper and lower case, change frequency, uniqueness over the last n passwords and different rules for different systems. It's enough to make you revert to a PostIt in your desk drawer to keep track of it all. Some companies have brillant employees who feel that they can do better, and so they create a way to figure out the password for any given computer - so you need to neither remember nor even know it.

Kendall Mfg. Co. (estab. 1827) (3092720143)

History does not show who created the wizard algorithm, or when, or what they were smoking at the time.

Barry W. has the misfortune of being a Windows administrator at a company that believes in coming up with their own unique way of doing things, because they can make it better than the way that everyone else is doing it. It's a small organization, in a sleepy part of a small country. And yet, the IT department prides itself on its highly secure practices.

Take the password of the local administrator account, for instance. It's the Windows equivalent of root, so you'd better use a long and complex password. The IT team won't use software to automate and keep track of passwords, so to make things extremely secure, there's a different password for every server.

Here's where the wizard algorithm comes in.

To determine the password, all you need is the server's hostname and its IP address.

For example, take the server PRD-APP2-SERV4 which has the IP address

Convert the hostname to upper case and discard any hyphens, yielding PRDAPP2SERV4.

Take the middle two octets of the IP address. If either is a single digit, pad it out to double digits. So becomes which yields 8010. Now take the last character of the host name; if that's a digit, discard it and take the last letter, otherwise just take the last letter, which gives us V. Now take the second and third letters of the hostname and concatenate them to the 8010 and then stick that V on the end. This gives us 8010RDV. Now take the fourth and fifth letters, and add them to the end, which makes 8010RDVAP. And there's your password! Easy.

It had been that way for as long as anyone could remember, until the day someone decided to enable password complexity on the domain. From then on, you had to do all of the above, and then add @!#%&$?@! to the end of the password. How would you know whether a server has a password using the old method or the new one? Why by a spreadsheet available on the firm-wide-accessible file system, of course! Oh, by the way, there is no server management software.

Critics might say the wizard algorithm has certain disadvantages. The fact that two people, given the same hostname and IP address, often come up with different results for the algorithm. Apparently, writing a script to figure it out for you never dawned on anyone.

Or the fact that when a server has lost contact with the domain and you're trying to log on locally and the phone's ringing and everyone's pressuring you to get it resolved, the last thing you want to be doing is math puzzles.

But at least it's better than the standard way people normally do it!

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!
Read the whole story
Share this story

Some words on PWW #22

1 Share

There are lots of patterns to be found in the picture from my previous post!

This is a really remarkable tiling. Here are a few special properties I know of:

  1. First of all, I hope you realized that the pattern can be extended infinitely to cover the whole plane with a hexagonal tiling. One way to convince yourself of this is to look at the horizontal strips of hexagons labelled 6 \dots 0. Each row of hexagons will just have 6 \dots 0 repeating forever; and each row is a copy of the row below it, offset by two and a half hexagons.

  2. Of course, there are seven different colors used (also indicated by the numbers 0 \dots 6).

  3. Instead of seeing it as made up of a bunch of repeating strips, you can also see it as made of a bunch of repeating parallelograms:

    Each parallelogram has four zeros at its corners, and contains one of every other color/number in its interior. (There’s actually nothing special about zero; you can make parallelograms using any number you choose for the corners.)

  4. Every hexagon touches six other hexagons, exactly one with each other color/number. For example, a hexagon labelled 1 will touch six hexagons labelled 0, 2, 3, 4, 5, and 6. (Can you see how to prove this? Think about how the whole tiling is built out of copies of the strip 6 \dots 0.) This explains what’s so special about having seven colors!

  5. If you pick any color and look at all the hexagons of that color, they are always arranged in the same pattern, at the vertices of an equilateral triangular grid. For example, below I have arbitrarily chosen to highlight all the number 3 hexagons:

    This means that if you pick any two colors/numbers, there is always some translation that will move all the hexagons of one color to the places that used to be occupied by the hexagons of the other color.

    Here’s what it looks like if we draw all these triangular grids overlaid on top of each other (with brighter colors just for fun). I think it’s remarkable that seven equilateral triangular grids fit together so precisely!

  6. In fact, since each hexagon touches one of each other color, for any two colors we can move all the hexagons of one color to those of the other by translating just one “hexagon unit”—that is, each hexagon will move to a hexagon next to it. For example, if we want to move all the number 3 hexagons so they match up with where the number 5 hexagons used to be, just move everything one hexagon down and to the right.

    I’ll reproduce the original image here so you can refer to it while thinking about this and the following properties:

  7. Each of the six directions we can translate corresponds to adding by a different number mod seven. For example, it’s easy to see that moving to the left corresponds to adding 1 (adding 1 to 6 wraps back around to 0 because we take the remainder when dividing by 7). In other words, pick any hexagon and look at its number; the hexagon to its left will have a number which is 1 bigger (mod 7). Moving down and to the right is adding 2: for example, starting at the 0 in the middle and following the line of hexagons down and to the right, we find 0, 2, 4, 6, 1, 3, 5, 0, where each number is two more than the previous (mod 7). Down and to the left is adding 3; and so on. I’ll let you work out the other three directions.

  8. As pointed out in a comment by Will, rotating corresponds to multiplication mod 7! For example, rotating 60 degrees counterclockwise around 0 corresponds to multiplying by 3 (mod 7). In counterclockwise order, the six numbers we find around 0 are 1, 3, 2, 6, 4, 5. We can check that 1 \times 3 = 3, and 3 \times 3 = 9 \equiv 2 \pmod 7, 2 \times 3 = 6, 6 \times 3 = 18 \equiv 4 \pmod 7, and so on. Rotating the other direction is multiplying by 5. Rotating by 120 degrees is multiplying by 2 or 4; rotating by 180 degrees is multiplying by 6.

  9. Pick a hexagon; say it contains the number n. We already know that none of the hexagons it touches contain n. But in fact, none of the hexagons those hexagons touch contain n either (except for the original hexagon we chose). This is because each hexagon touches exactly one copy of every other color/number. So, in other words, each hexagon is contained in two layers of hexagons, none of which share the same color with the central hexagon. For example, if we pick a zero hexagon and go two layers out from there, we can see that the zero in the middle is the only zero (and there are exactly 3 copies of each other number):

Let me know in the comments if you see any other patterns that I missed!

Read the whole story
Share this story

Życiowe lekcje od osób, które nauczyły się ich w bolesny sposób

1 Share
Podobno najlepiej uczymy się na błędach. Czasami wystarczy jednak posłuchać innych, by zaoszczędzić sobie trochę bólu. Za każdą z poniższych rad sto…

Read the whole story
Share this story

CodeSOD: The Sanity Check

1 Share

I've been automating deployments at work, and for Reasons™, this is happening entirely in BASH. Those Reasons™ are that the client wants to use Salt, but doesn't want to give us access to their Salt environment. Some of our deployment targets are microcontrollers, so Salt isn't even an option.

While I know the shell well enough, I'm getting comfortable with more complicated scripts than I usually write, along with tools like xargs which may be the second best shell command ever invented. yes is the best, obviously.

The key point is that the shell, coupled with the so-called "Unix Philosophy" is an incredibly powerful tool. Even if you already know that it's powerful, it's even more powerful than you think it is.

How powerful? Well, how about ripping apart the fundamental rules of mathematics? An anonymous submitter found this prelude at the start of every shell script in their organization.

#/usr/bin/env bash declare -r ZERO=$(true; echo ${?}) declare -r DIGITZERO=0 function sanity_check() { function err_msg() { echo -e "\033[31m[ERR]:\033[0m ${@}" } if [ ${ZERO} -ne ${DIGITZERO} ]; then err_msg "The laws of physics doesn't apply to this server." err_msg "Real value ${ZERO} is not equal to ${DIGITZERO}." exit 1 fi } sanity_check

true, like yes, is one of those absurdly simple tools: it's a program that completes successfully (returning a 0 exit status back to the shell). The ${?} expression contains the last exit status. Thus, the variable $ZERO will contain… 0. Which should then be equal to 0.

Now, maybe BASH isn't BASH anymore. Maybe true has been patched to fail. Maybe, maybe, maybe, but honestly, I'm wondering whose sanity is actually being checked in the sanity_check?

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!
Read the whole story
Share this story

Ciągle czekamy, ale na co?

1 Share
ciagle czekamy, ale na co?

Zawsze na coś czekamy, na dobry moment, kiedy schudniemy, kiedy zmienimy pracę. Wtedy właśnie wszystkie te fajne rzeczy naraz na nas ponoć spadną i chyba przywalą ilością, jeśli oczywiście tak się stanie. Szczęście się wtedy na nas wyleje i pewnie zaleje swoim błogim stanem. Nirwana?! Akurat!

Moment nie nadchodzi, waga się z nami spiera od kilku dobrych lat, żeby nam jednak udowodnić, iż racji w naszych oczekiwaniach nie mamy. A życie toczy się dalej, tak samo czas odlicza. Praca ta sama, momenty dobre jednak jakoś się nie pojawiają, a my dalej czekamy. Stan naszego szczęścia ma zawsze postać przyszłą, nieznaną. Czas przyszły niedokonany i chyba nawet często nie jest tak do końca zaplanowany.

A inni nie czekają

Szacuje się, że mały Mozart, przed upływem swoich 6-stych urodzin, miał już za sobą 3.500 godzin praktyki. Shakuntala Devi , urodzona w Bangalore w 1939, zadziwiła społeczność akademicką w Indiach, gdy w wieku 8 lat była w stanie przeprowadzić 3- cyfrowe kalkulacje matematyczne. Jej wyczyny matematyczne zostały zanotowane w Księdze Rekordów Guinnessa kilka razy, np. gdy wyciągnęła w pamięci pierwiastek 23 stopnia z liczby składającej się z 201 cyfr, czy gdy w kilka sekund znalazła pierwiastek sześcienny z 332,812,557. W 2006 roku opublikowała opowieść “In the Wonderland of Numbers” o dziewczynie zafascynowanej cyframi.

W 1887 roku, urodził się Srinivasa Ramanujan. Był genialnym matematykiem, samoukiem. Pozostawił po sobie ok. 4000 wzorów matematycznych, wiele do dziś niewyjaśnionych i zaskakujących! Udowodnił, że wykształcenie wcale nie jest kluczem do wiedzy i osiągnięcia czegoś w życiu. Całymi nocami pracował nad problemami matematycznymi (więcej o nim czytaj tutaj: https://www.matematyka.pl/19068.htm)

Utalentowani byli pewnie teraz sobie i pomyślisz. A co jeśli za tymi osiągnięciami były godziny żmudnej praktyki, wtedy gdy inni czekali na… dobry moment…?

A do sukcesu czy pełnej kreatywności ponoć 10 lat pracy potrzeba… Cytując za Matthew Syed, N.Wishbow of Carnegie Mellon Uniwersytet przeprowadził badanie na 66 poetach. Ponad 80% z tej grupy potrzebowało 10 lat albo i więcej bardzo konsekwentnej praktyki rzemiosła pisarskiego zanim zaczęli produkować swoje najbardziej kreatywne prace.

To po co i na co czekamy?

A co jeśli będziesz żyć naprawdę długo. Okrutnym byłoby chyba cały czas tak po prostu czekać. I nie być w dodatku w stanie powiedzieć czy jest się szczęśliwym, spełnionym? A czy przypadkiem nie jest tak, że brak nieszczęścia jest szczęściem?

W japońskiej kulturze uważa się, że tylko obiekty nieperfekcyjne, jak na przykład rozerwana torebka herbaty, są tak naprawdę piękne. Koncept ten jest znany jako: “Wabi-Sabi”.

WABI SABI 侘 寂 わ びさ び to sztuka znalezienia subtelnego i naturalnego piękna w niedoskonałości.To akceptacja rzeczy takimi, jakie są. Bez udawania i upiększania.To umiłowanie rzeczy prostych, skromnych, surowych. Czasem podniszczonych. To też spojrzenie świeżym okiem na coś, co mogłoby być spisane na straty. To szukanie prostego uroku, nostalgii, ulotnej emocji (http://wszystkiegojaponskiego.pl/2016/10/29/wabi-sabi/).

To może być też sposób na życie, zważywszy, że największa koncentracja stulatków jest właśnie w Japonii na wyspie Okinawa. A sekret tych mieszkańców to tylko jedno słowo: “ikigai”.

IKIGAI – “To japoński koncept określający sens życia. To powód, dla którego codziennie rano wstajemy, coś, co lubimy robić i co pozytywnie na nas wpływa. Zgodnie z japońską filozofią, każdy ma swoje ikigai – niektórzy już je znaleźli, inni dalej go szukają. Najprościej ujmując, ikigai to pasja życia. To szukanie głębokiego sensu każdego dnia i, co się z tym wiąże, to ciągłe dążenie do stanu szczęścia. Zmierzanie do celu jest tutaj ważniejsze i ciekawsze niż samo dotarcie do niego, a samo ikigai z biegiem lat może się zmieniać” (http://golivingcosily.com/ikigai/).  

A gdy już nie czekamy, działamy i się zniechęcimy

To możesz skorzystać z “Pomidorowej techniki” zaproponowanej przez autora książki (Francesco Cirillo): ” The pomodoro technique”. Nazwa techniki wywozi się od timera w kształcie pomidora, którego to autor zaczął używać do planowania swojej pracy. Ustawiasz go na 25 minut i właśnie w tym czasie skupiasz się na konkretnym zadaniu. Ten 25 minutowy przedział czasowy nazwany jest właśnie przez niego “pomodoro”. Jak timer zadzwoni, to pozwalasz sobie na 5 minut przerwy, żeby się nieco zrelaksować, wypić kawę, herbatę, poruszać się nieco i znowu wrócić na kolejne “pomodoro”.

Inną opcją do rozważenia jest wdrożenie 90-dniowej “rutyny ucieczkowej” od… codzienności. Nasze życie niestety, albo może i stety, ma swoją monotonie. Ta zaś może być po pewnym czasie przytłaczająca i tym samym źle wpływająca na poziom naszej energii (tej kreatywnej). Po upływie 90 dni możemy zatem zapodać dla naszego mózgu coś nowego, bardziej ekscytującego. Możesz to zrobić samemu, z partnerem, kolegą, znajomym. I niekoniecznie chodzi tu o podróże, które też są oczywiście jedną z opcji. Chodzi bardziej o to, żeby uciec od tych standardowych czynności i myśli, naładować na nowo baterię, która ma działać przynajmniej tak długo jak dla tych na Okinawie!

To na co jeszcze czekasz? Gdzie jest Twoje IKIGAI!



The post Ciągle czekamy, ale na co? appeared first on Polka Away.

Read the whole story
Share this story
Next Page of Stories