Career Pivots of Developers
This is a list of former developers who have left the software engineering and what they are doing now. Use it as a reference when you are thinking about changing your career.
This is a list of former developers who have left the software engineering and what they are doing now. Use it as a reference when you are thinking about changing your career.
“The things you own end up owning you.” - Chuck Palahniuk.
I was minimalist. It was very easy and stress-free life. I did own many things but but only after careful planning and I was quick to sell things that didn’t meet my expectations or once I stopped using them.
I also used to live well below my means. I felt free because loss of job or any other financial crisis would not affect me much.
Only when you have wrong expectations.
It is so easy to know what is right action but sometimes so hard to do it.
Ayden is having rough morning. Well he was having good morning until we took him to his soccer match. He got shy and didn’t want to play. I spend 45 minutes encouraging him. Getting frustrated. Getting embarrassed. Getting angry.
I wanted to leave.
I don’t know what is right behavior. What should have I done. Is it too much to expect your child to do what they wanted to do. If you don’t push your child will they never get out of their comfort zone and never grow. If you push too much will that cause them unnecessary anxiety when they will naturally grow up at their own pace.
Interactive tutorials for math and algorithms — Read on www.redblobgames.com/
Ask HN: How do you manage photos, philosophically? | Hacker News — Read on news.ycombinator.com/item
The day’s headlines delivered to you without bullshit. — Read on brutalist.report/
A previous time this was asked on HN, someone linked to these, which I quite lik… | Hacker News — Read on news.ycombinator.com/item
Read tech news from the most popular tech websites in one place. — Read on techurls.com/
Join 900,000+ members. Learn financial modeling and interview skills to help you break into the top financial careers in the world. — Read on www.wallstreetoasis.com/
pouët.net - your online demoscene resource — Read on www.pouet.net/
Ayden: I don’t want to lose my Pokémon cards
Amer: ok
Ayden: Pokemon cards are very important
Amer: how so?
Ayden: they have all the information about Pokemon. They are not like credit cards. They are better than credit cards.
Could you be highly sensitive person? A highly sensitive person is someone who can get overwhelmed by various senses such as noise, smells, clutter that would not bother most people.
I got two kids and sometimes they both are crying and screaming at the same time. Their screams causes my neck, shoulders and arms to get stiff and I feel tingling or pins all over my arms. This sounds like heart attack and I am going to doctor to have it checked but quick search showed that this might be due to High Sensitivity towards noises or screams. And that’s when I learned about Highly Sensitive People aka HSP.
Ayden deciding his career:
“There are so many cool job, I want to be fireman, goalie, dad, police officer, monster truck driver.”
Here are simple steps to backup your VPS.
Create a directory to store the backup files. Then run mysqldump
command to backup your database.
mysqldump -u your_mysql_user -pyour_mysql_password your_database_name > /path/to/dump_$(date +\%Y\%m\%d\%H\%M\%S).sql
Or you run it as supersuer and backup all databases in once.
sudo mysqldump --all-databases > /path/to/dump_$(date +\%Y\%m\%d\%H\%M\%S).sql
To automate this, schedule a cron job that will run this command on a daily basis.
crontab -e
Insert the following line to execute the mysqldump command every day at midnight.
Ask HN: Is there a news source you read everyday? If so, what is it? | Hacker News — Read on news.ycombinator.com/item
I had been using GitHub and Netlify for this site but lack of some features such as access to server logs finally got too much. So I decided to move this blog to my VPS.
One thing I really love about using Github is CI/CD and Github Actions. But I wanted something even simpler with less dependencies. So I decided to use a simple bash script to build and deploy the site.
Ask HN: Those with ADHD. What’s a hobby that never gets boring? | Hacker News — Read on news.ycombinator.com/item
I’m often asked if I plan to hire more people and grow my own design agency? I don’t, and in this article I explain why. — Read on neladunato.com/blog/why-wont-grow-freelance-studio-into-agency/
Ask HN: What’s your favourite hobby and how did it start? | Hacker News — Read on news.ycombinator.com/item
Windscribe is a desktop application and browser extension that work together to block ads and trackers, restore access to blocked content and help you safeguard your privacy online. — Read on windscribe.com/vpnmap
Ask HN: Why did Python win? | Hacker News — Read on news.ycombinator.com/item
Sticking out your tongue while doing delicate work with your hands reveals a history of evolutionary relationships. — Read on www.quantamagazine.org/the-hidden-brain-connections-between-our-hands-and-tongues-20230828/
Ask HN: What are some captivating fair play mystery books that you’ve read | Hacker News — Read on news.ycombinator.com/item
Ask HN: What’s the coolest physical thing you’ve made? | Hacker News — Read on news.ycombinator.com/item
It’s both intriguing and somewhat disheartening to observe how trading concepts often mirror human behavior. Here’s how:
In the investment world, the saying “past performance does not guarantee future results” is well-known. Despite this warning, many successful trend followers have found that stocks moving up generally continue to do so, and vice versa.
Interestingly, this concept applies to humans as well. Those who are happy and kind often continue in the same manner or even improve, while those who are miserable tend to spiral downward.
Two supermoons in August mean double the stargazing fun — Read on phys.org/news/2023-07-supermoons-august-stargazing-fun.html
I feel hopeless, rejected, and a burden on society – one week of empathy training – Terence Eden’s Blog — Read on shkspr.mobi/blog/2019/07/i-feel-hopeless-rejected-and-a-burden-on-society-one-week-of-empathy-training/
Ask HN: Share one man boring internet businesses | Hacker News — Read on news.ycombinator.com/item
Apple Vision Pro developer kit | Hacker News — Read on news.ycombinator.com/item
Ask HN: How do you find clothing? | Hacker News — Read on news.ycombinator.com/item
Ask HN: Looking for new hobbies to relax, grow or make friends, any ideas? | Hacker News — Read on news.ycombinator.com/item
Ask HN: What does your AI tech stack look like? | Hacker News — Read on news.ycombinator.com/item
Ask HN: What YouTube channels do you watch with your kids? | Hacker News — Read on news.ycombinator.com/item
The Hidden Mosque of Rüstem Pasha — Read on onthearts.com/p/istanbuls-blue-tile-paradise
The 1988 film adaptation of ‘The Unbearable Lightness of Being’ was directed by Philip Kaufman and starred Daniel Day-Lewis and Juliette Binoche. — Read on variety.com/2023/film/global/milan-kundera-the-unbearable-lightness-of-being-dies-dead-1235667595/
I love swimming but it is hard to swim for more than 30 mins, not because I get tired but because it gets boring.
I had been looking for headphones for swimming but almost of all them are essentially mp3 players. That is because Bluetooth doesn’t pass through water very well. You need to pre-load songs or mp3s. Which would be fine if you only care for music. But I am mostly listening to news or audiobooks. It seems like too much work to use those headphone for anything but music.
If you don’t give money its purpose, it will end up defining yours. — Read on moretothat.com/money/
Ask HN: Which book has had the most meaningful contribution in your life? | Hacker News — Read on news.ycombinator.com/item
Community driven, articles, resources, guides, interview questions, quizzes for DevOps. Learn to become a modern DevOps engineer by following the steps, skills, resources and guides listed in this roadmap. — Read on roadmap.sh/devops
The text of Pricing Money, J. D. A Wiseman, Wiley (2001) — Read on www.jdawiseman.com/books/pricing-money/Pricing_Money_JDAWiseman.html
This error in our Rails application drove me crazy. The error was like this:
In my view, horizontal spaces should be minimalist and vertical spaces can be maximalist. This way you will have a lot of horizontal space to sit at, write on. And walls covered in art to entertain you and also reducing echos and creating quieter space.
Most Important Papers for Quantitative Traders | Hacker News — Read on news.ycombinator.com/item
Ask HN: Has anyone switched from a professional job to a (more) manual one? | Hacker News — Read on news.ycombinator.com/item
To me fake plastic plants means that one is too lazy to take care of real plants but they want to pretend to be someone who they are not.
Nothing wrong with not wanting to take care of real plants. But why not decorate your place in a way that reflects who you are.
In our backyard lay a series of deck drains that perennially harbored standing water. Despite my best efforts, tracing the end of these drains proved to be an elusive task, seemingly due to the fact that it was compacted and buried beneath layers of earth.
I even ventured to employ a drain snake to address the issue, but the screws securing the drain covers were victims of rust, rendering them immovable.
My favorite movies in no particular order:
Ask HN: What 60 folks can give career and general life advice for 40 folks | Hacker News — Read on news.ycombinator.com/item
Most of us write our IP addresses the way we’ve been taught, a long time ago: 127. — Read on ma.ttias.be/theres-more-than-one-way-to-write-an-ip-address/
Getting this error while following this tutorial in Godot v4.0.1.
In my case, I had added Node2D
. The fix was to right click on the problem node under scene and click Make Scene Root
. And then delete Node2D
.
Here is what diff
looked like:
diff --git a/2d-game-tutorial/Mob.tscn b/2d-game-tutorial/Mob.tscn
index 9eb1630..e720d7f 100644
--- a/2d-game-tutorial/Mob.tscn
+++ b/2d-game-tutorial/Mob.tscn
@@ -48,20 +48,18 @@ animations = {
radius = 36.0
height = 100.0
-node name="Mob" type="Node2D"]
-script = ExtResource("1_73gb4")
-
-node name="RigidBody2D" type="RigidBody2D" parent="."]
+node name="RigidBody2D" type="RigidBody2D"]
collision_mask = 0
gravity_scale = 2.66454e-15
+script = ExtResource("1_73gb4")
-node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="RigidBody2D"]
+node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
scale = Vector2(0.75, 0.75)
sprite_frames = SubResource("SpriteFrames_c1yjy")
animation = &"walk"
-node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"]
+node name="CollisionShape2D" type="CollisionShape2D" parent="."]
rotation = 1.5708
shape = SubResource("CapsuleShape2D_h1pjc")
-node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="RigidBody2D"]
+node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
The gut microbiome may be both helpful and harmful, and not only is it affected by diet, it has also been shown to affect mental health including personality, mood, anxiety and depression. In this clinical study we assessed dietary nutrient composition, mood, happiness, and the gut microbiome in ord … — Read on pubmed.ncbi.nlm.nih.gov/36993403/
This was in 2011. More than 12 years ago. Still one of my favorite memory.
View from skydiving plane just before jumping Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas Skydiving in Dallas
Ask HN: Successful one-person online businesses? | Hacker News — Read on news.ycombinator.com/item
Ask HN: Solo founders, How do you deal with self-doubt and being overwhelmed? | Hacker News — Read on news.ycombinator.com/item
Ask HN: What books helped you in your entrepreneurship journey? | Hacker News — Read on news.ycombinator.com/item
Ask HN: What has your personal website/blog done for you? | Hacker News — Read on news.ycombinator.com/item
Ask HN: Any solo game developers here? | Hacker News — Read on news.ycombinator.com/item
A Senior Engineer’s Guide to the System Design Interview | Hacker News — Read on news.ycombinator.com/item
Interesting post and discussion at Hacker’s News about advancing as Individual Contributor. Still debating which way to go.
I am a big fan of cheap VPSs. I start many personal projects, bring up a VPS, play around and then wipe it. Never have to worry about accidentally running up bill in 100s or 1000s of dollars. I run this blog on $4 server.
So this was interesting to read how far can a cheap VPS go.
Simplification of dev setup:
Apps to develop
Yesterday, I ordered some tissue culture and planting supplies.
Indoors plants market is huge. There is a lot to learn. There are new terms, new communities to join. But it is pretty exciting.
The main reasons I decided to explore this space is because:
“It’s What I Do” by Lynsey Addario is probably in my top 10 favorite books. As someone who always wanted to be a serious photographer who would use images to make the world better place, I felt a real connection while reading this book. While reading it, I imagined myself being in the situations that Lynsey was in and I really don’t know if I would have been able to handle those situations.
Saw this post on Hacker’s News. A lot of interesting books to read.
Book | Links |
---|---|
The Stormlight Archive (series) by Brandon Sanderson | https://news.ycombinator.com/item?id=30739083 |
Jacob’s Room, Virginia Woolf | https://news.ycombinator.com/user?id=thatjoeoverthr |
Dune | |
Man’s Search For Meaning | |
How to Practice: The Way to a Meaningful Life - the Dalai Lama | |
Surely you’re joking Mr. Feynman | |
Gödel, Escher, Bach: an Eternal Golden Braid | |
Debt: The First 5000 Years | |
Crucial Conversations: Tools for Talking when Stakes are High by Kerry Patterson | |
Difficult Conversations: How to Discuss What Matters Most |
The easiest solution seems to be following script by Stackoverflow user, Timothy Perez
:
<pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">#!/bin/bash
# NAMESPACED EXPORTS
for ns in $( kubectl get ns --no-headers | cut -d " " -f1 ) ; do
kubectl --namespace = " ${ ns} " get -o = json bindings,cm,ep,ev,limits,pvc,po,podtemplates,rc,quota,secrets,sa,svc,controllerrevisions,ds,deploy,rs,sts,localsubjectaccessreviews,hpa,cj,jobs,leases,ev,ds,deploy,ing,netpol,rs,pods,netpol,pdb,roles,rolebindings | \
jq '.items[] |
select(.type!="kubernetes.io/service-account-token") |
del(
.spec.clusterIP,
.metadata.uid,
.metadata.selfLink,
.metadata.resourceVersion,
.metadata.creationTimestamp,
.metadata.generation,
.status,
.spec.template.spec.securityContext,
.spec.template.spec.dnsPolicy,
.spec.template.spec.terminationGracePeriodSeconds,
.spec.template.spec.restartPolicy
)' >> "./ ${ ns} .json"
done
# NON-NAMESPACED EXPORTS
kubectl get -o = json cs,ns,no,pv,mutatingwebhookconfigurations,validatingwebhookconfigurations,crds,apiservices,tokenreviews,selfsubjectaccessreviews,selfsubjectrulesreviews,subjectaccessreviews,csr,psp,nodes,psp,clusterrolebindings,clusterroles,pc,sc,volumeattachments | \
jq '.items[] |
select(.type!="kubernetes.io/service-account-token") |
del(
.spec.clusterIP,
.metadata.uid,
.metadata.selfLink,
.metadata.resourceVersion,
.metadata.creationTimestamp,
.metadata.generation,
.status,
.spec.template.spec.securityContext,
.spec.template.spec.dnsPolicy,
.spec.template.spec.terminationGracePeriodSeconds,
.spec.template.spec.restartPolicy
)' >> "./cluster_non-namespaced_export.json"
Script copied here under CC BY-SA 4.0 license
I was getting following error when running git pull
git pull
fatal: bad object refs/heads/master 2
error: github.com:abc/xyz.git did not send all necessary objects
I tried running git gc
git gc
error: bad ref for .git/logs/HEAD 2
fatal: bad object refs/heads/master 2
fatal: failed to run repack
The fix was to remove above to files under .git
rm .git/logs/HEAD\ 2
rm .git/refs/heads/master\ 2
After that I was able to run gc
and do git pull
An Algorithm for Passing Programming Interviews | Hacker News — Read on news.ycombinator.com/item
I spent hours troubleshooting why url path was getting stripped from requests in our Nodejs/Expressjs based app. The reason was this line in Kubernetes’ Ingress:
nginx.ingress.kubernetes.io/rewrite-target : /
Removing it fixed the issue. Check Kubernetes documentation
for more details.
I love these kind of posts. Here are some interesting ideas for side-gig:
Calculating rough ROI on rentals is easy:
For example, let’s say one buys $500,000 single family home and rent it out for $3000 per month. Since it is investment property, they will need to make at least 20% down payment. On $400,000 loan, their monthly payment would be about $2750 at 3.25% interest rate, with $10,000 in property taxes per year and $2000 yearly insurance.
($36,000 - $33,000) / $100,000 = 0.03 or 3% return.
Recent thread on Hacker News, https://news.ycombinator.com/item?id=29360119, was very interesting for me especially since I turned 40 this year.
Programming is something I enjoy and pretty good at it. I’m still not at the top of salary range for programmers but this is a tough question. I can get into FAANG but there is still a ceiling of how much one can earn as a software engineer.
This comment
says it best:
This is a quick script that I use to find options to buy or sell.
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Components;
namespace WealthLab.Strategies
{
public class MyStrategy : WealthScript
{
protected override void Execute()
{
DataSeries maFast = EMAModern.Series(Close, 50 );
DataSeries maSlow = EMAModern.Series(Close, 200 );
DataSeries maFast_1 = EMAModern.Series(Close, 10 );
DataSeries maSlow_2 = EMAModern.Series(Close, 50 );
DataSeries ma = EMAModern.Series(Close, 10 );
DataSeries maFast_3 = EMAModern.Series(Close, 10 );
DataSeries maSlow_4 = EMAModern.Series(Close, 50 );
PlotSeries(PricePane,EMAModern.Series(Close, 50 ),Color.Red,LineStyle.Solid, 2 );
PlotSeries(PricePane,EMAModern.Series(Close, 200 ),Color.Green,LineStyle.Solid, 2 );
PlotSeries(PricePane,EMAModern.Series(Close, 10 ),Color.Blue,LineStyle.Solid, 2 );
PlotSeries(PricePane,EMAModern.Series(Close, 50 ),Color.Red,LineStyle.Solid, 2 );
PlotSeries(PricePane,EMAModern.Series(Close, 10 ),Color.Blue,LineStyle.Solid, 2 );
//for(int bar = GetTradingLoopStartBar(201); bar < Bars.Count; bar++)
int bar = Bars.Count - 1 ;
{
if (IsLastPositionActive)
{
Position p = LastPosition;
if (p.EntrySignal.Contains("Group1|" ))
{
if (CrossUnder(bar, maFast_3, maSlow_4))
{
SellAtMarket(bar + 1 , p, "Group1" );
}
}
}
else
{
if (maFast[bar] > maSlow[bar])
{
if (maFast_1[bar] > maSlow_2[bar])
{
if (Close[bar] < ma[bar])
{
if (EarningsDate.InWindow( this , bar, "earnings per share" , 7 , 0 ))
{
BuyAtMarket(bar + 1 , "Group1|" );
}
}
}
}
}
}
}
}
}
This is slightly a mess, basically various links my bookmarks are here.
I was debating between PS5 and Quest 2 (Affiliate link), and yes it is like comparing apples and oranges, but in the end Quest 2 won. I will likely buy PS5 at some point though. But before I buy PS5, I need a new TV with 4K and HDR. It seems pointless to play PS5 on 1080p TV from early 2010s.
Quest 2 is not my first experience with Virtual Reality. I tried PSVR about 2-3 years ago but the mess of wires really turned me off with the idea of VR. When I found out that Quest 2 is completely wireless, I got interested in it again. I was not very excited about needing Facebook account to use it though.
Journey to the Microcosmos is a YouTube channel all about looking at microscopic organisms through microscope. Videos are beautifully produced and narrator explains what you are looking at in a calm soothing voice. These videos are educational and interesting. Highly recommended.
Fix:
pip3 install --upgrade plotly
I have been using Docker and Kubernetes for several years now but never really took any time to really read about it. There were a lot of gaps in my understanding of how Docker works and what really is possible with it. Just recently my employer started to offer Udemy’s subscription, so I took Hands on Docker course. Here are some of the important things I learned in this course.
You run these in Windows or MacOS but most likely you will use Linux in production. And unlike Windows and MacOS, you can run Docker on Linux VPS.
I was using mcrypt
to encrypt json_encoded
data.
On other side, mycrypt was able to decrpyt data but json_decode
was not working. It would throw JSON\_ERROR\_CTRL_CHAR
error.
However, without mcrypt, json_decode worked flawlessly.
After some trial and error, I found that applying trim
function after decrypting data would let me use json_decode without any issues.
I usually run it from under a partition which is running out of space. It can take a while.
du -g | sort -n -r
Playing with Cordova, I was getting this error when building iOS version:
Error: xcode-select: error: tool 'xcodebuild' requires Xcode,
but active developer directory is a command line tools instance
Even full install of Xcode didn’t fix this error.
The solution was to run following command to use full Xcode instead of command line tools version that I had installed earlier:
sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer
I followed instructions here: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-18-04
Everything seemed okay but email were not getting delivered. Logs showed me that smtp connections were timing out:
tail -f /var/log/mail.log
May 3 12:28:10 postfix/smtp[3160]: connect to gmail-smtp-in.l.google.com[172.217.197.27]:25: Connection timed out
May 3 12:28:10 postfix/smtp[3160]: connect to alt1.gmail-smtp-in.l.google.com[2800:3f0:4003:c00::1a]:25: Network is unreachable
May 3 12:28:40 postfix/smtp[3160]: 4984C41A1E: to=<xxxx@gmail.com>, relay=none, delay=3246, delays=3186/0.01/60/0, dsn=4.4.1, status=deferred (connect to alt2.gmail-smtp-in.l.google.com[2a00:1450:400b:c00::1a]:25: Network is unreachable)
However, I could ping any of above ip addresses just fine.
Without full understanding, I had enabled HSTS
on amerkhalid.com with option includeSubDomains
. I had a subdomain that was used as “Custom Domain” to SmugMug site. After enabling HSTS, these subdomains started to throw NET::ERR_CERT_COMMON_NAME_INVALID
.
The fix is of course simple, don’t use includeSubDomains
. But that opens up your top level domain to man in middle attacks.
For now, I decided to follow the best practices and leave includeSubDomains
enabled. And decided to not use custom domain for my SmugMug site.
While playing with https://github.com/alexa/interactive-adventure-game-tool, I ran into following error:
> interactive-adventure-game-tool@1.0.0 start /Users/amer/alexa/interactive-adventure-game-tool
> node node_modules/gulp/bin/gulp.js
/Users/amer/alexa/interactive-adventure-game-tool/node_modules/require-dir/index.js:97
if (!require.extensions.hasOwnProperty(ext)) {
^
TypeError: require.extensions.hasOwnProperty is not a function
at requireDir (/Users/amer/alexa/interactive-adventure-game-tool/node_modules/require-dir/index.js:97:37)
at Object.<anonymous> (/Users/amer/alexa/interactive-adventure-game-tool/gulpfile.js:1:85)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
at Liftoff.handleArguments (/Users/amer/alexa/interactive-adventure-game-tool/node_modules/gulp/bin/gulp.js:116:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! interactive-adventure-game-tool@1.0.0 start: `node node_modules/gulp/bin/gulp.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the interactive-adventure-game-tool@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/amer/.npm/_logs/2018-01-02T05_12_24_832Z-debug.log
The solution was to update require-dir
to version 0.3.2 in package.json and run npm install
again.
Setting up Ingress is an easy process but when it doesn’t work it gets really painful. First, make sure you have Ingress Controller setup correctly. This is in addition to Ingress resource and should be automatically setup by your cloud provider. When I was trying to setup a Kubernetes cluster on IBM Cloud, I ran into a lot of issues. It seems due to my permissions level something went wrong during provisioning of Kubernetes and Ingress Controller was not setup correctly. I went through a lot of steps including recreating alb
, ingress resources, etc. The final fix was to login to IBM Cloud as superuser to change Access Policies for the cluster. Once did that, everything just worked magically.
I moved all my blogs back to Hugo. I have gone back and forth between Wordpress and Hugo several times. WordPress makes it really easy to write and publish content. On this domain, I was using WordPress as a bookmarking service. With PressThis plugin, I was able to use a bookmarklet and publish a new post from any page on the web. But that plugin has not been updated in a while and it seems with every new WordPress release something would break. A few times, I was able to hack it to keep going. But lately, I cannot keep up with it. I will have to figure out a better way to bookmark but for now, I didn’t want to deal with WordPress. And easy bookmarking was the only reason why I was using WordPress.
Robert Walter Weir was one of the most popular instructors at West Point in the mid-1800s. Which is odd at a military academy, because he taught painting and drawing. Weir’s art classes were mandatory at West Point. Art can broaden your perspective, but that wasn’t the point. Nineteenth-century West Point cadets needed to be good at drawing because cartography was in its infancy. High-quality maps of the United States – let alone, say, Mexico – were scarce, if they existed at all. Military officers were expected to draw maps on the fly and record a battlefield’s topography. It wasn’t a niche; it was vital to war. Weir’s favorite student, who passed the time at West Point drawing river bends and mountain ranges, was Ulysses S. Grant. West Point no longer offers drawing or painting classes. Its sole cartography course emphasizes mapping software and technology, as you might expect. Drawing was an expiring military skill. Critical in one era, diminished in the next, unmentionable thereafter. A lot of things work that way. Every field has two kinds of skills: Expiring skills, which are vital at a given time but prone to diminishing as technology improves and a field evolves. Permanent skills, which were as essential 100 years ago as they are today, and will still be 100 years from now. Both are important. But they’re treated differently. Expiring skills tend to get more attention. They’re more likely to be the cool new thing, and a key driver of an industry’s short-term performance. They’re what employers value and employees flaunt. Permanent skills are different. They’ve been around a long time, which makes them look stale and basic. They can be hard to define and quantify, which gives the impression of fortune-cookie wisdom vs. a hard skill. But permanent skills compound over time, which gives them quiet importance. When several previous generations have worked on a skill that’s directly relevant to you, you have a deep well of relevant examples to study. And when you can spend a lifetime perfecting one skill whose importance never wanes, the payoffs can be ridiculous. Anything that compounds over decades usually is. A few permanent skills that apply to many fields: Not being a jerk. Being a jerk offsets being talented one for one, if not more. They don’t teach this in school, but it’s the single most important career skill. Part of this includes empathizing with jerks who are being jerks because they’re dealing with stress. The willingness to adapt views you wish were permanent. Accepting when expiring skills have run their course. A lot of what we believe about our fields is either right but temporary, or wrong but convincing. Sam Arbesman’s book The Half-Life of Facts makes this uncomfortably clear. “Medical knowledge about cirrhosis or hepatitis takes about forty-five years for half of it to be disproven or become out-of-date,” he writes. “This is about twice the half-life of the actual radioisotope samarium-151.” Getting along with people you disagree with. Equally smart people can come to different conclusions. And as Larry Summers once noted, “There are idiots; look around.” Some of these people can be avoided. Many can’t. You have to deal with them diplomatically. People who view every disagreement as a battle that must be won before moving on end up stuck and bitter. Getting to the point. Everyone’s busy. Make your point and get out of their way. Respecting luck as much as you respect risk. Acknowledging risk is when something happens outside of your control that influences outcomes and you realize it might happen again. Acknowledging luck is when something happens outside of our control that influences outcomes and you realize it might not happen again. Staying out of the way as much as you offer to help. You can add as much value by getting out of people’s way and minimizing your burden as you can by actively helping. This is especially important for two groups: new employees eager to get involved, and senior managers eager to get involved. Accepting a certain degree of hassle and nonsense when reality demands it. The ability to be comfortable being miserable. Frances Perkins, Franklin Roosevelt’s Secretary of Labor, said the most remarkable thing about the president’s paralysis was how little it seemed to bother him. He told her: “If you can’t use your legs and they bring you milk when you wanted orange juice, you learn to say ‘that’s all right,’ and drink it.” A useful and permanent skill in a world that’s constantly breaking and evolving. The ability to distinguish “temporarily out of favor” from “wrong.” Endurance is key because every industry is cyclical, and putting up with its dark days is the only way to ensure you’re part of the good ones. Gracefully exiting when you realize that whatever fueled past success doesn’t work anymore is also key. Warren Buffett says his favorite holding period is forever, then dumped $7 billion worth of airline stocks based on a few weeks of data. That might lo
“Have you ever watched Inside the Actors Studio? The host, James Lipton, invariably asks his guests, “What factors make you decide to take a particular role?” The actor always answers: “Because I’m afraid of it.””
— The War of Art by Steven Pressfield https://a.co/byFeRJx
“Heaven and Earth are meeting in a storm that, when it’s over, will leave the air purer and the fields fertile, but before that happens, houses will be destroyed, centuries-old trees will topple, paradises will be flooded.”
— Aleph by Paulo Coelho https://a.co/cfOu5ja
“When a sense of dissatisfaction persists, that means it was placed there by God for one reason only: you need to change everything and move forward.”
— Aleph by Paulo Coelho https://a.co/0J87Lcb
““You’re not here anymore. You’ve got to leave in order to return to the present.””
— Aleph by Paulo Coelho https://a.co/6FWXQN3
““There’s no point sitting here, using words that mean nothing. Go and experiment. It’s time you got out of here. Go and re-conquer your kingdom, which has grown corrupted by routine. Stop repeating the same lesson, because you won’t learn anything new that way.””
— Aleph by Paulo Coelho https://a.co/6b8GNXf
“In India, they use the word ‘karma,’ for lack of any better term. But it’s a concept that’s rarely given a proper explanation. It isn’t what you did in the past that will affect the present. It’s what you do in the present that will redeem the past and thereby change the future.””
— Aleph by Paulo Coelho https://a.co/0hVgS5H
““I’m filled with doubt, especially about my faith,” I say. “Good. It’s doubt that drives a man onward.””
— Aleph by Paulo Coelho https://a.co/6r1XVVl
“My search for wisdom, peace of mind, and an awareness of realities visible and invisible has become routine and pointless.”
— Aleph by Paulo Coelho https://a.co/hT3kZXY
“There’s a secret that real writers know that wannabe writers don’t, and the secret is this: It’s not the writing part that’s hard. What’s hard is sitting down to write.”
— The War of Art by Steven Pressfield https://a.co/6sJg1aj
This year I crossed off one of my bucket list item, got Open Water Diver certification. I had done scuba diving before at Honolulu. It is among my top 3 best experiences. Ever since that vacation, I had been wanting to get into diving more seriously.
But since we live in land locked Dallas, I didn’t think it was possible or worth it. Then this year in February I saw GroupOn from International Scuba and I decided to just go for it. I think GroupOn was for $250 but then there was a fine print which said we need to buy our own mask, fins, snorkel, and boots. I bought all this gear from International Scuba as they offered free gear rental for checkout dives. But this added about additional $200.
“In my opinion, the most important lesson that you can learn from reading this book is that you will not get rich quickly by day trading.”
— How to Day Trade for a Living: Tools, Tactics, Money Management, Discipline and Trading Psychology by Andrew Aziz https://a.co/fmI1u8k
I got my iPad Pro at the end of 2017. Before buying it, I had read many blog posts by various developers who were using iPad for programming and web development. But soon after I bought it, I realized that serious web development on iPad is hard. The biggest issue was debugging JavaScript and CSS without web tools. At first, I was having buyer’s remorse but I loved the form factor of iPad and loved drawing on it. I am used to reading on Kindle and iPad was just too heavy for long reading sessions but it was very decent reading device for quick reading sessions. So I kept it.
“The things we really want to do are usually the ones that scare us the most. The things you’ll not feel conflicted about are the choices that leave no one hurt.”
— What Should I Do with My Life?: The True Story of People Who Answered the Ultimate Question by Po Bronson https://a.co/izynNz8
Here are some things to consider about consulting:Sales/Selling is the last thing on your list and salesperson is only a maybe. Reverse all of your priorities because selling and relationships are the most difficult things to master for a consulting company and you will die without those skills.In consulting, tech talent < sales/relationship talent. In fact, if you’re great at the latter go ahead and get started now because there are lots of great tech people who don’t want to do it and will come work for you on a nice contract rate.To give you an example of this I once worked with a consultant who was a technical rock star, and another consultant who was supposed to be technical but was actually pretty below average. The below average guy was more successful because he was great when talking with the customers and they loved him. He knew enough to talk through problems at a high level, explained things well, and made them feel comfortable that things we’re on the right track. If he didn’t know something, no problem, he just went and found someone with the answer.Besides those soft skills he knew how to set and manage expectations. You may be used to the best results winning, but if you don’t manage and then exceed expectations it doesn’t matter. People love you when they expect 80 out of 100 and you deliver 88. They will not be happy and often fire you if expecting 100 out of 100 and you deliver 92. You will wonder how you just lost to a competitor who is not “as good” as you.Even if you have pretty good soft skills, do you want to spend time constantly using them? I thought you liked the tech side? If you like both then great because someone has to spends tons of time doing it to sell, maintain, and expand the work and your success depends on how good they are at it.For many people this will all be hard to believe, or they think it’s exaggerated, or that it’s easy to just hire someone to do it. That’s fine, I hope you have great success. Drop me a line in a couple years to say how things turned out.
“For would-be entrepreneurs (he calls them “wantrapreneurs”), or entrepreneurs who’ve grown a little too comfortable, Noah has a recommendation—ask for 10% off of your next few coffees. “Go up to the counter and order coffee. If you don’t drink coffee, order tea. If you don’t drink tea, order water. I don’t care. Then just ask for 10% off. . . . The coffee challenge sounds kind of silly, but the whole point is that—in business and in life—you don’t have to be on the extreme, but you have to ask for things, and you have to put yourself out there.””
“I remember walking out of the station around midnight. It was up on the top of this mountain, a beautiful place. I remember looking out and just saying, ‘Oh, my God, when am I going to like this? When am I going to really be happy with the work that I’m churning out?’ I look back on that all the time . . . if I could go back and just tell myself, ‘Don’t stress about it, it’s all going to work out in the end.’”
Reading a new book, “What should I do now?”
I have been trying to figure out next steps in my career. On one hand, there is management track. Then on other side, I just like to code and not deal with meetings and all that. But then as a dev, my earning potential is limited. Been thinking of going solo as freelancer. Then I can focus on code and choose my own projects.
““I think we need to teach kids two things: 1) how to lead, and 2) how to solve interesting problems. Because the fact is, there are plenty of countries on Earth where there are people who are willing to be obedient and work harder for less money than us. So we cannot out-obedience the competition. Therefore, we have to out-lead or out-solve the other people. . . .”
— Tools of Titans: The Tactics, Routines, and Habits of Billionaires, Icons, and World-Class Performers by Timothy Ferriss https://a.co/62h4x27
““What could possibly be more important than your kid? Please don’t play the busy card. If you spend 2 hours a day without an electronic device, looking your kid in the eye, talking to them and solving interesting problems, you will raise a different kid than someone who doesn’t do that. That’s one of the reasons why I cook dinner every night. Because what a wonderful, semi-distracted environment in which the kid can tell you the truth. For you to have low-stakes but superimportant conversations with someone who’s important to you.””
There’s a place in France{.populated}__, Where the naked ladies dance. There’s a hole in the wall Where the men watch it all
““Because most of us say yes to too much stuff, and then, we let these little, mediocre things fill our lives. . . . The problem is, when that occasional, ‘Oh my God, hell yeah!’ thing comes along, you don’t have enough time to give it the attention that you should, because you’ve said yes to too much other little, half-ass stuff, right? Once I started applying this, my life just opened up.””
“DEREK: “Well, I meet a lot of 30-year-olds who are trying to pursue many different directions at once, but not making progress in any, right? They get frustrated that the world wants them to pick one thing, because they want to do them all: ‘Why do I have to choose? I don’t know what to choose!’ But the problem is, if you’re thinking short-term, then [you act as though] if you don’t do them all this week, they won’t happen. The solution is to think long-term. To realize that you can do one of these things for a few years, and then do another one for a few years, and then another.”
Here is a list of parenting books recommended by members of Hacker’s News community. All links are affiliate links to purchase these books from Amazon:
One of a few books that are recommended multiple times in this thread. 4.5 stars with 1000+ reviews.
Another book that was recommended by multiple people.
Last week, I had decided to use Swift/Apple’s ecosystem for initial gamedev. But I wasn’t feeling 100% okay with getting locked into Apple’s ecosystem.
So I spent last week doing more research on developing simple apps using Swift, Xamarin, Flutter, and React Native.
Since I use JavaScript at work, React Native would be the easiest way for me to get started but it feels too much like work and I am kind of tired of js/npm dependencies and build tools. One nice thing about staying in Apple’s ecosystem is that everything has really good documentation and feels more polished.
It is amazing how having your own kids changes everything.
I love my my dog and because of him I love almost all dogs. I hated leaving him home, so much, that I would not go to restaurants that don’t let dogs in patio. (With Whiskey Cake being notable exception). Every grocery trip, I would buy him a new toy, many times had arguments with wife because he had too many toys. Every vacation we would have huge argument because I wanted dog friendly vacation where we can take our dog.
I am not sure how I found this book by Erik Dietrich. Maybe Google or Amazon recommended it. But I found it very inspiring. There are so many things in it that I agree with and so many new things that I am still having hard time believing.
As a developer, who is having a hard time figuring out his career, this book provided an interest perspective. The basic idea in it is that in any big corporation, developers are unlikely to find fulfilment. They may truly believe in their employer’s mission and try to climb corporate ladder. When they do that they will get stuck in middle management. They will keep working hard, hoping to move on to executive roles but very few would do by believing and hard work alone.
One of most common technology that new professional developers struggle with is git
.
Many junior developers are eager to start using all of the powerful commands of git
and usually end up getting more confused.
Here are a few commands that I recommend to anyone learning git
for the first time:
This downloads entire git repo from a remote server, usually. You will get all revision history and branches.
Ever since I bought iPad, I have tried to make it my main computing device. I love the form factor. I love many apps on it. I am have really started to enjoy many photography apps on it. Touch screen makes a lot of sense for photo editing. Snapseed, Apple Photos, Affinity Photo are my favorite photo apps on the iPad. But it has been hard to incorporate it in my photography workflow.
I use 13-inch MacBookPro for personal projects and 15-inch for work. My personal MBP would be last traditional laptop, hopefully. Since most of my work can easily be done on Linux VPS. I have been using 10.5-inch iPad Pro with Blink shell for most my side projects. I like the form factor of iPad Pro and I am getting better at Linux administration. Now I am also setting up Docker images so I can bring up new images as needed.
<a href="https://www.youtube.com/watch?v=MjaWIyoRTP8">https://www.youtube.com/watch?v=MjaWIyoRTP8</a>
Occasionally, when people find out I am a programmer, they ask me if I will build them a website or an app on the side. As I spend all day programming at my work, I rarely have motivation to continue programming after work.
However, talking to most people, I realize they don’t need a programmer; most of their needs can be met by a simple SaaS solution. Recently, I directed a few friends to WordPress.com, SmugMug, Shopify, etc. They all were happy with the results and ease of use. Also I am glad they talked to me because one guy was ready to spend a few thousands on a developer for a WordPress-based site.
Managing WordPress can get time consuming. I have tried to move to static website several times but kept going back to WordPress. But there are several advantages of static sites generators that I finally moved for good. I am also advising a lot of my clients to use Hugo especially when they know that they will rarely ever update their sites.
Here are some of main advantages of Hugo (or other static site generators) vs WordPress and other CMS.
I finally bought 10.5” iPad Pro (Affiliate Link). It was mostly an impulse purchase. When first I started to use iPad, it felt blah. It is hard to find good apps or what apps you might want to try out.
My main goals with iPad was to have a really small laptop replacement. So I was hoping for a decent code editor. There are some code editing apps but there is no way to try them out before purchasing. So I am spending a lot of time reading reviews before I purchase any app.
Running unit tests in Laravel, I was getting this error:
ReflectionException: Class Tests\Unit\Symfony\Component\HttpKernel\Exception\NotFoundHttpException does not exist
The issue was missing root backslash, make sure you have expected exception like:
$this->expectException(\Symfony\Component\HttpKernel\Exception\NotFoundHttpException::class);
As a developer, I am lucky that I get to work from home as needed. But I have never been 100% remote; Lately, I have been reading a lot about working remotely, remote first companies, Digital Nomad lifestyle etc. This is some resources that I have found useful so far:
The Ultimate Guide to Working Remotely - I haven’t gone through whole guide yet but so far it has been very informative.
I upgraded PHP to version 7.0 on Ubuntu box. Running php -v
on shell would show it as version 7.0. But Apache was still using PHP 5.6. I tried various methods to update settings for Apache but nothing worked until I issued following commands:
sudo a2dismod php5.6
sudo a2enmod php7.0
sudo service apache2 restart
After 3 years, I am using Laravel again at work. Laravel has extensive documentation but sometimes it can be a bit verbose. Here are command to get you started as soon as possible. This assumes pretty much fresh install of MacOS.
Check the official site for latest command
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install homebrew/php/php7
brew install mariadb
Set MariaDB to start as service at the end of installation.
My biggest takeaway from this book was that most people start business to create a job for themselves. For example, a person who enjoys baking may start a cake shop. The problem with this approach is that one is working in the business, not on it. The right way to start a business is with a goal of eliminating one’s job. For example, the person above should figure out a way to hire someone else to do baking.
I learned of Mark Manson through his blog, especially this post, 7 Strange Questions That Help You Find Your Purpose. Since then I have been on and off following his blog. He usually has a lot of good advice, so finally I decided to get his book. Makes it easier to have all information in one place.
I had no idea what Subtle Art of Not Giving a F*ck was about. It was an impulse purchase, perhaps to support his blog. It turns out to be a really good book. As a semi-regular reader of his blog, I sort of knew what his philosophies were. Still it was good to read everything in one place.
I wasn’t sure what to expect when I picked up “The War of Art” by Steven Pressfield. It shows up on Hacker’s News and other entrepreneurs’ forums regularly as a recommended reading. Steven Pressfield is a novelist but this book is popular reading for anyone who is pursuing a goal.
The author’s main point is that the most important and the hardest thing is doing. Weather that be sitting down at desk to write a novel or software. Once you are at your desk, or at your office, the hard part is done. This can apply to anything; fitness, painting, photography, etc.
How to Fail at almost Everything but still Win Big by Scott Adams (affiliate link) comes up on Hackers’ News a lot. Finally, I had a chance to read it.
This is a little different kind of book compared to my regular reads about ultra-successful business titans. I had no idea who Scott Adams was until I heard about this book. He created Dilbert comic. He gave very down to earth perspective on how he achieved success in this book.
SELECT
w1.website_id,
w1.name as website_name,
s1.store_id,
s1.name as store_name,
p1.entity_id as product_id,
p1.sku,
pname.value as product_name,
url.value as url_path,
small_image.value as small_image,
msrp.value as msrp_price,
price.value as price,
p1.created_at as product_created_at,
p1.updated_at as product_updated_at,
visibility.value as visibility,
pstatus.value as status,
case
when
(pstatus.value = 1
and visibility.value > 1 )
then
1
else 0
end as enable_flag,
c1.entity_id as category_id,
cname.value as category_name,
c1.parent_id,
c1.created_at as category_created_at,
c1.updated_at as category_updated_at
FROM
catalog_product_entity p1
inner join
eav_attribute p_attr ON p1.entity_type_id = p_attr.entity_type_id
and p_attr.attribute_code = 'name'
inner join
catalog_product_entity_varchar pname ON pname.entity_id = p1.entity_id
and pname.attribute_id = p_attr.attribute_id
inner join
eav_attribute p_attr2 ON p1.entity_type_id = p_attr2.entity_type_id
and p_attr2.attribute_code = 'url_path'
inner join
catalog_product_entity_varchar url ON url.entity_id = p1.entity_id
and url.attribute_id = p_attr2.attribute_id
and pname.store_id = url.store_id
inner join
eav_attribute p_attr3 ON p1.entity_type_id = p_attr3.entity_type_id
and p_attr3.attribute_code = 'small_image'
inner join
catalog_product_entity_varchar small_image ON small_image.entity_id = p1.entity_id
and small_image.attribute_id = p_attr3.attribute_id
and pname.store_id = small_image.store_id
inner join
eav_attribute p_attr4 ON p1.entity_type_id = p_attr4.entity_type_id
and p_attr4.attribute_code = 'msrp'
inner join
catalog_product_entity_decimal msrp ON msrp.entity_id = p1.entity_id
and msrp.attribute_id = p_attr4.attribute_id
and pname.store_id = msrp.store_id
inner join
eav_attribute p_attr5 ON p1.entity_type_id = p_attr5.entity_type_id
and p_attr5.attribute_code = 'price'
inner join
catalog_product_entity_decimal price ON price.entity_id = p1.entity_id
and price.attribute_id = p_attr5.attribute_id
and pname.store_id = price.store_id
inner join
eav_attribute p_attr6 ON p1.entity_type_id = p_attr6.entity_type_id
and p_attr6.attribute_code = 'visibility'
inner join
catalog_product_entity_int visibility ON visibility.entity_id = p1.entity_id
and visibility.attribute_id = p_attr6.attribute_id
and pname.store_id = visibility.store_id
inner join
eav_attribute p_attr7 ON p1.entity_type_id = p_attr7.entity_type_id
and p_attr7.attribute_code = 'status'
inner join
catalog_product_entity_int pstatus ON pstatus.entity_id = p1.entity_id
and pstatus.attribute_id = p_attr7.attribute_id
and pname.store_id = pstatus.store_id
inner join
catalog_category_product ccp ON ccp.product_id = p1.entity_id
inner join
catalog_category_entity c1 ON c1.entity_id = ccp.category_id
inner join
eav_attribute c_attr ON c1.entity_type_id = c_attr.entity_type_id
and c_attr.attribute_code = 'name'
inner join
catalog_category_entity_varchar cname ON cname.entity_id = c1.entity_id
and cname.attribute_id = c_attr.attribute_id
and pname.store_id = cname.store_id
inner join
catalog_category_product_index store1 ON store1.product_id = p1.entity_id
and store1.category_id = c1.entity_id
inner join
core_store s1 ON store1.store_id = s1.store_id
inner join
core_website w1 ON s1.website_id = w1.website_id
I have been playing with OpenShift for past several hours. It looks great. But a while back I started to get 503 Internal Server error.
When I checked logs using rhc tail , I saw this error: Layer 7 Wrong Status, Invalid Response 404.
I spent an hour or so troubleshooting. Turns out the issue was Netbeans had added src/main/web/app/WEB-INF/jboss-web.xml
when I ran the application locally on my machine. I committed this file, thinking I might need it. Deleting it from repo fixed the issue.
if ($num == (int) $num) {
// It's whole
} else {
// It's not
}
/**
* Cleans up multi-dimensional arrays.
* 1st dimension is a simple index
* 2nd dimension includes the desired keys
*
* @param mixed $array
* @param mixed $keysToInclude
*/
public function cleanUpArray($array, $keysToInclude) {
$returnArray = array();
$i = 0;
foreach($array as $item){
foreach($keysToInclude as $key){
$returnArray[$i][$key] = $item[$key];
}
$i++;
}
return $returnArray;
}
The technical term is 5/5 Cadence (5 seconds up, 5 seconds down). I tried this for the first time on Sunday, it is really intense. Momentum is not there to help you. You will feel every part of your muscle throughout the motion.
Tim Ferris showed a simple formula to figure out what should be the starting weight to workout with. Simply do regular sets. If you can do 5 rep, wait a minute & then increase the weight by 10 lb or 10%. When you fail a set, then take 70% of last 5 rep set and use that weight for slow motion workout. You can figure out weights to use by trial and error. This should prevent injuries or wasted time.
Are you tired of checking data in your code before inserting? Well MySQL procedures are here to rescue. This simple procedure shows how you can do that:
CREATE PROCEDURE ` update_insert_user ` ( IN uid2 int )
BEGIN
DECLARE last_login2 DATETIME;
SELECT ` last_login ` INTO last_login2 FROM ` user ` WHERE ` uid ` = uid2 LIMIT 1 ;
IF last_login2 IS NULL THEN
INSERT INTO ` user ` ( ` uid ` , ` last_login ` ) values (uid2, now());
ELSE
UPDATE ` user ` SET ` last_login ` = now() WHERE ` uid ` = uid2 LIMIT 1 ;
END IF ;
END
Just spent 3 hours debugging a session bug in my webapp. CodeIginter was creating a brand new session with each page load. The issue was a misconfiguration with my config file.
Fix was simple, in /application/config/config.php
, make sure correct domain is set for $config['cookie_domain']
.
Query Saving is a feature of CI’s database class that stores the results of every query in memory until the controller is finished executing. As it turns out, in version 1.6.0, the ability to turn this off was added. The addition of the save_queries variable is listed in the Change Log, but as of the latest release of 2.0.0 last week, it still hasn’t made the documentation.
$this->db->save_queries = FALSE;
I tried to login to my server tonight but kept getting following error message:
ssh_exchange_identification: Connection closed by remote host
The fix was simple, at least if you have access to server via cPanel. Just restart sshd service via cPanel/WHM.
I am not sure if this works anymore or not. I don’t use Pentaho now but this post seems popular, so leaving it here for now. Contact me if this is incorrect and needs to be corrected or taken down.
C:\pentaho-demo\pentaho-solutions\system\publisher_config.xml
. Add a password for publishing reports.C:\pentaho-demo\pentaho-solutions\samples
..xaction
and .properties
files under reporting.C:\pentaho-demo\jboss\server\default\lib
. I used Oracle 10g driver, it is called ojdbc.jar
.C:\pentaho-demo\jboss\server\default\deploy\pentaho.war\jsp
.start-pentaho.bat
located under C:\pentaho-demo. For example, set JAVA\_HOME=C:\Program Files\Java\jdk1.5.0\_11
start-pentaho.bat
.C:\pentaho-demo\jboss\server\default\deploy\pentaho.war\WEB-INF\web.xml
. Search for base-url
and add your server’s ip.C:\pentaho-demo\jboss\server\default\deploy
and open newly created data source file named something like ???????-ds.xml
.oracle.jdbc.driver.OracleDriver
Using sar, you can also collect all performance data on an on-going basis, store them, and do historical analysis to identify bottlenecks.
via 10 Useful Sar (Sysstat) Examples for UNIX / Linux Performance Monitoring.