A site devoted mostly to everything related to Information Technology under the sun - among other things.
Friday, January 10, 2025
Thursday, January 9, 2025
AI in Molecular Genetics
https://neurosciencenews.com/ai-human-cell-genetics-28333/
The paper in Nature is open-access and may be found @ https://www.nature.com/articles/s41586-024-08391-z
Wednesday, January 8, 2025
Tuesday, January 7, 2025
AI for CRISPR [Brave New World]
Tables and Columns Cross-Reference Spreadsheet
I had found it efficient to create a cross-reference spreadsheet for tables vs. columns as well as one for columns vs. tables in a relational database during the course of executing my software development work. It enabled me to quickly look up tables and columns without having to connect to my database and search for the occurrences of a column (sometimes in multiple tables) and other, similar searches.
The basic idea was to use a SQL query to get records of tables and columns (with their properties) of a relational schema and to then use the MS Excel Pivot tables to create two tabs based on that those records; one for Tables vs. Columns and one for Columns vs. Tables.
I have posted a sample here:
Tools/Tables and Columns Cross-Reference.xlsx at main · Crimson-Reason/Tools
Monday, January 6, 2025
Job Diaries for Performance Reviews
During my career, I found it useful to maintain an annual job diary in order to keep track of what I had done during the course of that year. I often forgot what I had done, which might had caused me to come across as a weaker performer than I actually was, during the annual performance reviews.
Below I have copied an example of a job diary for an organization that uses the "Management by Objective" method of conducting performance reviews and the IT work is done in accordance with the Agile Manifesto.
Goal 1: Barring
legitimate exceptions, achieve 100% on-time delivery of all organizational
milestones, mandatory training as well as following policies (travel, expense
reporting, accurate time tracking, etc.by dd/mm/yyyy
o
Completed
the following Mandatory courses by 01/08/yyyy:
- Code
of Conduct Training
- Cyber
Security Training
- Safety
Training
o
Completed
the following Mandatory GM courses on 01/09/yyyy:
- Export
Compliance
GOAL 2: Align to Development
Methodology
o
Attended
daily Scrum Stand-up as well as other Scrum ceremonies (Backlog Grooming,
Retrospective, etc.) for ABC Products
o
Attended
daily Scrum Stand-up as well as other Scrum ceremonies (Backlog Grooming,
Retrospective, etc.) for XYZ Product
o
Updated
the tasks in ADO/Jira/Jira Align.
o
Added
new Backlog items to XYZ Backlog.
GOAL 3:
Development Execution
·
Delivered the following Stories for ABC and XYZ
products
ID |
Title |
446515 |
The
workflow status poll is changed to a request-when-needed completed |
447382 |
<Technical>
Optimize XYZ Queries with Indexes on XYZ database. |
466907 |
Design Ingestion architecture for Quantum
Active Charts |
470133 |
Conduct
Knoledge Transfer for UVW product |
GOAL 4:
Operational Agility (DevOps)
·
Worked on the resolution of the defect ticket
ABC123.
·
Received
ADO/GitHub/Jenkins - Build Engineer Training on 08/16/yyyy.
·
Watched
the video recording of ABC product presentation on 09/03/yyyy.
·
Resolved on the following Bugs
ID |
Title |
435561 |
Summary
reports sometimes show graphs in the incorrect chart mode |
435150 |
Get
status for WF-12345 workflows generates NPE |
443681 |
GC
Creation Step Manipulation - REQUEST <-> Action |
438684 |
Intermittent
enum list disappearing during UI editing |
GOAL 5: Software
Craftmanship
·
Executed 56 of the total 80 test
cases for XYZ Release 3.5.1 - 9/yyyy.
·
Worked on resolving security scanning issues
that were marked Critical an High in XYZ Core.
·
Participated in Code Reviews as part of the
development process.
·
Worked on using JanusGraph database for loading high-throughput
data.
·
Installed and configured AresDB - the docker
image is called aresdb - on qwerty.man.mydomain.com
host and documented the setup in the Wiki.
·
Wrote a Jupyter simulation in “R” to estimate
the effort of rewriting Z-Tools under various scenario and shared the results
with the development team.
Individual Development Plan Goals:
Goal 1: AI/ML Training
·
Attended
the NVIDIA developer days from 08/02/yyyy & 08/03/yyyy.
·
Completed
the Web-based training course Cloud Native Java Core on 09/27/yyyy.
·
Completed
the Web-based training course Data Classification and Machine Learning on
07/31/yyyy.
·
Completed
the Web-based training course Developing AI and ML Solutions with Java: AI
Fundamentals on 07/24/yyyy.
·
Completed
the Web-based training course Introduction to Artificial Intelligence on 07/23/yyyy.
Goal 2: Develop New
IT Skills
Spring MVC Framework Training
o
Completed
the Web-based training course Java Spring: Spring Application Basics on 02/01/yyyy.
o
Completed
the Web-based training course Java Spring: Creating Web Applications Using
Spring MVC on 02/08/yyyy
o
Completed
the Web-based training course Java Spring: Adding Security Using the Spring
Security Project on 02/13/yyyy.
o
Completed
the Web-based training course Java Spring: Working with Data in Spring on
02/25/yyyy.
o
Completed
the Web-based training course Java Spring: Annotation Configuration and Java
Configuration in Spring on 03/12/yyyy.
o
Completed
the Web-based training course Java Spring: Aspect-Oriented Programming Using
Spring AOP on 03/18/yyyy.
Things I have done outside of my Goals
o
Submitted
Intellectual Property item IP-123 to the Intellectual Property Office on 11/14/yyyy.
o
Submitted
Intellectual Property item IP-456 to the Intellectual Property Office on 18/09/yyyy.
o
Presented
the talk: “Material Sustainability Index” 08/09/yyyy.
o
Attended
Town Halls by my leadership structure as they were announced.
Things “above and beyond” the
average bear
None during this period.
Sacrifices I have made / am making
for GM
None during this period.
The way I used this job diary was to have it printed and ready to discuss with my manager during performance review and also to attach it to such online Employee Management systems as Workday.
I have also copied an example of a job diary for an organization that does not uses the "Management by Objective" method of conducting performance reviews. This job diary has a simpler structure and is more suitable for consumption by an individual performer's manager than a machine - say Workday.
·
Context
for what you did / are doing
o
My major billable activity has been with the BBB Accounts in developing and supporting – within an Agile DevOps paradigm – 2
be-spoke business applications
o
I also led and implemented the changes in these
applications, the virtual servers (Windows Servers and Database Servers), and
the email configurations to support the separation of IT environments over
several months.
o
I volunteered & developed very quickly a
Windows .Net client application to read a PLC log file on a network folder and
parse the content and display that content in a usable format. This was called Diagnostic Tool and was
billable.
·
Enough
detail for your manager to understand the complexity, risk, impact, etc.
o
ABD and CVB are 2 Web applications written on
Microsoft .Net stack but each uses a different architecture – ABD is using
Silverlight for presentation layer while CVB uses standard
HTML/JavaScript. ABD suffers from the
fact that MS Silverlight is no longer an active technology and has been made
obsolete.
o
My tasks have been to add new features to ABD
(new reports and UI features) as well as Change Request (CR) functionality to CVB
for this review period; which required integration between ABD and CVB – even
though these applications were not initially conceived of as being part of the
same semantic domain; interoperability has to be retrofitted into both of them. I completed this task of CR functionality and
their integration on MM/DD/YYYY when we went into production with all these
changes.
o
I also helped the Account staff in (Poland,
Costa Rica, US, Mexico, Lithuania) with trouble-shooting of home-grown MS Excel
tools as the business process changed.
o
I completed the initial iteration of the “Invoice
on Line” (IoL) application working with the Product Owner. More on this below.
·
Things
you do that are ‘above and beyond’ the average bear
o
The location of the resource who had been hired
to develop the IoL application was flooded and remained so for many weeks. I decided, on my own initiative, to initiate
the development since I did not have a lot on my plate. My intent was to develop enough of the
application framework and environment to hand-off a stable starting point when
waters had receded, and the site came online.
This I proceeded to accomplish; however, by the time we were ready for
hand-off, the entire project was cancelled since another group was selected to
develop IoL.
o
In order to meet an informal milestone
(presentation to DDD customer) for Diagnostic Tool set for December 24th,
I worked during the preceding weekend to imitate the development of this tool.
o
Participated in reviews of Intellectual Property
Disclosure on quarterly as well as Ad-Hoc basis – including attending quarterly
reviews.
o
Worked with R&D Seminar staff and vendors to
present relevant and timely educational seminars on topics such as PowerShell,
AngularJS 2.0, Python under the Software Engineering Profession Group.
o
I interviewed contractors during February,
August, September.
o
I joined others and reviewed the performance
issues of SSS and recommended options for improving its performance.
o
U.S. patent no. 123 was granted on dd/mm/yyyy.
·
Things
you do to advance your skills
o
Worked on developing skills in MS SQL Server
Analysis Services by creating prototype project on invoice data.
o
Worked on developing skills in MS Azure by
attending online seminars.
o
Worked on developing skills in Windows
PowerShell by attending R&D Seminars and reading MSDN Magazine articles.
o
Worked on developing understanding of broad
spectrum of technologies relevant to BI by reviewing IP submissions.
o
Reading MSDN magazine, Embedded Programming
Magazine, etc. to keep up with technologies and changes they bring.
o
Attended introductory training in GE PREDIX (IoT
analytics platform built on Amazon Web Services) - four days, 4-hour sessions.
·
Things
you do outside of your project
o
I mentor others through Mentoring or in an
Ad-Hoc manner.
o
I post topics that I think could be of interest
to a wider audience on Yammer. From time
to time, I receive positive feedback that someone else has found that item of
interest.
o
I submitted Intellectual Property disclosure on
the topic of TTT.
o
Attended Town Halls – time permitting
o
Helped with interviewing of contractors.
o
Helped with pre-sales activities as needed.
o
Posted a solution brief on Yammer (as well as
sharing with other team members through email) on business development ideas
around PREDIX, Industry Frameworks in order to begin a conversation around
developing IIoT analytics offerings
o
Worked with John Doe, Sally Business to help
develop the SOW for the XYZ assessment.
o
Attended the Data Management Technical Council
o
Participated in reviews of Intellectual Property
Disclosure on quarterly as well as Ad-Hoc basis – including attending quarterly
reviews.
o
Worked with R&D Seminar staff and vendors to
present relevant and timely educational seminars on topics such as PowerShell,
AngularJS 2.0, etc. under the Software Engineering Profession Group.
o
I participated in the Recognition system by sending
recognitions or responding to recognition requests from others.
o
I Participated with members of the ABC Account
in how to respond to the XYZ Business challenge and documented my own ideas and
shared with the team.
o
Saw a request for assistance on Yammer and
shared a Word Pre-Engagement Questionnaire for Exchange 2013 with others so
that they won't start to build it from scratch.
o
Met, over several meetings, with the inventors
of the VVV startup – new breed of search engine for data analytics - to help
them elucidate their invention in a form suitable for patent submission to
USPTO.
·
Sacrifices
you have / are making for the Company
o
From time to time I worked during the weekend or
late at night to support Separation activities in order to minimize service
disruption to users’ community.
o
Worked on the weekend to get Diagnostic Tool in
front of the customer and help demonstrate that we are capable of solving their problems.
These job diaries are useful by, first of all, establishing and defining your contributions during the entire year and also by supplying your managers with the justification to obtain any monetary rewards or perks that are available.
I had the habit of updating them twice a month at least just so that I will not forget anything.
I also used them in looking for new internal position in order to establish my accomplishments.
In sum, it is very hard to argue against documented activities that could all be traced back and validated.
Friday, January 3, 2025
Oddity: AI bot dishes dirt on Meta creators [Brave New World]
From Grauniad of the UK
Instagram profile of ‘proud Black queer momma’, created by Meta, said her development team included no Black people |
Wednesday, January 1, 2025
Digital Holography for 3D Printing - A Proposal
Solution
In lieu of a CAD model of the object, a digital hologram of that object may be used. In digital holography the numerical reconstruction of object data is from the recorded measurement data, in distinction to an optical reconstruction which reproduces an aspect of the object. Digital holography typically delivers three-dimensional surface or optical thickness data. There are different techniques available in practice, depending on the intended purpose. See, for example, http://en.wikipedia.org/wiki/Digital_holography .
By recording the phase as well as intensity of light wave, holography allows reconstruction of the images of three-dimensional objects since the hologram contains all the information needed to reconstruct an image (real or virtual) of these objects in 3 dimensions. The conventional process of holography uses photographic plates. Note that in this approach to holography, real-time process is not feasible unless one uses photo-refractive and other nonlinear optical materials.
The first ingredient of this disclosure is the construction of a 360-degree digital hologram of an object. There are multiple known ways of creating a 360-degree hologram using a single reference beam such as Conical Denisyuk Holograms, Cylindrical Denisyuk Holograms, 360-degree Flat Holograms, 360-degree Transmission Holograms.
The key requirement for this disclosure is that the holographic interference pattern is digitally sampled by CCD/CMOS camera and the image is numerically reconstructed by applying the results from the diffraction theory. This is pre-existing art and various research teams have accomplished this task. Please see the http://www.springer.com/physics/optics+%26+lasers/book/978-0-387-31340-5 and the references therein.
There is another method, called Computer Generated Holography (CGH), for generating holographic interference patterns. In this method a holographic image can be generated; i.e. by digitally computing a holographic interference pattern from digitally captured images. This computed pattern can then be printed onto a mask or film for subsequent illumination by suitable coherent light source.
Both of these methods lead to the same outcome, the creation of a digital hologram.
These approaches to the construction of a digital hologram offers a number of significant advantages such as the ability to acquire the images rapidly, the availability of both the amplitude and the phase information of the optical field and the versatility of the processing techniques that can be applied to the complex field data.
Note that because in digital holography, the phase of the optical field, as well as the amplitude, results directly from the numerical diffraction of the optically recorded holographic interference pattern, one can have images of optical thickness profile with a precision of a fraction of a wavelength.
Now, the next step.
After the construction of the
digital hologram, it can be made to numerically interact with a numeric coherent
reference beam of using computer software and the theory of Wave Optics. That is, a 3D digital image of the object can
thus be created in the computer memory that contains both phase and intensity
information. This reconstructed digital image
can then be fed, via a suitable control mechanism, to the laser printer heads
of the 3D printer and guide the construction of the 3D part.
Possible Modifications
A different approach for using holograms in 3D printing is to forego the digitalization step all together and to capture 360-degree hologram of the object on holographic film.
Yet another approach is to record the digital hologram on holographic film and use the holographic film to create an image.
Either way, the next, using the reference beam and a converging lens, one can create a real image of the object in space within the 3D printer chamber. This is called a pseudoscopic 3D image; please see https://www.youtube.com/watch?x-yt-ts=1422327029&v=_Y9rmizlrg8&x-yt-cl=84838260
Printer heads, in this embodiment, like an ink-jet printer head, would spew out a suitable polymeric material. The jets would be directed at the location of the real pseudoscopic image that is created via the interaction of the laser reference beam and the hologram. The real image would then sinter the polymer material. Depending on the geometry of the 3D image, the printer-heads could move up-down or down-up.
Yet another approach is to record the digital hologram on
holographic film.
Useful Links
- .Net Code Samples
- AJAX for MS Developers
- C# Tutorials
- Channel9
- Code Search Engine
- Douglas Crockford's JavaScript Site
- DZONE
- Google Code
- IBM Developer Works
- IBM Public Skunkworks
- Is This Thing On?
- Java tutorials, hints, tips
- Jon Udell Weblog
- Knowing .Net
- Massive List of Information for Programmers
- MIT Courses
- MSDN
- Simple-Talk
- SUN Java
- That Indigo Girl
- UC Berkeley Lectures
- Yahoo UI Library
Topics
- 3-D Printing (14)
- AI (244)
- Art (103)
- Article (122)
- book (11)
- books (83)
- Business Intelligence (18)
- Careers (76)
- Cloud Computing (19)
- Cognition (13)
- Complexity (8)
- Computer Science (20)
- COVID-19 (1)
- Cyber-security (79)
- Data Analysis (39)
- Data Management (19)
- Data Visualization (30)
- Design Thinking (1)
- Embedded Tools (34)
- Gadgets (75)
- Games (32)
- Google (7)
- Hardware (40)
- High Performance Computing (32)
- History of Mathematics (1)
- Humor (75)
- Inetrview (7)
- Intelligent Transportation (17)
- IoT (15)
- IT as Metaphor (2)
- Magazine Subscription (8)
- Mathematics Tools (4)
- Microsoft Platforms (22)
- Microsoft Tools (64)
- Mobile Computing (2)
- Motto (3)
- Network Tools (12)
- News (127)
- Offshoring (6)
- Open-Source Sofware (7)
- Outsourcing (1)
- Philosophy (5)
- picture (1)
- Pictures (147)
- PLM (5)
- Programming Languages (74)
- Quantum Computing (5)
- Reports (52)
- RFID (3)
- Robo (2)
- Robots (104)
- Science (59)
- Scientific Computing (17)
- Search Tools (7)
- Semantic Networks (11)
- Simulations (34)
- Social Computing (25)
- Software Architecture (27)
- Software Development (152)
- Software Testing (4)
- Software Tools (270)
- Some Thoughts (52)
- Speech (6)
- Standards - Telematics (9)
- Transportation (14)
- Video (11)
- Visualization (10)
- Web Site (226)
- Web Site for Science (48)
About Me
- Babak Makkinejad
- I had been a senior software developer working for HP and GM. I am interested in intelligent and scientific computing. I am passionate about computers as enablers for human imagination. The contents of this site are not in any way, shape, or form endorsed, approved, or otherwise authorized by HP, its subsidiaries, or its officers and shareholders.
Blog Archive
- January (16)
- December (19)
- November (11)
- October (10)
- September (7)
- August (11)
- July (6)
- June (11)
- May (12)
- April (7)
- March (5)
- February (1)
- January (3)
- December (1)
- October (2)
- September (4)
- August (1)
- July (3)
- June (2)
- April (2)
- March (2)
- February (2)
- January (10)
- December (1)
- October (1)
- September (1)
- August (4)
- June (1)
- April (6)
- March (2)
- February (4)
- January (3)
- December (1)
- October (1)
- June (3)
- April (1)
- March (1)
- February (1)
- January (6)
- December (8)
- November (3)
- October (5)
- September (2)
- August (3)
- July (6)
- June (2)
- May (7)
- April (19)
- March (22)
- February (6)
- January (5)
- December (4)
- November (4)
- October (9)
- September (3)
- August (7)
- July (3)
- June (2)
- May (6)
- April (4)
- March (8)
- February (5)
- January (18)
- December (6)
- November (10)
- October (6)
- September (7)
- August (2)
- July (4)
- June (5)
- May (8)
- April (5)
- March (9)
- February (3)
- January (7)
- December (2)
- November (1)
- October (3)
- September (5)
- August (10)
- July (8)
- May (5)
- April (8)
- March (9)
- February (6)
- January (11)
- November (6)
- October (9)
- September (5)
- August (13)
- July (9)
- June (9)
- May (8)
- April (4)
- March (2)
- February (8)
- January (9)
- December (3)
- November (7)
- October (9)
- September (7)
- August (4)
- July (2)
- June (4)
- May (7)
- March (4)
- February (2)
- January (1)
- December (2)
- November (1)
- October (6)
- September (1)
- August (1)
- July (4)
- June (1)
- April (1)
- March (1)
- February (1)
- January (2)
- December (5)
- October (4)
- August (2)
- July (3)
- June (8)
- May (7)
- April (5)
- March (9)
- February (3)
- January (7)
- December (4)
- October (7)
- September (5)
- August (5)
- July (8)
- June (6)
- May (9)
- April (5)
- March (4)
- February (5)
- January (6)
- December (12)
- November (7)
- October (5)
- September (4)
- August (19)
- July (12)
- June (4)
- May (8)
- April (5)
- March (15)
- February (5)
- January (9)
- December (14)
- November (6)
- October (12)
- September (2)
- August (10)
- July (8)
- June (8)
- May (11)
- April (10)
- March (10)
- February (9)
- January (20)
- December (16)
- November (9)
- October (25)
- September (24)
- August (12)
- July (18)
- June (20)
- May (13)
- April (29)
- March (26)
- February (14)
- January (17)
- December (17)
- November (9)
- October (32)
- September (27)
- August (27)
- July (11)
- June (22)
- May (25)
- April (33)
- March (33)
- February (28)
- January (38)
- December (12)
- November (39)
- October (28)
- September (29)
- August (29)
- July (18)
- June (27)
- May (17)
- April (23)
- March (40)
- February (31)
- January (6)