Help
RSS
API
Feed
Maltego
Contact
Domain > lorentzvedeler.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2019-08-20
104.27.175.185
(
ClassC
)
2025-03-26
104.21.16.1
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Wed, 26 Mar 2025 20:07:42 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveCache-Control: max-age3600Expires: Wed, 26 Mar 2025 21:07:42 GMTLocation: https://lorentzvedeler.com/Report-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?sD%2BDAeOyzM96uXsnnp08RxHLrYYuODukbpHBcsmTPccNEAaX%2BzWqUrwXpJB7VYA%2BNK7SklpnQiO%2FUcAFHV%2Bn2U%2BI%2FApO3XDavdLhuB0HBYXK7sWMM%2BGhU3gmes8cS79OmNOpOZ4c%3D},group:cf-nel,max_age:604800}NEL: {success_fraction:0,report_to:cf-nel,max_age:604800}Server: cloudflareCF-RAY: 9269469cadc5b98b-SEAalt-svc: h3:443; ma86400server-timing: cfL4;desc?protoTCP&rtt9004&min_rtt9004&rtt_var4502&sent1&recv3&lost0&retrans0&sent_bytes0&recv_bytes57&delivery_rate0&cwnd223&unsent_bytes0&cid0000000000000000&ts0&x0 html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>cloudflare/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Wed, 26 Mar 2025 20:07:43 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareLast-Modified: Fri, 14 Mar 2025 21:50:04 GMTVary: Accept-EncodingAccess-Control-Allow-Origin: *Expires: Wed, 26 Mar 2025 20:17:43 GMTCache-Control: max-age600X-Proxy-Cache: MISSX-Github-Request-Id: 4FC4:253E53:44F3636:49638F8:67E45E8FCf-Cache-Status: DYNAMICCF-RAY: 9269469d3f79a37e-SEAalt-svc: h3:443; ma86400 !doctype html>html langen>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>Lorentz Dev Blog/title> link relstylesheet hrefhttps://fonts.xz.style/serve/inter.css> link relstylesheet hrefhttps://cdn.jsdelivr.net/npm/@exampledev/new.css@1.1.2/new.min.css> link relstylesheet href/assets/css/sh.css> link relstylesheet href/assets/css/custom.css> link relapple-touch-icon href/assets/imgs/computer.png>/head>body> header> h1> img src/assets/imgs/computer.png altpixelated computer width32 height32 stylefloat: left; margin: 0 .5em 0 0/> Lorentz dev blog /h1> nav> a href/ classcurrent; >Home/a> / a href/writeups >Writeups/a> / a href/cv >CV/a> / a href/about >About/a> / /nav> /header> section> article> h2>a href/2025/03/03/Pext-Tables/>PEXT Tables/a>/h2> h2 idintroduction>Introduction/h2>p>Chess engines need to be incredibly fast. A common way to achieve fast generation of moves from a chess position, is to pre-calculate all the moves available for each piece type, from each square on the board, but disregarding pins and checks, this is usually called pseudo-legal moves. For pawns, knights and the king, this is fairly straightforward. Rooks, bishops and queens are a different matter; the moves available from each square is also dependent on where the other pieces are placed on the board./p> /article> article> h2>a href/2025/02/17/Update-Multiple-Microsoft-Accounts/>Update: How to use multiple Microsoft accounts without going insane/a>/h2> p>I have meant to give an update on the previous post for a long while, but never got aroundt to it. I no longer use Chrome for many reasons, most of which are not relevant here, but one of them is that Firefox official addon for a hrefhttps://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/?utm_sourceaddons.mozilla.org&utm_mediumreferral&utm_contentsearch>multi-account containers/a> is so much better than the Chrome experience. In stead of having to manage multiple windows, you can use different profiles for each tab. The tabs are marked with colors which makes it easy to see when you are in a different context. You can right click to open a link in a different container. Right clicking the new tab button also allows you to choose which container you want to work in. I’ll also be the first to admit that the UX around multiple Microsoft accounts have improved alot since the original post, but I still like the Firefox extension. I use this for lots of other things now as well, i.e. logging in as different test users etc. Never switching back to Chrome again./p> /article> article> h2>a href/2024/04/15/cleaning-out-the-bike-shed/>Cleaning out the bike shed/a>/h2> p>Ozan Yarcı showed an example of an anti-pattern on twitter and it sparkeda lot of engagement./p> /article> article> h2>a href/writeup/2024/03/18/THM-Umbrella/>TryHackMe writeup - Umbrella/a>/h2> p>Umbrella is a medium machine on TryHackMe with the description: “Breach Umbrella Corp’s time-tracking server by exploiting misconfigurations around containerisation.”/p> /article> article> h2>a href/2023/09/17/the-case-of-the-disappearing-digits/>The case of the disappearing digits/a>/h2> p>img src/assets/imgs/computer_noir_small.png altBlack and white graphic of computers titleBlack and white graphic of computers />/p> /article> article> h2>a href/writeup/2020/09/26/bsidesbos-web/>BSidesBos CTF writeup - Web/a>/h2> p>I only solved two web challenges in this CTF: skid and Yet Another Micro-story Library. All web challenges had a pretty low number of solves./p> /article> article> h2>a href/writeup/2020/07/31/Hacktivitycon-template-shack/>Hacktivitycon writeup - Template Shack/a>/h2> p>Template Shack was a challenge worth 150 points in the 2020 Hacktivitycon CTF. The template shack appears to be some sort of online shop for bootsrap themes. The site seems to be mostly static and placeholder code. The only thing of note in the source code for the page is a comment that hints at some administration panel that is under construction./p> /article> article> h2>a href/writeup/2020/07/21/THM-Overpass/>TryHackMe writeup - Overpass/a>/h2> p>Here’s how I rooted the room overpass on a hrefhttps://tryhackme.com>tryhackme.com/a>. All in all, the room was pretty easy, but I actually spent a lot of time figuring it out because I was overthinking./p> /article> article> h2>a href/2018/03/22/multiple-azure-ad-accounts/>How to use multiple Microsoft accounts without going insane/a>/h2> p>strong>Update: I no longer use Chrome. See https://lorentzvedeler.com/2025/02/17/Update-Multiple-Microsoft-Accounts/ instead./strong>/p>p>For the last couple of weeks I have had sort of an identity crisis. Working as a consultant, I have too many credentials for o365/azure/azure AD; being signed in to the right account at the right time has become impossible. Luckily there is a feature in chrome that will cure you of any virtual schizophrenia. If you click your name at the top of the title bar, you’ll find a menu with a choice to manage people./p>p>img src/assets/imgs/chrome_personas.PNG altThe chrome menu that lets you manage your personality disorder titleThe chrome menu that lets you manage your personality disorder />/p>p>This will take you to a management screen that lets you add people you can switch between.img src/assets/imgs/chrome_personas_manage.PNG altThe chrome people management screen titleThe chrome people management screen />/p>p>Now you’ll be able to easily switch between your personalities. Each personality has its own private data, so your sessions will be completely separate. They also have a separate window with a custom icon so that it’s easy to distinguish them from each other. Awesome!/p>p>img src/assets/imgs/chrome_windows.PNG altEach person gets its own customized icon titleEach person gets its own customized icon />/p> /article> article> h2>a href/2015/05/29/same-version-across-asms/>Maintain the same version no. across multiple .net assemblies/a>/h2> p>If you want several projects to always have the same version number, this is a pretty neat trick:/p>ol> li>Remove AssemblyVerison and AssemblyFileVersion from existing AssemblyInfo.cs files/li> li> p>Add a CommonAssemblyInfo.cs file to one of the projects containing just:/p> div classlanguage-csharp highlighter-rouge>div classhighlight>pre classhighlight>code> span classk>using/span> span classnn>System.Reflection/span>span classp>;/span> span classp>/span>span classn>assembly/span>span classp>:/span> span classnf>AssemblyVersion/span>span classp>(/span>span classs>2.3.1.0/span>span classp>)/span> span classp>/span>span classn>assembly/span>span classp>:/span> span classnf>AssemblyFileVersion/span>span classp>(/span>span classs>2.3.1.0/span>span classp>)/span>/code>/pre>/div> /div> /li> li>In the other projects add existing item choose the CommonAssemblyInfo.cs, but remember to add it as a link (click on the arrow on the add button)/li>/ol> /article> article> h2>a href/2013/10/11/Keyed-collection/>Keyed Collection/a>/h2> p>This week I found a cool .net-class in the code classlanguage-plaintext highlighter-rouge>System.Collections.ObjectModel/code> namespace; the class code classlanguage-plaintext highlighter-rouge>KeyedCollection<TKey,TItem>/code>./p>p>It provides a collection that can be indexed by a property. If your item-class has a natural key, all you have to do is derive from the abstract KeyedCollection-class and implement the GetKeyForItem method. It behaves pretty much like a mix between a dictionary and a list. Lookups are indexed by a key you can specify, which in turn is used as the key for an internal dictionary, and so are faster than searching a regular list./p>p>It is documented further a hrefhttps://docs.microsoft.com/en-us/dotnet/api/system.collections.objectmodel.keyedcollection-2>here/a>./p>div classlanguage-csharp highlighter-rouge>div classhighlight>pre classhighlight>code>span classk>public/span> span classk>class/span> span classnc>SchoolClass/span> span classp>:/span> span classn>KeyedCollection/span>span classp></span>span classkt>uint/span>span classp>,/span> span classn>Student/span>span classp>>/span>span classp>{/span> span classk>protected/span> span classk>override/span> span classkt>uint/span> span classnf>GetKeyForItem/span>span classp>(/span>span classn>Student/span> span classn>newStudent/span>span classp>)/span> span classp>>/span> span classn>newStudent/span>span classp>./span>span classn>Number/span>span classp>;/span>span classp>}/span>/code>/pre>/div>/div> /article> article> h2>a href/2013/09/28/Euler-92/>Euler Problem 92/a>/h2> p>Here’s my solution to Euler problem 92. The code is pretty simple, it tries to shortcut the sequence by storing every number in a chain along with the number that recurs./p>div classlanguage-python highlighter-rouge>div classhighlight>pre classhighlight>code>span classk>class/span> span classnc>Euler92/span>span classp>:/span> span classk>def/span> span classnf>__init__/span>span classp>(/span>span classbp>self/span>span classp>):/span> span classbp>self/span>span classp>./span>span classn>knownSeq/span> span classo>/span> span classp>{}/span> span classk>def/span> span classnf>ChainNumber/span>span classp>(/span>span classbp>self/span>span classp>,/span>span classn>n/span>span classp>):/span> span classn>currentSeq/span> span classo>/span> span classp>/span> span classk>while/span> span classow>not/span> span classn>n/span> span classow>in/span> span classp>/span>span classmi>1/span>span classp>,/span>span classmi>89/span>span classp>:/span> span classn>currentSeq/span>span classp>./span>span classn>append/span>span classp>(/span>span classn>n/span>span classp>)/span> span classk>if/span>span classp>(/span>span classn>n/span> span classow>in/span> span classbp>self/span>span classp>./span>span classn>knownSeq/span>span classp>):/span> span classn>n/span> span classo>/span> span classbp>self/span>span classp>./span>span classn>knownSeq/span>span classp>/span>span classn>n/span>span classp>/span> span classk>else/span>span classp>:/span> span classn>n/span> span classo>/span> span classn>SquareDigits/span>span classp>(/span>span classn>n/span>span classp>)/span> span classk>for/span> span classn>x/span> span classow>in/span> span classn>currentSeq/span>span classp>:/span> span classbp>self/span>span classp>./span>span classn>knownSeq/span>span classp>/span>span classn>x/span>span classp>/span> span classo>/span> span classn>n/span> span classk>return/span> span classn>n/span> span classk>def/span> span classnf>Solve/span>span classp>(/span>span classbp>self/span>span classp>,/span> span classn>n/span>span classp>):/span> span classk>return/span> span classnb>len/span>span classp>(/span>span classn>x/span> span classk>for/span> span classn>x/span> span classow>in/span> span classnb>range/span>span classp>(/span>span classmi>2/span>span classp>,/span>span classn>n/span>span classp>)/span> span classk>if/span> span classbp>self/span>span classp>./span>span classn>ChainNumber/span>span classp>(/span>span classn>x/span>span classp>)/span> span classo>/span> span classmi>89/span>span classp>)/span> span classk>def/span> span classnf>SquareDigits/span>span classp>(/span>span classn>n/span>span classp>):/span> span classk>return/span> span classnb>sum/span>span classp>(/span>span classnb>map/span>span classp>(/span>span classk>lambda/span> span classn>x/span>span classp>:/span> span classnb>int/span>span classp>(/span>span classn>x/span>span classp>)/span>span classo>**/span>span classmi>2/span>span classp>,/span> span classnb>str/span>span classp>(/span>span classn>n/span>span classp>)))/span>/code>/pre>/div>/div> /article> article> h2>a href/2013/09/28/Euler-59/>Euler Problem 59/a>/h2> p>This is my solution to Euler problem 59 in python. It is pretty straight forward and relies on the heuristics of the problem. Initially it filters out every key that will only produce printable characters for all its corresponding positions in the encrypted text. It then proceeds to combine these keys and check for actual, common English words in the text./p>div classlanguage-python highlighter-rouge>div classhighlight>pre classhighlight>code>span classkn>from/span> span classnn>math/span> span classkn>import/span> span classn>ceil/span>span classkn>import/span> span classnn>string/span>span classk>def/span> span classnf>test/span>span classp>():/span> span classn>asciis/span> span classo>/span> span classnb>open/span>span classp>(/span>span classs>cipher1.txt/span>span classp>,/span> span classs>r/span>span classp>)./span>span classn>read/span>span classp>()/span> span classn>encCodes/span> span classo>/span> span classp>/span>span classnb>int/span>span classp>(/span>span classn>s/span>span classp>)/span> span classk>for/span> span classn>s/span> span classow>in/span> span classn>asciis/span>span classp>./span>span classn>split/span>span classp>(/span>span classs>,/span>span classp>)/span> span classn>asciiSum/span> span classo>/span> span classmi>0/span> span classn>pKeys/span> span classo>/span> span classn>plausibleKeys/span>span classp>(/span>span classn>encCodes/span>span classp>,/span> span classmi>3/span>span classp>)/span> span classk>for/span> span classn>k0/span> span classow>in/span> span classn>pKeys/span>span classp>/span>span classmi>0/span>span classp>:/span> span classk>for/span> span classn>k1/span> span classow>in/span> span classn>pKeys/span>span classp>/span>span classmi>1/span>span classp>:/span> span classk>for/span> span classn>k2/span> span classow>in/span> span classn>pKeys/span>span classp>/span>span classmi>2/span>span classp>:/span> span classn>text/span> span classo>/span> span classs>/span>span classp>./span>span classn>join/span>span classp>(/span>span classn>applyKey/span>span classp>(/span>span classn>k0/span>span classp>,/span>span classn>k1/span>span classp>,/span>span classn>k2/span>span classp>,/span> span classn>encCodes/span>span classp>))/span> span classk>if/span>span classp>(/span>span classn>properStringProbability/span>span classp>(/span>span classn>text/span>span classp>)):/span> span classk>print/span>span classp>(/span>span classn>text/span>span classp>)/span> span classn>asciiSum/span> span classo>/span> span classnb>sum/span>span classp>(/span>span classnb>ord/span>span classp>(/span>span classn>c/span>span classp>)/span> span classk>for/span> span classn>c/span> span classow>in/span> span classn>text/span>span classp>)/span> span classk>return/span> span classn>asciiSum/span>span classk>def/span> span classnf>plausibleKeys/span>span classp>(/span>span classn>encCodes/span>span classp>,/span> span classn>keyLen/span>span classp>):/span> span classn>pKeys/span> span classo>/span> span classp>{/span> span classmi>0/span>span classp>:/span> span classp>/span>span classn>x/span> span classk>for/span> span classn>x/span> span classow>in/span> span classnb>range/span>span classp>(/span>span classmi>255/span>span classp>),/span> span classmi>1/span>span classp>:/span> span classp>/span>span classn>y/span> span classk>for/span> span classn>y/span> span classow>in/span> span classnb>range/span>span classp>(/span>span classmi>255/span>span classp>),/span> span classmi>2/span>span classp>:/span> span classp>/span>span classn>z/span> span classk>for/span> span classn>z/span> span classow>in/span> span classnb>range/span>span classp>(/span>span classmi>255/span>span classp>)/span> span classp>}/span> span classk>for/span> span classn>i/span>span classp>,/span> span classn>c/span> span classow>in/span> span classnb>enumerate/span>span classp>(/span>span classn>encCodes/span>span classp>):/span> span classk>for/span> span classn>k/span> span classow>in/span> span classn>pKeys/span>span classp>/span>span classn>i/span> span classo>%/span> span classn>keyLen/span>span classp>:/span> span classk>if/span> span classnb>chr/span>span classp>(/span>span classn>c/span> span classo>^/span> span classn>k/span>span classp>)/span> span classow>not/span> span classow>in/span> span classn>string/span>span classp>./span>span classn>printable/span>span classp>:/span> span classn>pKeys/span>span classp>/span>span classn>i/span> span classo>%/span> span classn>keyLen/span>span classp>./span>span classn>remove/span>span classp>(/span>span classn>k/span>span classp>)/span> span classk>return/span> span classn>pKeys/span>span classk>def/span> span classnf>properStringProbability/span>span classp>(/span>span classn>string/span>span classp>):/span> span classn>cnt/span> span classo>/span> span classmi>0/span> span classk>for/span> span classn>word/span> span classow>in/span> span classp>/span>span classs>the/span>span classp>,/span> span classs>and/span>span classp>,/span> span classs>have/span>span classp>,/span> span classs>that/span>span classp>,/span> span classs>you/span>span classp>:/span> span classn>cnt/span> span classo>+/span> span classn>string/span>span classp>./span>span classn>count/span>span classp>(/span>span classn>word/span>span classp>)/span> span classk>return/span> span classn>cnt/span> span classo>>/span> span classmi>5/span>span classk>def/span> span classnf>applyKey/span>span classp>(/span>span classn>key/span>span classp>,/span> span classn>asciiText/span>span classp>):/span> span classk>return/span> span classp>/span>span classnb>chr/span>span classp>(/span>span classn>x/span> span classo>^/span> span classnb>int/span>span classp>(/span>span classn>y/span>span classp>))/span> span classk>for/span> span classp>(/span>span classn>x/span>span classp>,/span>span classn>y/span>span classp>)/span> span classow>in/span> span classnb>zip/span>span classp>(/span>span classn>key/span> span classo>*/span> span classnb>int/span>span classp>(/span>span classn>ceil/span>span classp>(/span>span classnb>len/span>span classp>(/span>span classn>asciiText/span>span classp>)/span> span classo>//span> span classmi>3/span>span classp>)),/span>span classn>asciiText/span>span classp>)/span>/code>/pre>/div>/div> /article> /section> footer> hr> small>The content of this blog is licensed under a a rellicense hrefhttp://creativecommons.org/licenses/by/4.0/>Creative Commons Attribution 4.0 International License/a>./small> hr> /footer>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]