Help
RSS
API
Feed
Maltego
Contact
Domain > bunsch.pl
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-09-18
193.143.77.18
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Wed, 18 Sep 2024 00:01:23 GMTServer: ApacheLocation: https://bunsch.pl/Content-Length: 226Content-Type: text/html; charsetiso-8859-1 !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN>html>head>title>301 Moved Permanently/title>/head>body>h1>Moved Permanently/h1>p>The document has moved a hrefhttps://bunsch.pl/>here/a>./p>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Wed, 18 Sep 2024 00:01:23 GMTServer: ApacheUpgrade: h2,h2cConnection: UpgradeLast-Modified: Tue, 18 Apr 2023 07:01:55 GMTAccept-Ranges: bytesContent-Length: 12740Content-Type: text/html !DOCTYPE html>html xmlnshttp://www.w3.org/1999/xhtml xml:langen langen-us> head> meta http-equivcontent-type contenttext/html; charsetutf-8 /> meta nameviewport contentwidthdevice-width, initial-scale1.0, maximum-scale2 /> link hrefhttp://gmpg.org/xfn/11 relprofile /> meta namegoogle-site-verification contentIK5KXxb02eQwaIwEaIOYGHrgywDBuP35aPUl17pRmTg /> link href//fonts.googleapis.com/ reldns-prefetch /> link relpreload href//fonts.googleapis.com/css?familyDroid+Serif:400,700,400italic|Open+Sans:700,400&subsetlatin,latin-ext asstyle onloadthis.onloadnull;this.relstylesheet /> meta contentMarcin Bunsch propertyog:site_name />meta contentMarcin Bunsch propertyog:title /> meta contentwebsite propertyog:type /> meta namedescription contentPersonal Blog. Code mechanic at Synthesis. Ruby/Rails/React/Redux/whatever technology starts with R. Feminism ally. propertyog:description/> meta contenthttps://bunsch.pl/ propertyog:url /> title> Marcin Bunsch /title> !-- CSS --> link relstylesheet href/public/css/hyde.css /> link relstylesheet href/public/css/syntax.css /> link relstylesheet href//fonts.googleapis.com/css?familyOpen+Sans:300,400italic,400,600,700|Abril+Fatface /> !-- RSS --> link relalternate typeapplication/rss+xml titleRSS href/atom.xml /> !-- JS --> script typetext/javascript src/public/js/zepto.min.js>/script>/head> body classlist> header classmasthead> div classmasthead-inner> a href/> img classprofile srchttps://www.gravatar.com/avatar/5b35c7c7eb9912b0318934cfb22aabb5.png?s200 altMarcin Bunsch />/a>h1>Marcin Bunsch/h1>p classlead> Code Mechanic at at a hrefhttps://www.synthesis.com>Synthesis/a>/p>div classsocial> a classtwitter hrefhttps://twitter.com/marcinbunsch> img src/public/images/social/twitter.png alttwitter width25 height25 /> /a> a classgithub hrefhttps://github.com/marcinbunsch> img src/public/images/social/github.png altgithub /> /a> a classlinkedin hrefhttp://www.linkedin.com/in/mbunsch> img src/public/images/social/linkedin.png altlinkedin /> /a>/div> /div> /header> div classcontent container> div classposts> div classpost> span classpost-date>18 Apr 2023/span> h2> a href/2023/04/18/langchain-chat-bot-on-custom-documents/> Simple chat bot using custom documents with langchain /a> /h2> div classpost-content-truncate> p>With the ChatGPT and LLM craze going on, I set out to build a simple question answering bot, however the flavor I was interested in was a chatbot that can answer questions about a custom dataset that I point it to. Additionally, I wanted to try a hrefhttps://github.com/hwchase17/langchain>langchain/a> - it turned out to be a great idea. Langchain is em>fantastic/em> for exploratory and prototype work, and I highly recommend it. You can easily connect different solutions. In my example, I needed:/p>ol> li>A dataset composed of text files with information I want to query/li> li>A way to narrow down the context for the LLM model to answer the question/li> li>A way to feed the LLM model with the context and query and get the answer/li>/ol>p>Langchain basically provides all the necessary building blocks to do this. I’ll go through the steps I took to build a simple question answering bot./p> a href/2023/04/18/langchain-chat-bot-on-custom-documents/> Continue reading > /a> /div> /div> div classpost> span classpost-date>04 Mar 2023/span> h2> a href/2023/03/04/crisis-management-in-tech/> Incident management in tech startups /a> /h2> div classpost-content-truncate> p>Working in tech is great, until you get called at 3am to fight a fire because something in the tech you built just broke. These situations are stressful, tiring and in general - not fun. Ideally, they would never happen, but that’s not how the world works./p>p>Over the course of my career, I’ve been in more than a few of these crisis situations, and I’ve learned a few things about how to prepare and deal with them. I kept building up notes, and I thought I’d share them with you./p>p>I’m breaking up this process into 3 parts:/p>ul> li>Preparation/li> li>Response/li> li>Recovery/li>/ul>p>We’re going to go over each of these parts, and I’ll give you some examples of tools that you can use to help you in each of these phases. I’m also going to share learnings from my own experience and tips on how to improve the process./p> a href/2023/03/04/crisis-management-in-tech/> Continue reading > /a> /div> /div> div classpost> span classpost-date>03 May 2015/span> h2> a href/2015/05/03/c-is-truth/> C is truth /a> /h2> div classpost-content-truncate> p>In a recent article, provocatively named a hrefhttp://techcrunch.com/2015/05/02/and-c-plus-plus-too/>Death to C/a>, Jon Evans proclaimed that we should no longer use C, rather move to Rust for our low level needs./p>p>The author proposes replacing C with Rust, which looks like a great tool to get awesome performance in a production application and sleep well at night not worrying about a segfault, which a tremendous advantage. He also wants to put C and C++ to rest:/p>blockquote> p>Those old warhorses have served us well, but today they are cavalry in an era of tanks. Let us put them out to pasture and move on./p>/blockquote>p>I understand not wanting to hand-write C code in production to minimise risk, but not abandoning it completely. Studying C gives you - as a developer - enormous benefits and skipping it is a mistake. In the introduction to a hrefhttp://c.learncodethehardway.org/book/introduction.html>Learn C The Hard Way/a>, Zed Shaw has brilliantly explained why C:/p>blockquote> p>The C programming language’s only failing is giving you access to what is really there, and telling you the cold hard raw truth. C gives you the red pill. C pulls the curtain back to show you the wizard. C is truth./p>/blockquote>p>Of this quote, I especially like the “truth” bit - three words, with which Zed has captured the essence of C. It is a simple and elegant language, so simple that you hit the walls of gigantic complexity very early on, because you need to do the basic things yourself. It’s extremely difficult to write good, secure C code, which makes it very dangerous, and to quote Zed again:/p>blockquote> p>Why use C then if it’s so dangerous? Because C gives you power over the false reality of abstraction and liberates you from stupidity./p>/blockquote>p>C is the sharp, hurtful reality of how a computer really works, how memory is manipulated and how you’re really just moving bits around. Instead of avoiding it, let’s embrace it. C is difficult, because C is truth./p> /div> /div> div classpost> span classpost-date>22 Oct 2014/span> h2> a href/2014/10/22/refactoring-with-SOLID-in-mind/> Refactoring with SOLID principles in mind /a> /h2> div classpost-content-truncate> p>One of the reasons I built Dotz was to see how it would survive change. The first release was simple exactly for this reason - I planned to return to add more features and see how simple or difficult it would be. I managed to add a new feature to Dotz recently - when you connect the dots so that the lines form a shape (like a rectangle or square), all dots of the same color will disappear, adding to your score. As I introduced this feature, I reflected on this refactoring exercise and a hrefhttp://en.wikipedia.org/wiki/SOLID>SOLID/a> principles./p>h3 idstep-1-make-it-work>Step 1: Make it work/h3>p>My initial approach was to take the easy road by a hrefhttps://github.com/marcinbunsch/dotz/commit/b6075cf87475d425334b7e08ce8b0722e0591882>modifying the code classlanguage-plaintext highlighter-rouge>Move/code> class directly/a>. I realized that it was missing some core functionality, such as code classlanguage-plaintext highlighter-rouge>getUniqueDotCount/code> or code classlanguage-plaintext highlighter-rouge>getGroupedDots/code> methods. I’ve also fixed an issue in destroyDots which appeared only after it was forced to remove a lot of dots from the screen./p>p>At the end, I’ve expanded it to check if a square was present and schedule more dots of the same color for removal./p>p>I coded, tested and released it. And that’s when it hit me. I did two things: I fixed issues within the code classlanguage-plaintext highlighter-rouge>Move/code> class and I’ve modified its behavior. Now, fixing issues is fine. Modifying existing behavior in the same class has short legs - what if I want to add more functionality? What if I wanted to give a choice between game modes?/p> a href/2014/10/22/refactoring-with-SOLID-in-mind/> Continue reading > /a> /div> /div> div classpost> span classpost-date>14 Oct 2014/span> h2> a href/2014/10/14/wrangling-service-objects-with-method_struct/> Wrangling Service Objects with method_struct /a> /h2> div classpost-content-truncate> p>Service Object is a pattern of extracting business logic into a separate “service”. It has gotten considerable traction in the Ruby ecosystem and is worth exploring. Steve Lorek a hrefhttp://stevelorek.com/service-objects.html>described Service Objects in the following way/a>:/p>blockquote> p>A ‘service’ describes system interactions. Usually, these will involve more than one business model in our application./p>/blockquote>blockquote> p>As an example; we have a User model and this encapsulates a password. If a user has forgotten their password, the business rules dictate that we have to send them an e-mail with a link to reset it. This functionality is a service./p>/blockquote>p>The CodeClimate a hrefhttp://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/>blog post on refactoring fat models/a> has a good rulebook on when to use this pattern:/p>blockquote> ul> li>The action is complex (e.g. closing the books at the end of an accounting period)/li> li>The action reaches across multiple models (e.g. an e-commerce purchase using Order, CreditCard and Customer objects)/li> li>The action interacts with an external service (e.g. posting to social networks)/li> li>The action is not a core concern of the underlying model (e.g. sweeping up outdated data after a certain time period)./li> li>There are multiple ways of performing the action (e.g. authenticating with an access token or password). This is the Gang of Four Strategy pattern./li> /ul>/blockquote>p>I see Service Objects as a mutation of the Command pattern. They allow separation of business logic from models and controllers, but have further benefits in testing and composition./p>h3 idhello-method_struct>Hello method_struct/h3>p>At a hrefhttp://lab.getbase.com>Base Lab/a>, we’re implementing Service Objects using the a hrefhttps://github.com/basecrm/method_struct>method_struct/a> gem. Let’s go through an example which illustrates the benefits of this approach./p> a href/2014/10/14/wrangling-service-objects-with-method_struct/> Continue reading > /a> /div> /div> /div>!-- Pagination links -->div classpagination> a href/page2 classolder>Older/a> span classprevious>Newer/span> /div> /div> script> (function(i,s,o,g,r,a,m){iGoogleAnalyticsObjectr;irir||function(){ (ir.qir.q||).push(arguments)},ir.l1*new Date();as.createElement(o), ms.getElementsByTagName(o)0;a.async1;a.srcg;m.parentNode.insertBefore(a,m) })(window,document,script,//www.google-analytics.com/analytics.js,ga); ga(create, UA-2106719-1, auto); ga(require, displayfeatures); ga(send, pageview);/script> script typetext/javascript src/public/js/blog.js>/script> /body>/html>
Subdomains
Date
Domain
IP
img.bunsch.pl
2024-05-30
52.218.90.24
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
]