Oftentimes when I talk with recruiters they’ll ask about my experience level in a particular technology or more specifically a JS framework. I find this question a bit odd as surely I can easily learn whatever framework in question in a reasonable time frame. That said – show me a JS framework that takes more than a month to learn and I’ll show you a framework which doesn’t worth learning.
However, if you want to quickly learn a new framework there are a few prerequisites that you should master first – 

HTML (and what does XML means), and ideally more than simply using <div> everywhere. Imagine having a conversation to someone who only says “groot“.
CSS (and ideally SCSS) and I would suggest putting an extra effort on Flexbox and Grid. I guess you can also learn bootstrap but personally it feels like using “common phrases in Spanish” booklet while trying to close a million dollar deal in Latin America.Finally, of course, you should learn.
Javascript (and especially ES6, which is mostly useful “syntactic sugar” that will make your life easier, as long as you know what stands behind it). I’m very fortunate to work with javascript long enough to see its evolution from callbacks to promises and then to await/async and it really helps to understand how it works (and all its crooks) by knowing its history. And hopefully by then you’re already an amazing developer and you realise that frameworks aren’t magic, rather than pieces of code written by someone just like you.

Vue, just like all the other frameworks, is ultimately a templating system. Imagine having a calendar component that you can simply write in your HTML code “<calendar />” and *poof* – the browser shows a calendar with all the logic involved. How would you write such a component? by writing some HTML code, probably some javascript and maybe some CSS and then wrapping it all together in a way that the browser can use it. Svelte and Vue lets you write all the code (HTML, JS, CSS) for your component in a single file. React uses JSX to allow writing HTML inside the JS-code and uses functional-CSS (the horror!) for its css. Angular usually (but not necessarily) has 3 separate files. The syntax might change but they’re all using the same paradigm.

I took upon myself the challenge to learn Vue.js over the weekend. The live demo is available online (and its code and its XD designs courtesy of my wife). I should give credits to Coding Addict‘s video on building a shopping-cart. I didn’t actually watch it but it inspired me to pick this project. I considered using Contentful as data-source, but decided to save time of creating 50 records. Instead I created a cake-generator. It didn’t take long and it allows me to see different datasets. For longer projects, I would recommend having a consistent dataset that you can actually write tests against.Before starting to code, I double-speed a Vue tutorial course on youtube. There are plenty of them. I also watched this tutorial about the “Composition API“, which is a new format to enter data they introduced and made a lot of the sample code available online not really compatible.

If there’s anything I would like you to take from here is that technologies and buzzword recruiters use shouldn’t intermediate you. A company’s tech-stack shouldn’t be an issue when picking a workplace as their two year old code is going to look old regardless. Instead I suggest aiming for a workplace that aligns with your beliefs and that you would actually enjoy working in.

My wife recently picked up a new hobby of photography and decided to have a blog to journal her journey, so she went on to find a hosting service that would be: (a) easy to use; and (b) free.Surely you might chuckle as nothing easy comes for free, but we couldn’t really figure out why.We tried out different platforms, such as Tumblr or WordPress but having limited to the free version we found ourselves being unable to customise to our dream design.Understanding the needs, I also considered using a static-site generator, such as Jekyll but we realised that those normally require being able to write a MarkDown file felt like an incredible hassle compared to what we want. Why can’t we simply copy the images to where they need to go and be done with it?

Intrigued by the challenge I took the time I had during the xmas break to write a simple-photo-blog app, and the basic version does exactly that – copy the files to a folder, whose name will be the post’s title and run the app that will automatically upload a compiled html file. zero technical knowledge required (aside from creating folders and copying files).

As xmas break lasted more than one day, I had the time to add additional feature, such as setting publication-date or hashtags, image automated resizing and even supporting video URLs from youtube and Vimeo (by simply adding a file with the extension “.video.txt” with the link inside). I even had time to create a small demo. The code itself is also available here.

Setting it up isn’t as easy as I would have liked. It still requires creating an account at some free hosting website (we used github), creating the repository and adding the “upload” command into the blog-configuration.yaml. There’s plenty more room for improvement but I’m satisfied that once the system is running, it’s very tech-free.

I often feel that 90% of all the content on the internet is designed for the “people who work on the internet” as the primary target audience. Many times are users required to handle HTML (or Markdown) to get something to work (such as embedding a video) or handle colours in HEX code or any other internet-jargon words (such as IP or bitrate). I think it’s a shame as we’re making the barrier to connectivity to the internet much more difficult for people who are already struggling while it and these people have amazing things to say or show, if only we give them the right tools to get the job done. The digital divide is a real thing and it’s our responsibility as web developers and designers to bridge it.

I came upon an odd question on twitter, asking if it’s considered dark-pattern to use images in order to track user’s activity to which I replied that “#GDPR was meant to prevent website collect data about us; instead it added the annoying “to use this site you must give us your data”, while the alternative path would have been a voluntary “This site does not collect data on its users” with a nice badge that gets better seo-rank“. This sparked an interesting conversation with two developer-advocates from a big search-engine company who questioned the technicality of “what is the cut-off point after which it is considered a dark pattern to collect user data”.

While being aware that their company’s primary source of income is the data collected about its users I was still hoping that these two incredibly smart gentlemen would agree with me, at least on the principle about the value of one’s personal information (aka privacy). I don’t want to regurgitate the importance of privacy here as this topic is already churned, but I would like to address the technical-question from my limited understanding of how search-engines actually work, at least on a theoretical level.

I’m going to make an educated assumption on how search-engines index websites that some javascript code is run and processed. If initially crawlers would scrape the html file, find all visible links and head off to scrape them as well, now the process includes actually loading the page with its onload-triggered javascript. I’m assuming the crawler won’t try to use any input field (although it can see they exist) and won’t try to scroll or resize the window whatever content appears after these javascript-events are triggered is being hidden from the crawler. It’s worth mentioning webrawlers check both mobile and desktop versions in case they have different content. it can try to find js-powered link tags and try to click on them to see whether they lead somewhere but for all purposes it’s more than what I need right now.

Let’s imagine that the search engine results will show a small ranking the site’s respect for its users’ privacy, ranking from 0- full privacy to 6- information is shared with 3rd parties:


Level 0 : Completely static information

With no ajax requests nor data sent to the server this would be the safest kind of web-page.
Of course it means that it can’t even have an internal search engine so it has its caveats, but it would be very easy for the web-crawler to scan all the initial code to see whether it wishes to load additional content via ajax and in such case the page will lose its prestiged ranking.Of course it goes without saying that merely by using 3rd-party-analytics will automatically disqualify the site.

Level 1: Information serves dynamically based on user-interaction

Still nothing about the user is stored, but AJAX and form-fields are allowed, however the js-code doesn’t include any reference to cookies or localStorage. At this level, we can allow having a search engine on the page. As the crawler can’t really identify what is being sent or even when, we need to trust the site, but peculiar behaviour can still be identified as “dark-patterns”.

Level 2: Data is saved locally

Local cookies (as opposed to server-side cookies) allows us to save preferences or even some sort of activity-history but there’s no real need to share it with the server. We started to lose our anonymity as the website remembers information linked to the machine we’re using, but at least it still doesn’t identify who we are.

Level 3: Non-identifiable information is saved remotely

This level is a bit tricky as we, or the crawler, cannot really tell what is saved (and we already said we can’t even observe what is being sent to the server). But I would aspect “honest” analytics to operate at this level; session-cookies are allowed and the site owner should be able to track the anonymous user’s navigation through the website.

Level 4: Transaction-based information is stored

Whenever you make an online purchase, even as a guest-user, you’re forced to leave identifiable information related to the transaction. This means that any e-commerce website cannot be at a better level than this level. But it’s important to notice that beside the specific transaction, the site-owner shouldn’t be able to know anything else about the user’s behaviour (for example, other products he examined before deciding on a particular product).

Level 5: identifiable information is stored

If the site can identify a particular human-being (as opposed to a specific machine), a login is required. In this scenario the site may store whatever information it wants about the users who signed-up and by doing that gave their consent.

Level 6: information is shared with 3rd parties

I initially thought that his level is declarative only (and crawler can’t detect it automatically) but in reality it’s quite easy to find famous analytics – aggregation tools (such as google-analytics) that explicitly mean that, and if sites cheat on their ranking they can always be severely penalise to make them think whether it was a good idea

Site owners who’re currently using his analytics to provide better service for his users might reject my idea as it will impede their capabilities but it’s important to remember that this power comes at the price of the users’ privacy and the fact that they users aren’t aware they’re victims doesn’t make it ok. Also it’s important to point out we’re limiting the tracking of the users and not of the site-activity: it’s still ok to log which page is visited the most or what search-queries were performed. However, It’s not ok to query which product sells the most to American 12 year-old girls.

Yes, it’s possible to cheat the ranking system, and even quite easily; (by css-hacking for example), but I think it’s important to remember how sites used to add invisible keywords to cheat search-engines were penalised for it. If privacy-ranking proves to be important to the users (as it should) google can penalise dark-patterns when detected and detection techniques will evolve over time.

So to answer the original question – yes, it’s technically possible to analyse automatically how well privacy is respected by different websites. Two solutions that already exist and worth mentioning are PrivacyScore that analyse services terms and conditions by using a chrome extension and PrivacyMonitor to analyse the website communication in a bit cruder level. Both solutions require the users to be proactive, but it’s definitely a step forward and to show that it is feasible.

And lastly, comes the question of the self-interest and responsibility of a company whose core business model is selling their users’ personal information to foreign governments (and by allowing other businesses do the same), but I think it’s the responsibility of the good-hearted engineers who works in such companies to warn their users of the danger they face whenever they use a site that harvest their personal information.

With the latest clashes between American and their also-American law enforcement, there’s a talk of #AbolishThePolice which I think is a good idea worth considering but after reading the proposed suggestion, I think the critical point is being missed – the problem isn’t with the label “police” – it’s with its approach and with its patrons. Calling it “social workers”, “neighbourhood-watch” or even “local militias” isn’t what’s going to make it better.

The patrons for the monopoly of violence

We have been raised believe the police’s duty is “to maintain law and order” but I think it’s actually “law and social order”. Even “to serve and protect” is a bad motto (serve who? protect what?). It’s not about justice, righteousness or even fairness; it’s not about human lives or human rights and it’s definitely not about the welfare, safety and livelihood of the citizens. If a respectable establishment treats people poorly and pushes them to steal in order to survive, the police will side with the establishment, blaming the victims in their fault to get into that situation to begin with. The police sides with the establishment, and for a simple reason.

According to my “Big Stick theory” the person who makes the decisions is the one with the biggest stick, regardless of what that stick is – be it money, guns or even “harmless” charisma. And this fallible person, along with her/his cronies are in control of the “police”, which is the only authority that is allowed to exercise physical force against ordinary citizens. And to my dismay, I find this theory to be unavoidable.

Abolishing the police in favour of a green-washed alternative

The police abolition vision considered a few typical scenarios and re-envisioned how can they be handled in a police-free world, from loitering and traffic violations to drug-abuse and domestic abuse. Its underlining premise was that people don’t want to commit crimes and can be helped with the right amount of compassion and understanding to their reason for their turn to become criminals.

I think it’s a very naive approach that ignores scenarios of people who wouldn’t know better, or people who commit crime for any other reason than desperation. The reason people are fined with broken brake lights is because some people don’t care they’re risking their own lives and the lives of others. And whether the law-enforcement is police is or a different green-washed name is completely meaningless.

The police-abolition movement would argue that people who don’t know better other than expressing the rage through violence shouldn’t be put in prison rather than a correction-facility. But that isn’t simply brand-washing the existing facilities – it’s about changing their goals, resource allocations and conditions. It’s less about punishing (which a lot of people find solace in, knowing their aggressors are being punished) and more about understanding and compassion.

Rebranding, mindset and allocations

I can understand why in some culture, police officers have gotten a bad reputation, where meeting an officer on the street will cause one to stress as opposed to feel safe. This trauma will be difficult to wash away so yes, the police establishment needs to regain the people’s trust. I don’t think that simply by changing the names from “police officers” or “cops” to “Jedi knights” is going to make the trust come back over night.

Don’t get me wrong, I’m in complete agreement that the the current police-force (in many countries) as law-enforcement entity is wrong in many levels but I don’t think that simply abolishing while ignoring issues it handles today it will actually help. I don’t think the grass-root militias and not even local police run by mayor-loyalist is the solution. Let’s break down what I had in mind:

Redefine Crime

Most people don’t choose to be in bad situations in which they are forced to violate the law and sure, it’s the society’s responsibility to help them not to get into those situations in the first place, or help them out once they do or at least give them the tools and resources to avoid it the next time around. I believe it’s the law enforcement and justice system’s responsibility to be considerate towards that. This must raise the question – why do rich people commit crime? why do poor people? who should get more severe punishment?

Change the police’s box of tools

According to Vox, Police academies spend 110 hours on firearms and self-defence and 8 hours on conflict management. These are the told they’re given. This is what they know how to do. And that’s ok, unless you want them to cater and care for the community they serve. For that they’ll need better training in different tools. I might sound chauvinistic but I think that more compassionate female-officers can do wonders.

Change The Patrons

This is a very big question and I think it should be answered with care. Should the police be accountable the mayor? the governor? Should it be a privately-run service? I think it’s should be a city-level democratic decision to pick the chief of police, based on the plans their candidates offer – whether it’s more strict or more caring. Personally I would elect a chief who would promise to deploy more social workers than soldiers, but I’m sure other people will think differently. I think that a political relation between the chief and the mayor can lead to corruption, while private initiatives can lead to even worse things.

Mitigate the violence

A friend of mine lived in a commune in which it was common to have your car borrowed with notice. Some people have a different sense of ownership. They’re not thieves, as you’re more than welcome to borrow their car just the same. Thieves do believe in ownership, but they believe the right for ownership isn’t an innate right, rather is a function of strength (and the ability to guard what is yours). Some people only understand power (and violence is a subsidiary). Yes, we should reduce violent starting at the education system; yes, we should reduce the need for crime by stirring away from an exploitative capitalist system; yes, we should reduce the amount of violence in the media and the institutionalised violence (acted primarily by the police); yes, we should discourage violence however we can (personally I’m still wondering if it’s ok to hit someone for making a racist remark) but even if we could enforce it (and I don’t think it’s right, pluralistically nor democratically, to violently force people who understand only violence into non-violence culture), you’ll still going to have some crazy fanatics to deal with. And yes, we can reduce the police violent attitude by 99% and that’s something we should be thriving for, but I don’t think we should be naive to think the police can abolished.

A quick disclaimer that I’m not a scientist, a physician or a politician, rather than a merely overly opinionated person. As such, and after spending about a month in a lockdown, I would really appreciate if we could start having the discussion about the day after (which isn’t the same as “how do we go back to ‘business-as-usual’). I already wrote about living in a plagued world, but as time went by and despite the feedback I received my perception hasn’t changed much. It feels to me we’re considering either ignoring the rain it waiting for it to stop and not considering the fact it’s not going to stop soon and if ignore it many of us will drown.

When I finished writing the previous post I felt it might be too grim and tried to end it with “humanity will unite and prevail” notion. I was, and still am, hoping that something good will come out of crisis – pollution is declining, nature is restoring and the welfare system has a chance to prove its worth. The feedback I received however said that I’m either being too melodramatic and things will soon go back to “business as usual”, or that I’m too naive and things will soon go back to normal.

Yes, there are talks about “exit strategy” and getting out of the lockdown and restoring the economy, but it isn’t really clear to me how can we talk about exit strategy when we don’t have vaccination. A vaccine, it’s been told, should be ready according to optimistic projections by September, and managing the curve seems to me very single-dimensioned, ignoring the new “lockdown” state that we’re bound to get back into sooner than we’d like.

The world media is slightly more transparent than the Spanish flu media coverage, yet it’s clear that forecasts and projections are propaganda, as the easiest way to reduce the number of reported infected count is to stop counting. It seems that the countries are at a race at the moment back to normality, and more importantly economical normality.

There are two possible non-exclusive strategies for it – one of course is the vaccine and the other is ignoring the virus. Why should a country decide to ignore the virus? because all counties are oligarchies to extent. And before we acknowledge the legitimate argument – yes, there are people in power who are willing to risk other people’s life in order to keep their power. But even without going to such extreme, even the mainstream media accepts that population-at-risk should sacrifice itself for the sake of the economy.

Yes, the (capitalist) economy is the tool we have at the moment that prevent people from starving. But in truth, there is alternative which is the welfare state – such as Universal Basic Income which Spain is now considering as a measure to cope with the unemployment boom.Simon Mair wrote an excellent article about the 4 possible approaches:

  • State capitalism: centralised response, prioritising exchange value (i.e. business as usual, grants to corporations)
  • Barbarism: decentralised response, prioritising exchange value (i.e. leaving the helpless to die)
  • State socialism: centralised response, prioritising the protection of life
  • Mutual aid: decentralised response, prioritising the protection of life (i.e. the rise of the third-sector)

I recommend reading the article as it set the frame for the discussion. I would understand why people in power, rich people or wannabe-rich would find the first two approaches bearable but one always must ask herself – am I rich enough? will the doctors who will take care of me be rich enough not to get sick themselves? so let’s talk about state socialism.We have four months at least to be in lockdown, how are we going to survive them? What steps would I expect my government to take?

Universal basic income will automatically relieve some of the stress of the new 195 million unemployed world-wide (6.7% of the world population lost their jobs in the last month).

Everything that can be done remotely, should be telecommuted. Government should provide grants, trainings and improve the infrastructure as working-from-home is no longer a luxury rather than a necessity.

– Key-industries should be nationalised and transformed to provide necessary medical equipment– from masks and gloves to hospital beds and ventilators.

We need more trained paramedics, nurses and doctors. We can easily have more without lowering the acceptance criteria by removing unrelated barriers such as financials (scholarships) or geographic (telecommuting).

Delivery services have become critically important. the government can help by subsiding and converting “job-less” taxi-drivers to deliverers of goods.

Food banks must be utilised. As business and particular restaurants are closed (presumably temporarily), tons of food is being discarded and the supply chain wasn’t ready to handle this. While respecting the agricultures right to make a descent living, government has the moral duty to use this opportunity to provide (cheap) food to the masses.

Removing the lock-down in the bubble-merge effect. Yes, the lockdown must be lifted, but it needs to be handled carefully. At the moment we are cooped up in our houses and the gradual change should come slowly, by closing “ghettos” of streets and neighbourhoods and every ‘quiet’ two weeks will allow merging healthy ghettos together to districts, towns, counties and cities. New cases will send the ghetto a step-back in the merge-process. Moving between ghettos will require 2 weeks quarantine in appropriate facilities. This means, by the way, that world-travel is going to be off-limit for the next 4 month. Or at least it should be. I wonder if this in the long run would mark the death of commercial flights and the revival of cruise-liners (as people needs to be isolated to 2 weeks anyhow).

There were very few times in which humanity managed to pull itself together, and I doubt this time would be different in that sense. We are more like to follow Simon’s path of “state capitalism”, with plenty of casualties that no one will ever bother to question if it was truly necessary and just the same future precautions will also be neglected as they are too costly anyhow and don’t serve the current elites. If it gives any comfort then it’s worth mentioning that every crisis is also an opportunity for growth and prosperity and my only wish for you, my dear reader, that you’ll be among the prospering and not the withering. Or at least survive the storm.

As I follow the feeds regarding #covid19 I’m missing some predictions and projections on how the world would look like once we pass the current system-shock that brought many counties to a halt. I think it’s naive to think things could ever go back to how they were before and therefore we’re entering a new era of humanity. You see, covid19 isn’t all too special. it’s a type of flu, just like the common-flu and just like bird-flu or swine-flu. Only it’s deadlier. And once we reached this new record we know that it can easily happen again and just as easily and mankind must adjust.

What kind of adjustments? pretty much what you see today – perhaps not a complete lockdown but I believe that 2 weeks quarantine for any international traveler is probably here to stay; which in turns means the end of the tourism industry; This would mean death-blow to tourist-economy-based country and a very painful hit on commercial flights. So we have increase in unemployment, which will lead to migrations, which will add to increased xenophobia that is already on the rise due to the pandemic. I expect a steep rise in telecommuting for anything which doesn’t require face-to-face interaction, which will also lead to increase in reports of loneliness (and suicides). Most of the bureaucratic work can (and should) be done online, but that would require massive infrastructure update for many regions. The digital divide will be tightly tied to the economic gap (“no internet” would literally mean poverty). And another thing about telecommuting – in the globalised world we saw how certain industries were outsourced to cheaper countries, but many industries stayed local mostly for traditional reasons (not to say “old-fashioned”); what would it mean if now everyone are telecommuting? why would a I prefer a local junior engineer when I can get a foreign senior engineer and they’re both telecommuting anyhow? I don’t know how this would shake the employment topography but I’m pretty certain it will make the entry-level much less attainable.

As we are in lockdown we can clearly distinguish everyone to this 3 categories:
– Telecommuters (or automated)
– Essential Services (such as doctors and physical infrastructure workers)
– Unemployed who really wish they had #BasicIncome right now.
My nearby cinema closed today. I’m not sure when it’ll open, if it’ll open but as nice as it was to have it, it wasn’t essential. I wonder if such a business will be able to open again and if not – what will be the fate of its former employees.

The world-level catastrophe can teach us an important lesson about neoliberalism and socialism, as you can be as rich and successful as you’d ever dream but the virus won’t care. This fight is for all humanity and we need to fight together: Without public funding to medical care the virus will spread; Without basic income to support the unemployed they will starve; It is the  government of the people that must take responsibility now. But then you have the interesting case of Israel that used the virus as an excuse to shut down the judicial system, its parliament and put its citizens under surveillance. Yes, dictatorships will rise as well, and I believe the death toll will rise with them.

Perhaps this massive slowdown of the economy is a positive thing (ignoring the human-suffering for a second) – will the environment will be less strained afterwards, with less humans and less pollution? Will the (surviving) people be happy in a slower-pace economy? could the social-distancing help us appreciate each other’s company better? We’ve been talking about population explosion for centuries and we knew that if it won’t be controlled then it would be painful. Well, it’s happening and it’s painful as we predicted, but hopefully mankind will prevail.

When will the the first human-virus war end?
Our enemy in this war is fascinating as it’s not even more like a “piece of code” rather than a life-form with whom one can negotiate. Finding vaccines eventually is a passive measure and the enemy is becoming more advanced and deadlier in every “campaign”. Treating it as a “war” would require a mind-switch that would probably be very difficult for people who needs to have a mastermind (aka “conspiracy-theory” or “the devil”) who seeks to destroy mankind, but once you accept that a natural force of nature can unleash death on humanity just as easily, we will be able to join forces and find ways to fight it (who knows, perhaps this mind-switch will be the solution for fighting the climate change…).
The solution would probably come with nano-technology that will be able to fight new viruses (and probably cancer as well); or with “domesticated” viruses. I guess we can only imagine the sacrifice and efforts it would take humanity and whether once the dust settles we would find ourselves in a better world or in a new kind of hell.

Modern-day religion would like us to think that god is ineffable – that it is a timeless omnipotent omnipresence being and that it has the best of intentions for us. I might argue about trying to understand god’s intentions (and why do we assume they’re good?) but before that I would like to question the relationship between this deity and god as presented in the christian and Jewish scriptures.Comparing these representations and assuming they’re both true, I can’t see how god wouldn’t be evolving and changing in front of our very eyes.

God, as described in the story about Adam and the apple, is someone who “walks” in the Garden (Genesis 2.8) and Adam and Even can literally hide from him (Genesis 2.9). Even in Genesis 18 God comes and dine with Abraham.Although the bible list chronologically the lineage from Adam to Abraham and even specify those who “walked with God”, there’s no detail account on their action and the actual mythology begins with Abraham, who appeared to have been a very successful person, mostly thanks to his “spirit friend” that protects him. At this time no one considered joining Abraham in his faith, although many recognise the existing of a god that safeguards Abraham. God continues to be an Abraham’s personal god and becomes the family god and only after Moses it becomes a national god. At this point, he still appears in front of his believers (Exodus 19) – Although christian faith would claim that no one ever saw god, but merely his angles, which brings to the next point –

When did god became the only god? Well, early Israelites were actually polytheists and their God, Yahweh, along with his wife belonged to a pantheon of gods whose status resided in the first temple. It was only after the exile and the temple restoration that other gods were either assimilated or considered foreign to Israel. Many of that can be inferred by scholars reading the scriptures. But God, as omnipotent as he maybe, seem to be struggling to work alone and he therefore still have a pantheon of side-kicks – call them saints, angels or tzadikim. In that sense, monotheism still believe in additional deities but admits to only one transcendental “god”.But despite being a monotheist god (that is, with zero tolerance towards other gods), God was still the god of the Jews. It was the christian who managed to elevate go to multi-ethnicity. And it was the muslim who took it one step further and declare god to be multi-religion (in the sense that it doesn’t matter whether you a Jew, a christian or a muslim, as long as you believe in one god you shall be saved).

How does god’s transformation from personal god to everyone’s god sits with his timelessness? He is longer a static constant rather than a dynamic ever-changing force. This forces to raise the questions if there are other gods whose power depleted? can God’s power run out? What would that mean to us as a society – can we manage to hold it together after god will jump the shark?

I full-heartedly recommend the books “Evolution of god” by Robert Wright and “Chronicles of Yahweh” (in Hebrew) by Yigal Ben-nun. Bother book over-analyse the scripture far beyond the shallow analysis presented here.

The phrase “eternal happiness” (in reference to heaven) drew my association to a different kind of eternity – the one set upon Prometheus. Prometheus, according to greek mythology, was a titan who gave the humans the gifts of fire and metalwork (by “stealing” it from the gods, assuming intellectual property existed back then) and in retribution was punished by Zeus to be chained to a rock and have an eagle eat out his liver. As the liver re-grew every night, Prometheus was destined to eternal torture as the eagle return every day to feast on his liver.But is that really eternal, this hell? For surely long sustained pain leads to numbness. According to Dan Ariely, our response to pain is adaptive and therefore our nerve-system will re-grow, as it naturally as it does every day, to make the pain more and more tolerable. But what if it can’t do that? what if our pain-sensing ability is inhumanly regenerative to our disadvantage? then I would argue that Prometheus would have shared the same fate as Theon Greyjoy did, by becoming mentally derailed. A similar fate awaited the dungeon dwellers in Mark Twain’s “A Connecticut Yankee In King Arthur’s Court” whose minds, after spending decades in dark cells, has simply shut down.And that’s the thing about eternity – it assuming we don’t change, but that is simply not true. We are always changing. Every day we’re a little bit different, until we reach our final form, and then we die.It is our final form, not because we decided it so, or because we cannot progress any further. but simply because we die. And then what? After exploring the concept of hell, in which eventually the mind is subdued to a form of escapism, we can consider the option of heaven.Life is great in heaven, as if “living” was a thing. Everything is provided and no hard-feelings whatsoever. The practicality of it failed me – is there no jealousy or envy for something that someone else have? is there no passion? Bad feelings, which we allegedly don’t feel in heaven, do have a meaning in our lives. It’s true they shouldn’t get the better of us but it doesn’t mean they don’t have a role to play in our who we are. But isn’t heaven boring? as it is for eternity, after all, but there are no dramas, no life-threatening thrills, no someone-else’s-needs to attend to. It seems that heaven is the state of intoxicatedly-numb without any sense of time or purpose. Is there even a reason to wake up in the morning in heaven? (are there mornings in heaven anyhow?) So I don’t believe in heaven or hell as eternal state. They don’t make sense to me. I believe life is much more complexed than the naive Zoroastrianic dualist approach that things are either good or bad. I can easily suggest of three alternatives for those who find it difficult to sleep at night caring about what will happen after their demise.A very well-established option is reincarnation. Assuming that your body is a mere vessel for you soul then perhaps it would give you comfort to know that your soul will not be eradicated along with your body. Instead, all of your memories (and whatever makes you the person that you are) will be wiped clean and your soul will find itself in a new body. “Your soul” as in “you are not your soul”. You are the collection of your memories and experiences, and your soul is something else. You might be lucky (or unlucky) to have memories from a previous lifetime but it doesn’t seem to happen very often.Another options is that souls could stay on earth after their body’s demise and just “watch” as events unfold until they decide to move on. In some rare instances they might be able to break the fourth wall and intervene but then again, it’s highly uncommon.That’s the problem with unexplained phenomena of ghosts, spectres and people remembering other lifetimes – it’s unpredictable and non-reproducible and therefore science has problem explaining it. It can’t really be confirmed or denied but because it’s rare I don’t think we can really count on it anyway.Lastly, I think the final alternative for afterlife is the simplest to explain which is nothingness. The same thing that would happen to your computer game character once you turn off your computer. It just stop being. It doesn’t care, nor worry, nor sit back and ruminate over it lack of life’s accomplishments. It just stops.Your worries about the future once you’re gone- the sake of your children, your legacy or even as altruistic as the fate of our planet – all these things bother you now, and you should try to make the best of out of the life given to you. 

The issue of the legality of abortions was recently brought to the spotlight by the Alabama’s latest bill. I think it’s an interesting question that people (myself, a white male, included) who aren’t in the position to undergo an abortion should ask themselves – what is my responsibility in a matter that doesn’t affect me personally?

Anti-abortions would claim they have the duty to intervene and save the life of the baby from his murderous mother (“Abortion is murder!”). I would argue that as soon as the premature baby can survive outside his mother’s womb (be it with the help of an incubator and medical care), it earns its right to live. Should the mother decide to leave her prematurely extracted baby, it would be the equivalent of leaving it in the hospital or giving it to adoption. Before that point in pregnancy I would claim the baby isn’t an autonomous body rather than a part of his mother’s body and she has the right to decide.

Once accepting this compromise regarding the right to live, I found all other anti-abortion claims to be secondary. We can also address the potential father’s claim and mother’s perspective but the underlying argument I would like to make is that anti-abortion legislation is less to do with the foetus’ right to live and more about the denial of of the mother’s right to choose. 

The claim that “all life are sacred” is hypocritical when coming from a state that has capital punishment. If you think “Abortion is killing as it defies the word of god” then surely you’d be against fertility treatment as well, as they also indulge on the notion of “playing god”.  Yet the latter is less of a controversial issue.

Claiming that life begins in conception is also without ground -imagine you’re in a fertility clinic that caught fire and you need to choose between saving a single living baby or a tray of a thousand fertilised eggs- would you consider these 1000 lives more important than that one single baby?

It seems to me that even the claim that “Abortion promotes a culture in which human life is disposable” disregards the mother’s life, her wishes and her body in the sake of principle that should have protected her just the same.

There’s no denial that abortions are unwanted, even by the pro-choice proponents. However they would argue it’s a necessary evil. We can define 3 categories: (i) no abortions in all circumstances, even if it may lead to a life-threatening situation for the mother; (ii) abortions are an acceptable solution in *some* cases; if not in (iii) all cases. Should we agree that some cases are acceptable I would argue that no one else has a final say over the decision but the prospective mother. 

Legality arguments such as “because it’s illegal”; “it’s against the Hippocratic oath” or even “forbidden by the bible” (even though abortion was never mentioned in the bible) only prove that these principles are either outdated or misogynist and the only reason we choose to abide by them.

Arguments regarding the negative effects of abortions on society can also easily be rebuked. Reducing the number of adoptable children isn’t a bad thing as it means less children left uncared for; the fear for eugenics isn’t a really factor as we’re not talking about society’s driven eugenics rather than a woman’s personal choice. The fear of “losing out” potential contributors to society (as reproductive vessels), ignore the other potential contributions the mother can have for society.

In reality, abortions helps people stay out of poverty, reduces crime and help maintain the population’s uncontrollable growth, in a society that doesn’t give enough weight to family-planning and educating men about their responsibility in unwanted pregnancies.

Examining the prospective father’s point of view, whether he is the biological father or not, I tried to imagine a scenario that the father and the mother are in disagreement and the woman is forced to accept the man’s decision. For example, if the woman got pregnant through infidelity but wishes to keep the baby – does the husband have the right to force her to have an abortion? He may have the right to leave her, that would be understandable, but even in such extreme scenario, does he have the right to decide whether she has the baby or not? And what about the biological father, does he have a say? Can he force her to keep the baby that will break her marriage? can he force her to have an abortion? If not, then no – even the biological father doesn’t have a say whether a woman should have an abortion or not. His opinions matters, but it’s her choice.

And lastly, should the biological mother have a say? Should she be responsible for her actions and pay the consequences of getting pregnant? If so, does it follow that rape victims are responsible for getting raped? In the latter case, we can agree that it’s the woman’s choice not to pay the consequences for another man’s crime. Yet at the same time society frowns at women who treat abortion as yet another mean for contraception, that she in fact does need to pay for the consequences. The abortion procedure isn’t friendly nor painless and a “serial-abortionist” acts not because it’s what she prefers, but because of complex and often unfortunate circumstances.

Indeed abortions have undesirable physical and psychological effects on the woman, but that isn’t a deterrent when the alternative can cause even more harm. Instead, legalised abortion should encourage safer procedures and better care for mothers in their time of need.

At the end of the day, with the caveat of the baby that can survive outside its mother’s womb, the decision to have an abortion is better left to the biological mother, where the second concern should be her well-being and lastly the child’s well-being. While other parties may have the right to support, advise etc. it’s the mother’s right to make the final decision, as not to infringe on her basic human right over her own body. As a society we should educate our children about the various different options and support them at their reckless behaviour as there’s no point in having a child suffer because his or hers parent’s foolhardy behaviour.

The HTML<template> element can be useful when (a) we have repetitive HTML content; or (b) when we’re introducing new content. But because of the static nature of HTML which doesn’t really support any data-binding on its own, the <template> element becomes meaningless.  I believe that there is a conceptual flaw with HTML <template> element (or at least it is I who failed to find a reasonable tutorial how to use it properly): <template> tags are meant to help having dynamic content in the page by providing the template as base, but as long as it is handled using javascript and not a pure-browser-native code, it must be encoded (for performance sake) to javascript before being used, and if the translation occurs at the browser-side then by definition it’ll effect performance.

How could it have worked natively?

1. <template> tag should have a data-bind attribute, which is then connected to a javascript variable hold an object (or array of objects) with fields that will be populated natively. For example – <template data-bind="names"><li data-bind="name"><li></template> would be displayed as <li>Alex</li><li>Ben</li>. And wouldn’t it be wonderful if whenever names variable would update the html would refresh itself automatically?

2. If we could data-bind-src a URL with either JSON or XML data to be natively parsed into our template. But in all fairness, we don’t need a <template> tag for that, we just need the html bind attribute. This would work great for pseudo-static HTML files (in the sense that there’s no Javascript required for the page to function), and should we want a dynamic page perhaps we could pick the TemplateElement and use it’s clone(data) method to populate it with our data, so the usage would be: const template = document.selectById("myTemplate");document.selectById("myParent").appendChild(template.clone(data, isWatchingData)

Without native-browser-based data-population and without javascript-less support, the template tags are utter pointless.

JSX as a templating alternative

And now let’s talk about JSX, which is another kind of template. JSX in essence, is a pseudo-html code written within JS code and then pre-compiled to pure JS which is served to the browser. It’s a much more efficient way to write template but I don’t like it, because in order to write proper JSX you need to proficient in both HTML and Javascript and for me it feels like a mix of responsibilities. HTML provides the structure to our page, while javascript provides computability and these are two different things from my point of view.

This is where the html-encoder comes in

I would like to write a normal HTML file but empower it with a `data-bind` attribute without any additional javascript programming (it would have been nice to do so natively but that’s just wishful thinking) and this HTML can be pre-compiled on the server and served as a static page (live-refresh is bonus). The HTML encoder does exactly that:
1. Write a normal HTML file
2. Import it to your javascript code using import Node from ./example.template.html; and then use it by appending it to the DOM – document.appendChild(new Node()); Behind the scenes, I use Rollup plugin capability to detect imported HTML and encoding them to a set of javascript commands that are embedded with the Rollup output javascript file.

1. Write a normal HTML file2. Import it to your javascript code using `import Node from ./example.template.html; and then use it by appending it to the DOM – `document.appendChild(new Node());` Behind the scenes, I use Rollup plugin capability to detect imported HTML and encoding them to a set of javascript commands that are embedded with the Rollup output javascript file.

Adding dynamic content

A guiding principle was to write an HTML valid code, but this raised the question – “Where can we place the computational instructions required?” and I found the Process Instructions (PI for short). they look a bit ugly I must admit – <?=value?> but for the proof-of-concept they serve their purpose.Looking at other templating systems such as Vue, the PIs are attributes in the elements or new html-invalid elements (i.e. not part of the HTML language). The <? ... ?> is a valid HTML element, it should appear as a first child to the element we wish to manipulate or immediately following it (in case of a childless element).

Cheatsheet

  1. <?=text?> creates a textNode with the content of the variable named `text`.
  2. <?==html?> creates an HTML element with the content of `html`, which can be either an HTML element or a string that will be parsed as HTML.
  3. Conditions:
    <??condition?>xxx<?/??> will add the content only if condition is true. A boolean-negate (!) is also available so <??!condition?>xxx<?/??> will add the content only if condition is false.
  4. Loops:
    <?item:index@items?>xxx<?/@?> will iterate over items (either an array or an object) providing the key and value and the given variable names (in the example it would be item and index).
  5. Attributes:
    <?attr key1=varName1 key2=varName2?> will set the attributes in preceding element<?attr attrObject?> will set the attributes described in the attrObject (i.e. the key is the attribute name and the value is the actual value).
  6. CSS classes:
    <?css varName?> will set the class(es) described in the variable that can be either a string or an array. it’s also possible to condition a class by writing <?class condition?varName?>.
  7. Editable content:
    you can access created nodes at node.set.foo if the id was provided in one of those ways <?=text #foo?> or <?==html #foo?> or <div id="foo">.
  8. SubTemplates:
    When a subTemplates’ class is provided with the data it can be used with <?:subTemplateVarName?> and it will get the data as the parent-template.

`<?=text?>` creates a textNode with the content of the variable named `text`.2. `<?==html?>` creates an HTML element with the content of `html`, which can be either an HTML element or a string that will be parsed as HTML.3. Conditions: `<??condition?>xxx<?/??>` will add the content only if condition is true. A boolean-negate (`!`) is also available so `<??!condition?>xxx<?/??>` will add the content only if condition is false.4. Loops: `<?item:index@items?>xxx<?/@?>` will iterate over items (either an array or an object) providing the key and value and the given variable names (in the example it would be `item` and `index`)5. Attributes:`<?attr key1=varName1 key2=varName2?>` will set the attributes in preceding element`<?attr attrObject?>` will set the attributes described in the attrObject (i.e. the key is the attribute name and the value is the actual value)6. CSS classes:`<?css varName?>` will set the class(es) described in the variable that can be either a string or an array. it’s also possible to condition a class by writing `<?class condition?varName?>`.7. Editable content: you can access created nodes at `node.set.foo` if the id was provided in one of those ways `<?=text #foo?>` or `<?==html #foo?>` or `<div id=”foo”>`.8. SubTemplates: When a subTemplates’ class is provided with the data it can be used with <?:subTemplateVarName?> and it will get the data as the parent-template.

8. SubTemplates: When a subTemplates’ class is provided with the data it can be used with <?:subTemplateVarName?> and it will get the data as the parent-template.

Future steps

This project is mostly thought-experiment in creating a relatively clean internet code, well-encapsulated and easy to use. The next step will be to try create an application with it and see whether it holds to its promise and allows easy development with no need to touch HTML code directly from the javascript.