TypeScript is probably my favorite Microsoft technology. Static constraints and language constructs in the style of C++ were a relieving addition to JavaScript. C# is also quite good, it has some excellent design choices as a language, even if I don't really use it much. For instance, its struct vs. class semantics, are an amazing answer to the issues of C++'s explicit referencing for dynamic types. As for IDEs0, I'm not a fan of the Visual Studio environment; it tries to be too magical for me, and I prefer to work with my tools. The point is, I need a disclaimer. Microsoft does good things. But this isn't about Microsoft. This is about that most pervasive corporate DSL1, Microsoft Office.
I used Word as a main word processor for several years, it's a fine, oft well-thought-out suite of tools. I've even used Excel, though I'm no spreadsheet savant. But I haven't used either in a couple of years. Presently, in my undergraduate senior year, my "Senior Design" team has a faculty coordinator. He's an alright guy. He's your mediocre academic Computer Science faculty. Yet it's become blatantly obvious that he's but a pawn of the devil. He requires our group submit all assignments in .docx2 format. That is probably the most oppressive limitation I've ever been dealth in my academic career. I have never been denied the sweet sanctity of a PDF option.
That constraint prompted me to think over my reporting toolset and how I've been writing, diagramming, proving, compiling, and visualizing data for the last two academic seasons. And I wanted to share my somewhat unique approach, one that I find rather intuitive and satisfying.
Without further ado; if you, like myself, occasionally enjoy rejecting Facebook, Google, or you know, anything that is convenient3, then here's my recipe for avoiding Microsoft Office 365 days of the year4.
So you need a typesetter. Something that knows how to converse with your printer, perhaps, but probably not these days. The first and boldest choice is the engineer's typesetter, Steep-learning-curve LaTeX. Firstly, I pronounce it as "laaaaaaaa-(sing it)-tech", unlike the rubber that I am allergic to. LaTeX is considered difficult to learn but if you come from a programming audience then hopefully you've discovered the power of plain text. By allowing simple non-WYSIWYG5 editing, the expressiveness of your other toolsets are empowered. With plaintext document source, you can use your favorite text edvimtor, and your favorite text processing utilities. In fact, with LaTeX, all that's really left is an itch for programmability, the trait which, Microsoft Excel is alleged to have. TeX6 does not initially allow you to embed logic, it understands its' place as a markup language. But you may want contextually appropriate logic for calculating statistical metrics, curve fittings, etc. You can do it separately and even through some packages that I should probably research, but if your data changes, you need to reintroduce said changes and glue them back into your document. So we need a really strong and convenient glue.
I use Python as my example, since that's what I use, but you can use PHP7 for all I care. The idea is simple. Unlike your Office document which will likely require some fancy APIs (Office 365) or at least XML parsing to edit, LaTeX source files are just, you know, plaintext. So you can edit them anyhow you like. The first time I ever did this, my approach was a tiny mapping from LaTeX source to Python formatting key syntax. If I were to just write it directly in Python source, I would probably spontaneously combust. Take a look:
r""" \begin{{document}} \frac{{ {kill} }}{{ {me} }} \end{{document}} """.format(kill=5, me=10)
That's almost as bad as chained ternary expressions with JSX. But the idea is that python named formatting keys are denoted by a braced expression, and real braces are doubled to escape them. Backslash doubling I can avoid by making it a raw string, but that isn't an option in all use cases. Regardless, I hid that behind a script, and instead created a simple alternate syntax for keyed formatting that wouldn't require me to escape common character.. My dumb and ugly LaTeX superset templater takes about 5 lines of python code, and looks like so:
\begin{document} \frac{<<numerator>>}{<<denominator>>} \end{document}
Quite literally, all my code has to do is replace all braces with escaped double braces, and then replace all double angle brackets with a single formatting brace, thus yielding the original python source, while allowing raw LaTeX to look familiar. Then you just produce your values and/or data in your python module, read this template from some file, and submit it to the Python formatter with the expected keyword arguments that you used in the document source (e.g. <<numberator>>). After we find a better way to do this all, we can even add a function to translate python 2-dimensional lists into the tabular cell format of LaTeX, which will make tabling a breeze. Here's my naive templating implementation:
def load_pytex(path, **kwargs): txt = open(path).read() txt = txt.replace('{','{{').replace('}','}}') txt = txt.replace('<<', '{').replace('>>', '}') txt.format(**kwargs) return txt # or subproc.check_output(['pdfLaTeX' ...
So this works, but it would be quite annoying to have a python context so decoupled from the usage context. Calculating things without regard to the location in the document, and being unable to change the logic while editing the document without switching files. Certainly we can do better? Let's do something sinful.
Fake macros in LaTeX will make this all look way more TeX-savvy.
Let's add a \pyeval
pseudo-command, and a
pyexec
pseudo-environment so that we can get something
like so:
\begin{pyexec} name = 'John' \end{pyexec} Hello I am \pyeval{' '.join([name,'Smith'])}
Our environment can't be nested (the content is Python, not LaTeX...),
so we will use regular expressions to do this rapidly.
We have two caveats, however. Our \pyeval
expression could
contain a dictionary or set literal (any braces-containing construct).
Or, our pyexec
environment could have
valid Python code containing the environment end marker, e.g.:
\begin{pyexec} hate_you = r'\end{pyexec}' \end{pyexec} \pyeval{ h = {'hello': 'world'} } # which brace do we end on?
For simplicity, and since this is our own hack and not a production
solution, we'll assume no one has used the end marker, and we'll
require escaping of right braces in the \pyeval command. I'll leave
a proper solution (for the pyexec problem) as an exercise to the
reader, and recommend looking into LuaTeX8, an extensible
TeX compiler (though I think a compiler adapter would be sturdy and
sufficient).
On then, Stop and think of the regular expression for capturing all text
between the pyexec environment opening and ending marker. Then think
of the regular expression for the \pyeval
argument,
recalling that it cannot end on a backslash-escaped right brace.
If you come up with better regular expressions than I did, let me know.
Here's a simple implementation of our better embedded templating:
import re from textwrap import dedent # for optional starting indent def render_pytex(path): src = open(path).read() scope = {} def pyexec(match): exec(dedent(match[1]), scope) return '' src = re.sub(r'\\begin\{pyexec\}\n(.*?)\n\\end\{pyexec\}', pyexec, src, flags=re.MULTILINE) src = re.sub(r'\\pyeval\{(.*?)(?<!\\)\}', lambda t: eval(t[1].replace(r'\}','}', scope), src)
So let's see what our LaTeX document source would look like while using that.
\begin{pyexec} from scipy.optimize import curve_fit from random import random as rand from itertools import count, product as crossproduct bin = crossproduct((0,1),repeat=5) data = list(zip(count(), bin)) # add a count of set bits as a column for row in data: d, b = row row.append(b.count(1)) randpts = [[rand(),rand()] for _ in range(100)] \end{pyexec} \section*{Data Stuff} \begin{tabular}{|c|c|} \hline Decimal & Binary & 1-Bits \\ \hline \pyeval{'\n'.join(('&'.join(map(str,d)) for d in data))} % we can extract the above one-liner for reuse in tabular % construction and any horizontally partitioned context \hline \end{tabular} % use unpack+zip hack to get separate lists of x then y coords Best Fit: \pyeval{curve_fit(lambda x,m,b: m*x+b, zip(*randpts))}
Now, the last thing to do is to use data files for your tables and your graphs and you've got a fully programmable document typesetting environment. You can even write a small latextools module like I have, for any common utilities like that nested join in the tabular that produces cells for a 2-dimensional python iterable. At last, I would argue, that we have a tool more extensible than Excel, it's got all of PyPI behind it, with numpy, scipy, and all the packages you could want— embedded in your document. The next step is making sure we have a competent graphing utility, that can be integrated with our typesetter and scripting.
I would say you could use any graphing utility and include it as any media you want, but that won't let you take advantage of the combination we've developed thus far. If you want to fully use LaTeX and your scripting language, use a LaTeX integrated graphing package like pgfplots9. That way your script templating can be used in the graphs. Finally, the only thing that remains for our recipe is a substitute of Microsoft's Visio, so that we can fill our documents with appropriate diagrams.
There are a lot of diagramming tools out there. I've used primarily Blender, Google Drawings, Gimp, and some InkScape. Google Drawings is great for shapely diagrams, flowcharts, and etc. I use blender for more intense graphics and visualizations, but I don't recommend learning it for typesetting. If Google Drawings is not independent enough, then learn Inkscape or even better Tikz. This ingredient is definitely the one that I have worried about the least. Diagramming isn't something I've had to make programmable often enough, and there are a plenty of tools for designing your diagrams. If you've needed to do it before, chances are you already have one, and you can throw that application's output into LaTeX properly yourself.
Let's use an alias for a quick and dirty command wrapper.
A better alternative would be an intelligent cli wrapper
that doesn't require you to pipeline your input. While we're being dirty, make
sure to use an absolute path and stick this alias in your .bashrc
.
alias pytex='python /path/pytex_evalscript.py | pdftex'
And now we can do something like the following:
cat paper.tex | pytex -jobname=paper
And done. Now we should have a full, convenient, brittle, homebrewed non-production TeX extension. For our personal use anyway. So now that we have our recipe, it's time for some notable substitutions
An alternative markup language to LaTeX, that I use for taking notes in classes, is Markdown10. Markdown typically renders to HTML but you can use tools like pandoc to convert it to a tradional paper style. If you've ever used GitHub, you've probably seen rendered Markdown even if you didn't realize it. Most flashy READMEs are rendered Markdown. You could also use ReStructured Text or some other minimal markup language, so long as you can render it out to your required medium.
The most useful things about embracing Markdown, are definitely the effortless simplicity of the language and the decoupling of styling from content with CSS. Markdown will be much easier to learn than LaTeX, and you can still be inspired by our script embedding and use a custom XML tag (Markdown includes HTML) for Python embedding. It might look like:
My Document =========== <pyexec> from operator import mul </pyexec> _this is my document_, and I **like** the number <pyeval>mul(5,3)</pyeval>
You could even use the inline source syntax:
My Document =========== ```pyexec import csv data = list(csv.reader('mycsv.csv')) ```
You could go a whole another step and integrate some LaTeX math rendering, for the sweet, sweet mathematical formulas. Check out packages like katex to embed LaTeX in your markdown where you're already embedding Python. At that point I hope you can somehow embed Python in the LaTeX embedded in your Markdown without getting hurt, but it would bring together the best of all worlds. Programmability (Python), extensibility (PyPI), simplicity (Markdown), and complexity only when you need it (LaTeX).

Are you twistedly enamored by the parasite that is PHP?
Perhaps you're a node.js > Python person,
or maybe you want to focus on R and its visualization.
If you think about it, the same principles of what we're doing
currently apply, just hope that templating with your language is
as easy to implement as it was for Python.
\begin{CppExec} //someone (me) should totally do this with Cling #include <vector> #include <iostream> #include <algorithm> std::vector<int> ints = {1,7,5,9}; template<typename T> operator<<(std::ostream& os, const std::vector& vec) { for (const auto& x : vec) os << x << ", "; } //I'd use R but I've forgotten what little I knew of R \end{CppExec} \section*{C++ Sucks} \pyeval{ std::sort(ints), ints }
And there we go. So you can take this stuff here and make a script wrapping around your favorite TeX compiler to evaluate your scripted expressions first as part of a compilation pipeline. Or you can see If you want to make this a production tool, go prevent the string literal end marker issue by ignoring string literals, and research LuaTeX and general TeX packages and extensions to see where a Python evaluation step can be added. I would appreciate it certainly. But that's a lot of work and while I'm the only person doing this still, I'll just stick to my <20 lines of code that works 99.99% of the time.
Oh, and if you don't want to use any of this, go check out Libre/Open Office.
Appendix/Glossary:


Describes a controller's internal state. More...
#include <PxController.h>
Public Attributes | |
| PxVec3 | deltaXP |
| delta position vector for the object the CCT is standing/riding on. Not always match the CCT delta when variable timesteps are used. More... | |
| PxShape * | touchedShape |
| Shape on which the CCT is standing. More... | |
| PxRigidActor * | touchedActor |
| Actor owning 'touchedShape'. More... | |
| ObstacleHandle | touchedObstacleHandle |
| PxU32 | collisionFlags |
| Last known collision flags (PxControllerCollisionFlag) More... | |
| bool | standOnAnotherCCT |
| Are we standing on another CCT? More... | |
| bool | standOnObstacle |
| Are we standing on a user-defined obstacle? More... | |
| bool | isMovingUp |
| is CCT moving up or not? (i.e. explicit jumping) More... | |
Describes a controller's internal state.
| PxU32 PxControllerState::collisionFlags |
Last known collision flags (PxControllerCollisionFlag)
| PxVec3 PxControllerState::deltaXP |
delta position vector for the object the CCT is standing/riding on. Not always match the CCT delta when variable timesteps are used.
| bool PxControllerState::isMovingUp |
is CCT moving up or not? (i.e. explicit jumping)
| bool PxControllerState::standOnAnotherCCT |
Are we standing on another CCT?
| bool PxControllerState::standOnObstacle |
Are we standing on a user-defined obstacle?
| PxRigidActor* PxControllerState::touchedActor |
Actor owning 'touchedShape'.
| ObstacleHandle PxControllerState::touchedObstacleHandle |
| PxShape* PxControllerState::touchedShape |
Shape on which the CCT is standing.


Boris Johnson v Jeremy Corbyn on ITV Debate leads Wednesday's headlines
The papers are led by reaction to the televised verbal tussle between Prime Minister Boris Johnson and opposition leader Jeremy Corbyn.
Thei newspaper says the debate saw “Insults fly” while the Financial Times says Mr Johnson survived a “hazardous duel” with Mr Corbyn, according to a snap YouGov poll also covered by The Times which showed a narrow win for the PM.
- Johnson and Corbyn clash over Brexit, jobs and the NHS
- Party leaders make case for power after ITV Debate
- Fact checking the debate: Johnson and Corbyn's claims examined
- What were the best and worst moments for Johnson and Corbyn?
- Tories criticised after renaming Twitter account factcheckUK
Sorry, this content isn't available on your device.
Sorry, this content isn't available on your device.
Sorry, this content isn't available on your device.
The Daily Mail characterises Mr Corbyn’s performance as “laughable”, The Guardian reports the debate saw the pair “stake their ground”, and the Daily Express says the opposition leader avoided a question on Brexit nine times.
Sorry, this content isn't available on your device.
Sorry, this content isn't available on your device.
Sorry, this content isn't available on your device.
Away from the debate, The Independent says dozens of babies and three mothers have died at Shrewsbury and Telford Hospital Trust since 1979, which it calls the “Largest scandal in NHS history”, in a story also featured on the front of Metro.
Sorry, this content isn't available on your device.
Sorry, this content isn't available on your device.
The Daily Mirror says there have been calls for the notebooks kept by royal protection officers assigned to the Duke of York to be released by Scotland Yard.
Sorry, this content isn't available on your device.
And the Daily Star quotes actor Christopher Biggins as saying the “PC brigade” had led to entertainers The Krankies no longer performing in pantomime.
Sorry, this content isn't available on your device.


Subpart 48.1—Policies and Procedures
48.103 Processing value engineering change proposals.
48.104-1 Determining sharing period.
48.104-2 Sharing acquisition savings.
48.104-3 Sharing collateral savings.
48.104-4 Sharing alternative—no-cost settlement method.
48.105 Relationship to other incentives.
48.201 Clauses for supply or service contracts.
48.202 Clause for construction contracts.


The Hypertext Transfer Protocol (HTTP) is the foundation of the World Wide Web, and is used to load web pages using hypertext links. HTTP is an application layer protocol designed to transfer information between networked devices and runs on top of other layers of the network protocol stack. A typical flow over HTTP involves a client machine making a request to a server, which then sends a response message.
Hypertext transfer protocol secure (HTTPS) is the secure version of HTTP, which is the primary protocol used to send data between a web browser and a website. HTTPS is encrypted in order to increase security of data transfer. This is particularly important when users transmit sensitive data, such as by logging into a bank account, email service, or health insurance provider. Any website, especially those that require login credentials, should use HTTPS. In modern web browsers such as Chrome, websites that do not use HTTPS are marked differently than those that are. Look for a green padlock in the URL bar to signify the webpage is secure. Web browsers take HTTPS seriously; Google Chrome and other browsers flag all non-HTTPS websites as not secure.
HTTPS is not a separate protocol from HTTP. It is simply using TLS/SSL encryption over the HTTP protocol. HTTPS occurs based upon the transmission of TLS/SSL certificates, which verify that a particular provider is who they say they are.
When a user connects to a webpage, the webpage will send over its SSL certificate which contains the public key necessary to start the secure session. The two computers, the client and the server, then go through a process called an SSL/TLS handshake, which is a series of back-and-forth communications used to establish a secure connection.


You have contributed your time to science. What a noble endeavour!
Soon, this website will provide more statistics related to your answer. For now, you can either...


 A list of style tables is passed to the process_lines function, and it is also used when calling the aegisub.text_extents function. A style table contains the following fields:
name (string)
The name of the style. Can be used to index the style list passed to process_lines.
fontname (string)
fontsize (number)
Name and point size of the font. Remember font names are case sensitive.
color1 (string)
Primary color for the text. In ASS hexadecimal notation.
color2 (string)
Secondary color for the text.
color3 (string)
Outline color.
color4 (string)
Shadow color.
bold (boolean)
italic (boolean)
underline (boolean)
strikeout (boolean)
Whether the text is bold/italic/underlined/striked out.
scale_x (number)
scale_y (number)
X and Y scaling of the text in percent.
spacing (number)
Inter-character spacing in the text in pixels.
angle (number)
Z axis rotation of the text, in degrees.
borderstyle (number)
Border style used. (1=outline, 3=solid box.)
outline (number)
Thickness of the outline, in pixels
shadow (number)
Distance of the shadow, in pixels.
align (number)
Numpad style alignment for the lines.
margin_l (number)
margin_r (number)
margin_v (number)
Left, right and vertical margins, in pixels.
encoding (number)
Legacy font encoding.


Лист1
Odds, Bets Placed, Bets Won, Bets won expected, Bets won delta,% Won,% Won expected,% Delta, Standart deviation( sigma), 3 sigmas
1, 505, 267, 252, 5, 14, 5, 0,<PHONE_NUMBER>, 0, 5, 0,<PHONE_NUMBER>9, 11, 23610253, 33, 70830758
2, 502, 127, 167, 3333333,- 40, 33333333...


The IBM Watson™ Personality Insights service enables applications to derive insights from social media, enterprise data, or other digital communications. The service uses linguistic analytics to infer individuals' intrinsic personality characteristics, including Big Five, Needs, and Values, from digital communications such as email, text messages, tweets, and forum posts.
The service can automatically infer, from potentially noisy social media, portraits of individuals that reflect their personality characteristics. The service can infer consumption preferences based on the results of its analysis and, for JSON content that is timestamped, can report temporal behavior.
For information about the meaning of the models that the service uses to describe personality characteristics, see Personality models. For information about the meaning of the consumption preferences, see Consumption preferences.
The service offers a single profile
method that accepts up to 20 MB of input data and produces results in JSON or CSV format. The service accepts input in Arabic, English, Japanese, or Spanish and can produce output in a variety of languages.
Before you can send requests to the service it must be instantiated and credentials must be set.
using IBM.Watson.DeveloperCloud.Services.PersonalityInsights.v3;
using IBM.Watson.DeveloperCloud.Utilities;
void Start()
{
Credentials credentials = new Credentials(<username>, <password>, <url>);
PersonalityInsights _personalityInsights = new PersonalityInsights(credentials);
}
Extract personality characteristics based on how a person writes.
private void GetProfile()
{
if(!m_personalityInsights.GetProfile(OnGetProfileJson, OnFail, dataPath, ContentType.TEXT_HTML, ContentLanguage.ENGLISH, ContentType.APPLICATION_JSON, AcceptLanguage.ENGLISH, true, true, true))
Log.Debug("ExamplePersonalityInsights.GetProfile()", "Failed to get profile!");
}
private void OnGetProfile(Profile profile, Dictionary<string, object> customData)
{
Log.Debug("ExamplePersonalityInsights.OnGetProfile()", "Profile result: {0}", customData["json"].ToString());
}
private void OnFail(RESTConnector.Error error, Dictionary<string, object> customData)
{
Log.Error("ExamplePersonalityInsights.OnFail()", "Error received: {0}", error.ToString());
}


Next Steps
- Please print this page for your records.
- Health Insurance BC will mail you a letter confirming the status of your request.
- Please contact Health Insurance BC if you have any questions.
Declaration
Date signed
{{ dateOfAcceptance }}
{{pageTitle}}
Date of Submission
{{submissionDate}}
Reference Number
{{referenceNumber}}


World Wide Web Consortium.
W3c semantic web faq, August 2011.
[
bib
|
http
]
Joachim W. Walewski, Martin Bauer, Nicola Bui, Pierpaolo Giacomin, Nils
Gruschka, Stephan Haller, Edward Ho, Ralf Kernchen, Mario Lischka, Jourik
De Loof, Carsten Magerkurth, Stefan Meissner, Sonja Meyer, Andreas
Nettstrater, Francisco Oteiza Lacalle, Alexander Salinas Segura, Alexandru
Serbanati, Martin Strohbach, and Vicent Toubiana.
Project deliverable d1.2 – initial architectural reference model
for IoT, June 2011.
[
bib
|
http
]
Dominique Guinard, Iulia Ion, and Simon Mayer.
In search of an internet of things service architecture: REST or
WS-*? a developers’ perspective.
In
Proceedings of Mobiquitous 2011 (8th International ICST
Conference on Mobile and Ubiquitous Systems)
, Copenhagen, Denmark, December
2011.
[
bib
]
A. Gomez-Goiri and D. Lopez-de Ipina.
Assessing data dissemination strategies within triple spaces on the
web of things.
In
2012 Sixth International Conference on Innovative Mobile and
Internet Services in Ubiquitous Computing (IMIS)
, pages 763 -769, July
2012.
[
bib
|
DOI
]
Aitor Gómez-Goiri, Pablo Orduña, and Diego López-de Ipiña.
RESTful triple spaces of things.
In
Proceedings of the Third International Workshop on the Web of
Things
, WOT '12, page 5:1–5:6, New York, NY, USA, 2012. ACM.
[
bib
|
DOI
|
http
]
Dieter Fensel.
Triple-Space computing: Semantic web services based on persistent
publication of information.
In Finn Arve Aagesen, Chutiporn Anutariya, and Vilas Wuwongse,
editors,
Intelligence in Communication Systems
, volume 3283 of
Lecture Notes in Computer Science
, pages 43-53. Springer Berlin /
Heidelberg, 2004.
10.1007/978-3-540-30179-0_4.
[
bib
|
http
]
David Francisco, Lyndon JB Nixon, and Germán Toro del Valle.
Towards a multimedia content marketplace implementation based on
triplespaces.
In Amit Sheth, Steffen Staab, Mike Dean, Massimo Paolucci, Diana
Maynard, Timothy Finin, and Krishnaprasad Thirunarayan, editors,
The
Semantic Web - ISWC 2008
, volume 5318, pages 875-888. Springer Berlin
Heidelberg, Berlin, Heidelberg, 2008.
[
bib
|
http
]


♥ Tiny ami dog
I ♥ bone-shaped cookies
Candy canes marzipan jelly-o cookie donut tiramisu carrot cake apple pie jelly beans. Apple pie lemon drops fruitcake topping. Powder croissant lemon drops danish dragée macaroon. Brownie cheesecake gummies gummi bears fruitcake powder. Caramels macaroon oat cake I love toffee jelly. Cheesecake I love carrot cake chocolate cake brownie cotton candy I love. Cotton candy dragée biscuit I love lemon drops croissant.
$20.00
no tax, free shippingShips within 1-3 days


Software development engineer
All the materials here are organized by topics. Please click the title to see full pages.
NAVSDR is a GPU based real-time GNSS software receiver with graphical user interface (GUI), which implements the GPS signal acquisition, tracking, data decoding, positioning and visualization in one hub.
A trapezoid direct collocation transcription method is used to automate parallel parking.
A riderless bicycle is modeled in SimMechanics.


Opal cuts off your apps' internet access to help you stop doomscrolling
- By Ivan Mehta
- 1 hour ago
- 6
Telecommunications
Expedition Growth Capital
Ringover raises $12 million to bring enterprise communications to the cloud on VentureBeat
On VentureBeatBioTechnology
VisVires New Protein
BREAKING: Food testing startup SwissDeCode nets $4.2m from VisVires New Protein, EIT Food on AgFunderNews
on AgFunderNewsInternet
Boyu Capital, +4
SoftBank-backed travel platform Klook raises $200M amid COVID-19 on TechCrunch
on TechCrunchMobile, +5
Dst Global, +9
Food delivery startup Wolt raises $530M after tripling revenues on SiliconANGLEs
on SiliconANGLEIPVanish VPN: 1-yr Subscription
$143$29


{{ translationService.translateString("About Walrus Punch!")}}
{{ translationService.translateString("Walrus Punch is a web app that people can use to get an idea of what heroes are stronger against an enemy team.")}}
{{ translationService.translateString("It gets data from OpenDota every day so the information is always changing, but kept current.")}}
{{ translationService.translateString("Walrus Punch was written with Node.js, Sass, Angular, Grunt, Bower, and jQuery")}}
{{ translationService.translateString("Walrus Punch was written with Node.js, Sass, Angular, Grunt, Bower, and jQuery")}}
{{ translationService.translateString("About the Developer")}}
{{ translationService.translateString("About the Translators")}}
{{ translationService.translateString("Here's everybody who helped with translating the app. I could not have done it without them!")}}
{{ translationService.translateString("Want to get Walrus Punch in your language?")}}
{{ translationService.translateString("Contact the developer")}}
{{ translationService.translateString("English please!")}}


Magic Pierce Rating
Lvl 5 +12
.
.
Magic Attack
Level 5 +67
Physical Toughness
Lvl 5 +12%
Physical Resistance
Level 5 +5%
Magic Resistance
Lvl 5 +5%
Magic Toughness
Lvl 5 +12%
Energy Recovery
Level 5 +120
Healing Ratio
Lvl 5 +8%
Dodge Rating
Level 5 +26
Spell Recovery Time
Lvl 5 +21%
Hit Recovery Time
Level 5 +22%
Healing
Level 5 +21%